Open6

Google Cloud の Workload Identity Federation

Shunsuke SuzukiShunsuke Suzuki

https://cloud.google.com/iam/docs/workload-identity-federation?hl=ja

  • Pool と Provider がある
  • Pool に Provider が属する
  • Provider で属性のマッピングと認証制限ができる

Pool

  • 外部 ID を管理できるエンティティ
  • 開発環境、ステージング環境、本番環境など、Google Cloud リソースにアクセスする必要がある Google Cloud 以外の環境ごとに、新しいプールを作成することが推奨されている

Provider

  • Google Cloud と IdP の間の関係を記述するエンティティ
Shunsuke SuzukiShunsuke Suzuki

attribute.NAME 省略可。最大で 50 個までのカスタム属性を定義できます。これらの属性を IAM principalSet:// ロール バインディングで使用して、特定の属性を持つすべての ID にアクセス権を付与できます。

Shunsuke SuzukiShunsuke Suzuki
  • pool と service account を紐づける
  • 属性値によって制限できる
Shunsuke SuzukiShunsuke Suzuki
  • 制限が service account 単位と provider 単位でできる
  • provider 単位のほうが柔軟に設定できる
Shunsuke SuzukiShunsuke Suzuki

repository, event_name, ref, base_ref

pull request

event_name == pull_request_target
base_ref == refs/heads/main
event_name == workflow_dispatch
ref == refs/heads/main
event_name == schedule
ref == refs/heads/main

main

event_name == push
ref == refs/heads/main