Zenn Dev Easy Easy Articles 252d4d1a412ce4
エンジニア達の「完全に理解した」Talk #70 イベントレポート
- URL: https://zenn.dev/easy_easy/articles/252d4d1a412ce4
- 日付: 2026-06-26
- Tier: Tier 3
- 要旨: 第70回イベントレポートで、2025年10月開催。GitHub ActionsからGoogle Cloud(Cloud Run)への認証にWorkload Identity Federation(WIF)を使い、OIDCトークンを活用して秘密鍵なしの一時的な認証が可能になる手順が解説された。従来のサービスアカウントキー(JSON)方式が抱える漏洩リスクを根本的に解消できる点が強調されている。Goの標準ライブラリregexpがRE2ベースで先読み(lookahead)を意図的にサポートしていない理由についても、ReDoS攻撃を防ぐために最悪計算量を線形に保つという設計思想から詳細に解説されており、予測可能なパフォーマンスを機能より優先するというRE2の哲学が明示された。
詳細
LT1: GitHub Actions → Google Cloud デプロイの認証改善
- 従来方式: サービスアカウントキー(JSON)をリポジトリに保存 → 漏洩リスク高
- WIF(Workload Identity Federation): GitHub ActionsのOIDCトークンをGoogle Cloud側で検証し、一時的な認証トークンを発行
- 設定手順: Workload Identity Pool / Provider 作成 → サービスアカウントへのインパーソネート許可 →
google-github-actions/authを呼び出す - リポジトリ・ブランチ単位での細かい権限制御が可能
LT2: LTのコツと継続の心構え(74週連続登壇の経験より)
- 目的を1つだけ決める、欲張らない
- スライドより先に台本で流れを確認する
- 「DDD(Deadline Driven Development)」: 登録してから内容を考える
- チェスプロが5秒と30分で打つ手が86%一致するという研究を引き合いに、最初の直感を信じる
LT3: GoのregexpとRE2の設計思想
- Go標準regexp: GoogleのRE2アルゴリズム準拠、先読み・後読みを意図的に非サポート
- 先読みアルゴリズムの計算量:
a?のようなオプション要素がN個あると最悪2^N通りの分解 → 指数爆発 - RE2の最優先設計方針: 入力長に対して線形時間で動作すること
- ReDoS(正規表現DoS)攻撃をアーキテクチャレベルで防止するため、機能より予測可能なパフォーマンスを選択