Gcloud Auth Activate-service-account | Plus

gcloud auth activate-service-account terraform-runner@prod.iam.gserviceaccount.com \ --key-file=/secrets/terraform-key.json terraform apply A common pattern: A service account in Project-A is granted IAM roles in Project-B . By activating that account locally, you can manage resources across both projects without switching user identities. The Critical Security Warning Do not commit service account key files to source control. They are root credentials. If leaked, an attacker has programmatic access to your GCP resources.

# Example: GitHub Action step - name: Authenticate to GCP run: | echo '$ secrets.GCP_SA_KEY ' > /tmp/key.json gcloud auth activate-service-account my-ci@project.iam.gserviceaccount.com \ --key-file=/tmp/key.json gcloud config set project my-project Terraform needs credentials to provision infrastructure. Instead of using application default credentials (which may be stale), you explicitly activate a service account before running terraform plan : gcloud auth activate-service-account

Think of it as a robot employee: It has an email address ( my-robot@project-123.iam.gserviceaccount.com ), specific IAM permissions (e.g., "Storage Admin"), but no login screen or CAPTCHA. The core syntax is deceptively simple: gcloud auth activate-service-account terraform-runner@prod

However, for legacy systems, on-premise servers, and any scenario where you must run gcloud with a specific robot identity, this command remains . Final Verdict gcloud auth activate-service-account is the Swiss Army knife of GCP automation. It transforms a human-oriented CLI into a machine-oriented orchestration tool. Master this command, and you master the art of reliable, secure, and repeatable cloud infrastructure management. They are root credentials