Same OIDC pattern, different IAM names
GCP — Workload Identity Federation
- Create a Workload Identity Pool.
- Add an OIDC provider for GitHub: issuer
https://token.actions.githubusercontent.com. - Create a Service Account; grant it the deploy permissions.
- Bind the SA to the pool with attribute condition matching your repo.
- In CI:
google-github-actions/authaction.
Azure — Federated credential on a Service Principal
- Create an App Registration / Service Principal.
- Under Federated credentials, add an entry for GitHub Actions with subject
repo:my-org/my-repo:ref:refs/heads/main. - Grant the SP role assignments (Contributor, AcrPush, etc.).
- In CI:
azure/loginwithclient-id,tenant-id,subscription-id.
Deploy targets
- GCP: Cloud Run, GKE, App Engine, Cloud Functions, Cloud Storage.
- Azure: App Service, AKS, Container Apps, Functions, Static Web Apps.