Risolvere i problemi relativi alla federazione delle identità per i carichi di lavoro

In questa pagina vengono descritte le risoluzioni degli errori più comuni di federazione delle identità dei carichi di lavoro.

L'API Google Cloud non accetta la credenziale emessa da SecurityTokenService

Se riscontri il seguente errore, è possibile che tu stia tentando di accedere direttamente a un'API Google Cloud utilizzando una credenziale emessa 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 creata da SecurityTokenService con un token dell'account di servizio chiamando GenerateAccessToken. Per ulteriori informazioni, consulta Ottenere credenziali di breve durata con la federazione delle identità.

Inserisci un provider di identità nella lista consentita da utilizzare con la federazione delle identità per i carichi di lavoro

Se tenti di configurare un provider di identità non consentito come provider di pool di identità per i carichi 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 il problema, segui le indicazioni in Limita la configurazione del provider di identità per inserire il provider di identità nella lista consentita da utilizzare con la federazione delle identità per i carichi di lavoro.

Errore di connessione all'emittente della credenziale specificata

Se ricevi il seguente errore, è possibile che Google Cloud non sia in grado di recuperare il documento JWKS o il documento di metadati OIDC dell'IdP:

{
  "error": "invalid_grant",
  "error_description":"Error connecting to the given credential's issuer."
 }

In genere questo errore si verifica perché gli endpoint non sono configurati per essere raggiungibili dalla rete internet pubblica. Per risolvere questo errore, verifica che l'endpoint OIDC sia disponibile pubblicamente e sia conforme alla specifica OIDC. Per saperne di più, consulta Preparare il provider di identità esterno.

Se ricevi ancora l'errore, verifica che l'emittente e la rivendicazione iss nel token siano corretti.