Enabling keyless authentication from GitHub Actions
仕組み
1. OIDCトークンの発行
GitHub Actionsのワークフローが実行されると、GitHubはそのワークフロー専用の短命なOIDCトークン(JWT)を発行する このトークンには、リポジトリ名やブランチ名などの情報が含まれている
2. Google Cloudへのトークン提示
3. トークンの検証と属性マッピング
Google CloudはOIDCトークンを検証し、トークン内の情報とGoogle Cloud側で設定した条件(属性マッピング)を照合する サービスアカウント名などが漏れても他のレポジトリやブランチでは動かないように設定しておけばよい 4. 一時的な認証情報の発行
条件を満たしていれば、Google Cloudは指定されたサービスアカウントの一時的な認証情報(アクセストークン)を発行する
このアクセストークンは短時間(通常1時間)しか有効でなく、長期的なクレデンシャルファイルの管理が不要となり安全
関連