Questa pagina descrive le risoluzioni degli errori comuni di federazione delle identità dei carichi di lavoro.
L'API Google Cloud non accetta la credenziale rilasciata da SecurityTokenService
Se riscontri il seguente errore, è possibile che tu stia tentando di accedere direttamente a un'API Google Cloud utilizzando una credenziale generata da SecurityTokenService
, anziché scambiarla con una credenziale dell'account di servizio.
{
"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",
}
}
Per risolvere questo errore, scambia la credenziale coniata dal
SecurityTokenService
con un token dell'account di servizio chiamando
GenerateAccessToken
.
Per ulteriori informazioni, consulta Ottenere le credenziali di breve durata con la federazione delle identità.
Autorizzare un provider di identità da utilizzare con la federazione delle identità per i carichi di lavoro
Se provi a configurare un provider di identità non consentito come provider di pool di identità per un carico di lavoro, riscontri il seguente errore:
FAILED_PRECONDITION: Precondition check failed.
- '@type': type.googleapis.com/google.rpc.PreconditionFailure
violations:
- description: "Org Policy violated for value: '{PROVIDER}'."
subject: orgpolicy:projects/{PROJECT}/locations/global/workloadIdentityPools/{POOL}
type: constraints/iam.workloadIdentityPoolProviders
Per risolvere questo problema, segui le istruzioni sulla limitazione della configurazione del provider di identità per consentire il provider di identità per l'utilizzo con la federazione delle identità dei carichi di lavoro.
Errore di connessione all'emittente della credenziale specificata
Se viene visualizzato il seguente errore, è possibile che Google Cloud non sia in grado di recuperare il documento di metadati OIDC dell'IdP:
{
"error": "invalid_grant",
"error_description":"Error connecting to the given credential's issuer."
}
Questo errore di solito si verifica perché gli endpoint non sono configurati per essere raggiungibili dalla rete Internet pubblica. Per risolvere questo errore, controlla che l'endpoint OIDC sia disponibile pubblicamente e che sia conforme alla specifica OIDC. Per ulteriori informazioni, consulta Preparare il provider di identità esterno.
Se continui a visualizzare l'errore, verifica che l'emittente del token, la rivendicazione iss
nel
token siano corrette.