Ch 1 · DevOps org design
Mechanism
06 / 32

What crosses the project boundary: a token, never a key.

No long-lived credential ever leaves the tooling project — only a short-lived, signed token plus an API call.

1
Request a tokenCloud Deploy asks for a short-lived token as meridian-deployer@meridian-cicd.
2
Token issuedSecurity Token Service returns a signed, time-limited token — no static key touched.
3
Present + check bindingIAM in meridian-prod checks: does roles/clouddeploy.jobRunner exist on this binding?
4
Deploy proceedsManifests apply to the GKE API, token attached to every call — checked every request.
If that service account's key were ever exported as a static JSON file, it would become a portable, long-lived credential good for everything the binding allows — exactly what token exchange eliminates. The same pattern reappears for Workload Identity Federation in Ch 6.