GCP Workload Identity Federation (Automated)
Overview
The Terraform configuration creates and configures the service account, assigns required organization-level roles, and establishes a secure federation link between your AWS role and Google Cloud service account for SailPoint Entro onboarding.
Terraform Onboarding
This onboarding method automates Workload Identity Federation (WIF) configuration using Terraform.
In the provided files above, use following file **tf-var-files/wif-setup.tfvars** and fill in the required fields.
Where to find the SailPoint Entro ARN: In the SailPoint Entro portal, go to Management → Accounts & Integrations → Add New Account → Google Cloud Platform, then select Workload Identity Federation as the auth method. The ARN is displayed on that screen.
The ARN format is:
Set this to false if you want to limit API enablement to the host project only (recommended if you don't have org-wide permissions).
organization_domain = "Your orgnization Domain"
project = "Your selected onboarding project ID"
region = "us-central1"
zone = "us-central1-a"
service_account_name = "Choose a name for your service account"
aws_sts_arn = "Entro Arn"
aws_account_id = "937217723901"
Running the Terraform
-
Prepare the project
For this onboarding, select an existing project to create the service account in, or create a new one.
Once selected, enable Cloud Resource Manager API for Terraform to be able to operate within this project. Similarly, enable the IAM API for the onboarding project.
-
Configure the onboarding project as your local project for gcloud cli
run
gcloud auth login --update-adc --project=<onboarding-project-name> -
Initialize Terraform
-
Plan with Variables
-
Apply with Variables
Output
After successful execution, Terraform outputs the onboarding JSON configuration. Copy this JSON and use it directly in SailPoint Entro’s GCP integration onboarding form including the brackets.
{
"universe_domain": "googleapis.com",
"type": "external_account",
"audience": "//iam.googleapis.com/projects/2756056728/locations/global/workloadIdentityPools/entro-idp-id-589/providers/entro-wip-id-589",
"subject_token_type": "urn:ietf:params:aws:token-type:aws4_request",
"service_account_impersonation_url": "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/entro-serviceaccount-wif-setup@gen-lang-client-0568456307.iam.gserviceaccount.com:generateAccessToken",
"token_url": "https://sts.googleapis.com/v1/token",
"credential_source": {
"environment_id": "aws1",
"region_url": "http://192.168.120.222/latest/meta-data/placement/availability-zone",
"url": "http://194.237.299.211/latest/meta-data/iam/security-credentials",
"regional_cred_verification_url": "https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15"
}
}