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

Questa pagina descrive le soluzioni per gli errori comuni di Workload Identity Federation.

L'API Google Cloud non accetta le credenziali emesse da SecurityTokenService

Se si verifica il seguente errore, è possibile che tu stia tentando di accedere a un l'API Google Cloud direttamente utilizzando una credenziale emessa da SecurityTokenService anziché scambiarlo con la credenziale di un account di servizio per prima cosa.

{
  "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 l'errore, scambia le credenziali emesse dal SecurityTokenService per un token dell'account di servizio chiamando GenerateAccessToken Per ulteriori informazioni, consulta Ottenere credenziali di breve durata con identità. dell'AI.

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

Se tenti di configurare un provider di identità non consentito come carico di lavoro provider di pool di identità, si verifica 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 istruzioni riportate in Limitare la configurazione del provider di identità per inserire il provider di identità nella lista consentita per l'utilizzo con la federazione delle identità per i carichi di lavoro.

JWK di input non è in un formato JSON valido

Se stai configurando un provider OIDC e ricevi l'errore Input JWK is not in a valid json format, il motivo può essere che gli endpoint sono protetti con I certificati autofirmati non sono supportati da Google Cloud. In particolare, i campi x5c e x5t non sono supportati e devono essere rimossi da OIDC JWK.

Errore durante la connessione all'emittente della credenziale specificata

Se ricevi il seguente errore, è possibile che Google Cloud non riesca a recuperare il documento dei metadati OIDC o JWKS della tua 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 raggiungibile dalla rete internet pubblica. Per risolvere questo errore, verifica che la risorsa OIDC è disponibile pubblicamente ed è conforme alla specifica OIDC. Per Per ulteriori informazioni, consulta la sezione Preparare il provider di identità esterno.

Se il problema persiste, verifica che l'emittente del token e la rivendicazione iss nel token siano corretti.