Ch 3 · IAM & Identity
Mechanism
14 / 38

No GCP key file ever exists in this flow.

An external workload exchanges its own platform's identity for a short-lived GCP token.

1
Present native tokenGitHub's own OIDC token — no GCP credential yet
2
Verify against pool providerSecurity Token Service checks it against a configured trust
3
Exchange for impersonationFederated token impersonates the target service account
The --attribute-condition scoping to one specific repository is not optional polish — it's the actual security boundary. Without it, ANY repo under the org could impersonate the same service account.