[BUG] universe-domain is not propagated to IAMCredentials client when using impersonate-service-account
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- go, google-cloud
- Ambito
- authentication, cloud
Direzione di ricerca
Inizia tracciando come il universe-domain configurato raggiunge il client google.golang.org/api/impersonate e confronta questo percorso con quello del client Cloud SQL Admin. Controlla le opzioni di impersonate relative a option.WithUniverseDomain(...), quindi verifica l’avvio con universe-domain e impersonate-service-account configurati e conferma che le richieste siano indirizzate a iamcredentials..
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Description
When running cloud-sql-proxy in a custom universe domain (e.g., s3nsapis.fr) with service account impersonation enabled (impersonate-service-account), the proxy fails during startup when attempting to refresh instance metadata, returning HTTP 401 ACCESS_TOKEN_TYPE_UNSUPPORTED.
An analysis of the error payload indicates that while the proxy correctly targets the custom universe domain for the Cloud SQL Admin API (sqladmin.s3nsapis.fr), the underlying client created for Service Account impersonation still defaults to the public Google IAM endpoint (iamcredentials.googleapis.com).
Environment
- Cloud SQL Proxy Version: v2.24.1
- OS: macOS / Linux
- Authentication Method: Custom Universe Domain Credentials / Workforce Identity Federation (WIF)
Configuration Used
instance-connection-name = "s3ns:sandbox-yohan-xxxx:u-france-east1:mydatabase"
universe-domain = "s3nsapis.fr"
impersonate-service-account = "[email protected]"
psc = true
Steps to Reproduce
1- Log in with a principal in a custom universe domain (e.g., s3nsapis.fr).
2- Run cloud-sql-proxy configured with both universe-domain and impersonate-service-account.
3- Observe the proxy initialization log.
Observed Behavior
The proxy fails to fetch instance metadata with the following error log:
2026/07/28 14:27:43 Impersonating service account with gcloud user credentials
2026/07/28 14:27:44 [s3ns:sandbox-yohan-09e8:u-france-east1:demo-replatforming] could not resolve instance version: failed to get instance: refresh error: failed to get instance metadata (connection name = "s3ns:sandbox-yohan-09e8:u-france-east1:demo-replatforming"): Get "https://sqladmin.s3nsapis.fr/sql/v1beta4/projects/s3ns%3Asandbox-yohan-09e8/instances/demo-replatforming/connectSettings?alt=json&prettyPrint=false": impersonate: status code 401: {
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED",
"metadata": {
"method": "google.iam.credentials.v1.IAMCredentials.GenerateAccessToken",
"service": "iamcredentials.googleapis.com"
}
}
]
}
}
Notice in the error metadata:
"service": "iamcredentials.googleapis.com" (Points to public Google Cloud instead of iamcredentials.s3nsapis.fr).
Expected Behavior
The universe-domain option should be propagated to the IAM Credentials client used by google.golang.org/api/impersonate during token generation. The proxy should call https://iamcredentials./... (e.g., iamcredentials.s3nsapis.fr) instead of iamcredentials.googleapis.com.
Root Cause Analysis
When universe-domain is configured, it is successfully applied to the Cloud SQL Admin API client (sqladmin.). However, when initializing the credentials for impersonate-service-account, the universe-domain configuration is not passed down to the impersonate package options (option.WithUniverseDomain(...)). Consequently, the impersonate client defaults to googleapis.com, which rejects authentication tokens issued by custom universe domains.
- Lingua principale
- Go
- Stelle
- 1.4k
- Fork
- 356
- Merge medio
- 14h 48m
- PR unite (30g)
- 8
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di GoogleCloudPlatform/cloud-sql-proxy
-
Regression: --quiet disables --structured-logs againForse già presa @Firehed l’ha presa 3 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
GoogleCloudPlatform/cloud-sql-proxy#2693 ·
I maintainer di solito rispondono entro 1 giorno
-
flakybot: flaky flakybot: issue priority: p2 type: bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
GoogleCloudPlatform/cloud-sql-proxy#2680 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
flakybot: flaky flakybot: issue priority: p2 type: bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
GoogleCloudPlatform/cloud-sql-proxy#2672 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
flakybot: flaky flakybot: issue priority: p2 type: bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
GoogleCloudPlatform/cloud-sql-proxy#2671 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
flakybot: flaky flakybot: issue priority: p2 type: bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
GoogleCloudPlatform/cloud-sql-proxy#2670 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di GoogleCloudPlatform/cloud-sql-proxy
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
signal18/replication-manager#1981 ·
I maintainer di solito rispondono entro 1 giorno
-
Battery UI: German word "Speicher"Forse già presa @github-actions l’ha presa oggi. Apertaux
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
evcc-io/evcc#34716 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
jasonfen/terminal-space-program#611 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
prime-radiant-inc/evener#4329 ·
I maintainer di solito rispondono entro 1 giorno