This guide walks you through connecting BigQuery to Gumloop using Workload Identity Federation (WIF). Instead of per-user OAuth (which forces each teammate to reconnect whenever your GCP session-control window expires) or static service-account key files (which many security policies prohibit), Gumloop acts as an OIDC identity provider that your GCP project federates. Tokens are minted on demand and are short-lived, and no long-lived secrets are ever stored.Documentation Index
Fetch the complete documentation index at: https://docs.gumloop.com/llms.txt
Use this file to discover all available pages before exploring further.
Intended Audience: GCP administrators with permission to manage workload identity pools and service accounts (
roles/iam.workloadIdentityPoolAdmin and roles/iam.serviceAccountAdmin, or roles/owner). This setup is performed once and enables keyless BigQuery access for your whole team.Why Use Workload Identity Federation?
Keyless
No service-account key files to store, rotate, or leak. Gumloop never holds a long-lived secret for your project.
No Daily Reconnect
Federation is not tied to a human session, so session-control reauth windows never interrupt your agents or flows.
Short-Lived Tokens
Gumloop mints a fresh, short-lived access token for each request via GCP STS. Nothing durable is persisted.
You Stay In Control
You decide which service account Gumloop may impersonate and exactly which Gumloop tenant your pool trusts.
How It Works
Gumloop mints an OIDC token
At query time, Gumloop signs a short-lived OIDC token identifying your Gumloop organization. Its issuer is
https://api.gumloop.com.GCP STS verifies and exchanges it
Your workload identity pool verifies the token’s signature against Gumloop’s published JWKS and checks your attribute condition, then exchanges it for a federated token.
Gumloop impersonates your service account
The federated token impersonates the target service account you nominate, yielding a short-lived Google access token scoped to BigQuery.
- Discovery:
https://api.gumloop.com/.well-known/openid-configuration - JWKS:
https://api.gumloop.com/oauth/jwks
Claims included in the Gumloop OIDC token
Claims included in the Gumloop OIDC token
Every claim is derived server-side from the authenticated credential owner; none come from user input.
iss—https://api.gumloop.comsub—gumloop:project:<workspace_id>orgumloop:user:<user_id>aud— the full resource path of your pool providergumloop_org_id— your Gumloop organization ID (use this to lock down the pool)gumloop_owner_type—projectorusergumloop_owner_id— the Gumloop workspace or user ID that owns the credentialiat/exp— issued-at and a short (5 minute) expiry
Prerequisites
Before you begin, gather:- Your GCP project ID and project number (
gcloud projects describe YOUR_PROJECT_ID --format="value(projectNumber)") - Your Gumloop organization ID — provided by Gumloop. This is what you will pin your pool to so that only your tenant’s tokens are accepted.
- Permission to create workload identity pools and service accounts in the project
iamcredentials.googleapis.com— required for Gumloop to impersonate your service account (thegenerateAccessTokencall). Without it, token exchange fails with a403 SERVICE_DISABLEDerror.bigquery.googleapis.com— required to run queries.
Step 1: Create a Workload Identity Pool
Step 2: Add Gumloop as an OIDC Provider
Create an OIDC provider in the pool that trusts Gumloop’s issuer, maps the token claims, and restricts access to your Gumloop organization.Understanding these parameters
Understanding these parameters
- issuer-uri — Gumloop’s OIDC issuer. GCP reads
https://api.gumloop.com/.well-known/openid-configurationto discover the JWKS used to verify tokens. - attribute-mapping — Maps Gumloop token claims into pool attributes.
google.subjectis required; theattribute.*mappings let you reference claims in conditions and IAM bindings. - attribute-condition — The security gate. Only tokens whose
gumloop_org_idequals your organization are allowed. ReplaceYOUR_GUMLOOP_ORG_IDwith the value Gumloop provided.
You do not need to set
--allowed-audiences. Gumloop sets the token audience to the provider’s full resource path, which is the default audience GCP accepts.Step 3: Create the Target Service Account
This is the identity Gumloop will impersonate. Grant it only the BigQuery permissions your team needs.Step 4: Allow the Pool to Impersonate the Service Account
Grantroles/iam.workloadIdentityUser on the service account to the federated identities from your pool, scoped to your gumloop_org_id attribute.
Step 5: Collect the Three Values for Gumloop
You will paste these into Gumloop:- GCP Project Number — e.g.
123456789012 - Workload Identity Pool Resource Name — the provider resource path:
- Target Service Account Email — e.g.
bigquery-runner@YOUR_PROJECT_ID.iam.gserviceaccount.com
Step 6: Add the Credential in Gumloop
- Go to the Gumloop Credentials page (or your workspace credentials for a shared, team-wide connection).
- Click Add Credential and select BigQuery (Workload Identity).
- Enter the three values from Step 5 and save.
Troubleshooting
”Permission denied” or no credentials found
- Confirm the attribute condition value matches the
gumloop_org_idGumloop provided exactly. - Confirm the
principalSet://binding uses the project number and the sameattribute.gumloop_org_idvalue. - Confirm the service account has
roles/bigquery.jobUser(needed to run queries) in addition to a data-read role.
”IAM Service Account Credentials API has not been used… or it is disabled”
The impersonation step callsiamcredentials.googleapis.com, which must be enabled in your project. Enable it (and the BigQuery API), then wait a minute or two for the change to propagate:
“Invalid audience” / token rejected by STS
- Make sure the Workload Identity Pool Resource Name you pasted into Gumloop is the full provider path ending in
/providers/<provider-id>.
Verifying the issuer is reachable
The discovery and JWKS endpoints are public and should return JSON:Additional Resources
- GCP Workload Identity Federation documentation
- Configuring OIDC-based federation
- Gumloop Credentials Guide
