Open6
Google Cloud の Workload Identity Federation
- Pool と Provider がある
- Pool に Provider が属する
- Provider で属性のマッピングと認証制限ができる
Pool
- 外部 ID を管理できるエンティティ
- 開発環境、ステージング環境、本番環境など、Google Cloud リソースにアクセスする必要がある Google Cloud 以外の環境ごとに、新しいプールを作成することが推奨されている
Provider
- Google Cloud と IdP の間の関係を記述するエンティティ
assertion.XXXには何が使えるか
OIDCトークン(JWT)に内包されている各claimsが使えます。
attribute.NAME 省略可。最大で 50 個までのカスタム属性を定義できます。これらの属性を IAM principalSet:// ロール バインディングで使用して、特定の属性を持つすべての ID にアクセス権を付与できます。
- pool と service account を紐づける
- 属性値によって制限できる
- 制限が service account 単位と provider 単位でできる
- provider 単位のほうが柔軟に設定できる
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