Workload Identity Federation (OIDC) とは

Workload Identity Federation (OIDC) とは、GitHubやAWSなどの外部サービス(ワークロード)が、静的な認証キーを使うことなく、OpenID Connect(OIDC)を利用してGoogle Cloudなどのクラウドプラットフォームへ安全にアクセスする仕組み

そのメリット

従来の方式では、外部環境からクラウドにアクセスするために長期的に有効なサービスアカウントキーなどを発行・管理する必要がありました。OIDCを用いた連携では以下のメリットがあります。

  • シークレットレス(鍵の管理不要): 長期的な認証キーをコードに埋め込んだり管理したりする必要がなくなります。
  • 短時間有効なトークン: 外部のIDプロバイダー(IdP)から発行されたIDトークンをクラウド側に渡し、一時的で有効期間の短いアクセス権と交換します。
  • セキュリティの向上: 鍵の漏洩リスクが大幅に減り、権限も最小限に絞り込めます。

主なその仕組み

  1. 外部環境(例: GitHub Actions)で実行中の処理が、そのプラットフォームのIdPから「OIDCトークン」を取得します。
  2. クラウド側(例: Google Cloud)で事前に設定した「Workload Identityプール」と「プロバイダ」へそのトークンを提示します。
  3. トークン内の情報(リポジトリ名やブランチ名など)を検証し、許可された条件に一致した場合にのみ一時的なアクセストークンが付与されます。

具体的な活用例

  • GitHub Actions から直接Google Cloudのリソースへアクセスし、デプロイやデータ操作を行う
  • AWSAzure の仮想マシン、コンテナなどから、他クラウドのAPIを呼び出す
  • Terraform などによるマルチクラウド・インフラストラクチャの自動化