The payoff is deliberately boring. The Storage API sees
ci-deployer@authlab-lab.iam.gserviceaccount.com and checks its IAM roles like any other
caller; it never saw the OIDC token, or that federation happened at
all.
Call sequence
curl 'https://storage.googleapis.com/storage/v1/b?project=authlab-lab' \
-H 'Authorization: Bearer ya29.c.SYNTHETIC-sa-access-token-not-valid-for-use' { "kind": "storage#buckets", "items": [ { "kind": "storage#bucket", "name": "authlab-lab-artifacts", "projectNumber": "1234567890", "location": "US", "storageClass": "STANDARD" } ] }
Who GCP sees
ci-deployer@authlab-lab.iam.gserviceaccount.com
Compare with the workforce track, where the same class of token meets a very different validator.