Risolvere i problemi relativi alla federazione delle identità per la forza lavoro

Questa pagina mostra come risolvere i problemi comuni relativi alla federazione delle identità della forza lavoro.

Ispezionare la risposta dell'IdP

Questa sezione mostra come esaminare la risposta del tuo provider di identità (IdP) per risolvere i problemi elencati in questo documento.

Accesso basato sul browser

Per esaminare la risposta restituita dal tuo IdP, genera un file HAR utilizzando uno strumento a tua scelta. Ad esempio, puoi utilizzare lo Strumento di analisi HAR di Google Admin Toolbox, che fornisce istruzioni per generare un file HAR e gli strumenti per caricarlo e analizzarlo.

SAML

Per esaminare la risposta dell'IdP SAML:

  1. Individua il valore del parametro di richiesta SAMLResponse nel file HAR registrato rispetto all'URL con percorso /signin-callback.
  2. Decodificalo utilizzando uno strumento a tua scelta. Ad esempio, puoi utilizzare Encode/Decode di Strumenti amministrativi Google.

OIDC

Per controllare la risposta del provider di identità OIDC, segui questi passaggi. Questo approccio non funziona con il flusso di codice.

  1. Cerca il parametro di richiesta id_token nel file HAR registrato in un URL con percorso /signin-callback.
  2. Decodificalo utilizzando uno strumento di debug JWT a tua scelta.

Interfaccia a riga di comando gcloud

Per esaminare la risposta del tuo IdP quando utilizzi gcloud CLI, copia i contenuti del file che hai passato nel flag --credential-source-file quando esegui il comando gcloud iam workforce-pools create-cred-config, poi segui questi passaggi:

SAML

Decodifica la risposta IdP SAML utilizzando uno strumento a tua scelta. Ad esempio, puoi utilizzare Encode/Decode di Strumenti amministrativi Google.

OIDC

Decodifica la risposta dell'IdP OIDC utilizzando uno strumento di debug JWT a tua scelta.

Esaminare i log

Per determinare se Google Cloud comunica con il tuo IdP e per esaminare le informazioni sulle transazioni, puoi esaminare i log di Cloud Audit Logs.

Per visualizzare esempi di log, vedi Esempi di log di controllo.

Errori di gestione di provider e pool di forza lavoro

Questa sezione fornisce suggerimenti per correggere gli errori comuni che potresti riscontrare quando gestisci pool e fornitori.

Errori generali di mappatura degli attributi

Per risolvere i problemi di mapping degli attributi del provider di pool di identità per la forza lavoro procedi nel seguente modo:

  • Controlla gli attributi, noti anche come rivendicazioni, nella configurazione del tuo IdP.
  • Esamina i token generati dal tuo IdP. Per scoprire come generare un token dal tuo IdP, consulta la relativa documentazione.
  • Esamina i log di controllo dettagliati della federazione delle identità della forza lavoro in Cloud Audit Logs.

La registrazione degli audit dettagliati registra gli errori di autenticazione e autorizzazione insieme alle attestazioni ricevute da Workforce Identity Federation.

Puoi abilitare la registrazione degli audit dettagliata quando crei il provider del pool di identità della forza lavoro. Per attivare la registrazione di controllo dettagliata, aggiungi il flag --detailed-audit-logging quando crei il provider di pool di identità per la forza lavoro.

Autorizzazione negata

Questo errore si verifica quando l'utente che tenta di configurare la federazione delle identità per la forza lavoro non dispone del ruolo Amministratore pool di identità della forza lavoro IAM (roles/iam.workforcePoolAdmin).

INVALID_ARGUMENT: Missing OIDC web single sign-on config

Si verifica il seguente errore quando i campi web-sso-response-type e web-sso-assertion-claims-behavior non sono impostati durante la creazione di un provider di pool di identità del workforce OIDC:

ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.

Per risolvere questo errore, segui i passaggi descritti nella sezione Crea un provider per impostare correttamente i campi quando crei il provider del pool di identità della forza lavoro OIDC.

Limite di frequenza superato. Riprova più tardi.

Questo errore si verifica quando hai raggiunto il limite di quota per le risorse del pool di forza lavoro. Contatta il tuo Google Cloud rappresentante dell'account per richiedere un aumento della quota.

Errori di accesso

Questa sezione fornisce suggerimenti per correggere gli errori comuni che un utente della federazione delle identità della forza lavoro potrebbe riscontrare quando esegue l'accesso.

Errori di accesso comuni

La credenziale specificata viene rifiutata dalla condizione dell'attributo

Questo errore si verifica quando la condizione dell'attributo impostata nel provider del pool di identità della forza lavoro non è stata soddisfatta.

Ad esempio, considera la seguente condizione dell'attributo:

SAML

'gcp-users' in assertion.attributes.groups

OIDC

'gcp-users' in assertion.groups

In questo caso, l'errore viene visualizzato se l'elenco dei gruppi inviato nell'attributo groups dal tuo IdP non contiene gcp-users.

Per risolvere questo errore:

  1. Descrivi il fornitore utilizzato per accedere e verifica che attributeCondition sia corretto. Per informazioni sulle operazioni supportate nelle condizioni, consulta la definizione del linguaggio.

  2. Segui i passaggi descritti in Ispeziona la risposta del fornitore di identità per visualizzare gli attributi restituiti dal fornitore di identità e verificare se la condizione dell'attributo è ben formata e accurata.

  3. Accedi alla Console di amministrazione del tuo IdP e verifica che gli attributi IdP a cui viene fatto riferimento nella condizione dell'attributo siano configurati correttamente. Se necessario, consulta la documentazione del tuo IdP.

L'attributo mappato deve essere di tipo STRING

Questo errore si verifica per un provider di pool di identità della forza lavoro SAML quando l'attributo specificato nel messaggio di errore deve essere una STRINGA a valore singolo, ma è mappato a un elenco nella mappatura degli attributi.

Ad esempio, considera un provider di pool di identità della forza lavoro SAML che ha la mappatura degli attributi attribute.role=assertion.attributes.userRole. In un'asserzione SAML, un Attribute può avere più tag AttributeValue come mostrato nell'esempio seguente. Pertanto, tutti gli attributi SAML sono considerati elenchi, quindi assertion.attributes.userRole è un elenco.

<saml:Attribute Name="userRole">
    <saml:AttributeValue>
      security-admin
    </saml:AttributeValue>
    <saml:AttributeValue>
      user
    </saml:AttributeValue>
</saml:Attribute>

In questo esempio, potresti visualizzare il seguente errore:

The mapped attribute 'attribute.role' must be of type STRING

Per risolvere il problema, procedi nel seguente modo:

  1. Descrivi il provider utilizzato per accedere e identifica l'attributo IdP impostato in attributeMapping. Controlla l'attributo rispetto a quello presentato nel messaggio di errore. Nell'esempio precedente, un attributo IdP chiamato userRole viene mappato all'attributo role e l'attributo role viene visualizzato nell'esempio di errore riportato sopra.

  2. Segui le indicazioni riportate di seguito per aggiornare la mappatura degli attributi:

    • Se l'attributo che causa l'errore è un elenco di valori, identifica un attributo alternativo, stabile e con valori di stringa. Quindi, aggiorna il mapping degli attributi per utilizzarlo facendo riferimento al primo elemento. Per l'esempio precedente, se myRole è stato identificato come attributo IdP alternativo a valore singolo, la mappatura degli attributi sarebbe:

      attribute.role=assertion.attributes.myRole[0]
      
    • In alternativa, se l'attributo è noto per essere a valore singolo, aggiorna la mappatura degli attributi in modo da utilizzare il primo elemento dell'elenco. Per l'esempio precedente, se userRole contiene un solo ruolo, puoi utilizzare il seguente mapping:

      attribute.role=assertion.attributes.userRole[0]
      
    • Per ricavare un identificatore stabile a valore singolo dall'elenco, consulta la definizione della lingua e aggiorna la mappatura degli attributi di conseguenza.

Consulta la sezione Esamina la risposta del fornitore di identità per visualizzare la risposta restituita dal fornitore di identità.

Impossibile ottenere un valore per google.subject dalle credenziali fornite

Questo errore si verifica quando non è stato possibile mappare l'attestazione richiesta google.subject utilizzando il mapping degli attributi che hai impostato nella configurazione del provider di pool di identità della forza lavoro.

Per risolvere questo errore:

  1. Descrivi il fornitore e ispeziona attributeMapping. Identifica la mappatura configurata per google.subject. Se il mapping non è corretto, aggiorna il provider del pool di identità della forza lavoro.

  2. Consulta la sezione Esamina la risposta del fornitore di identità per visualizzare la risposta restituita dal fornitore di identità. Ispeziona il valore dell'attributo dalla risposta dell'IdP mappato a google.subject nelle mappature degli attributi.

    Se il valore è vuoto o errato, accedi alla Console di amministrazione del tuo IdP e controlla gli attributi configurati. Per gli attributi, verifica se l'utente interessato dispone di dati corrispondenti nel tuo IdP. Aggiorna la configurazione del tuo IdP per correggere di conseguenza gli attributi o le informazioni utente.

  3. Riprova ad accedere.

Le dimensioni degli attributi mappati superano il limite

Si è verificato il seguente errore quando un utente federato tenta di accedere:

The size of the entire mapped attributes exceeds the 16 KB limit.

Per risolvere il problema, chiedi all'amministratore del tuo IdP di ridurre il numero di attributi emessi dall'IdP. Il tuo IdP deve emettere solo gli attributi necessari per federare gli utenti a Google Cloud. Per saperne di più sui limiti della mappatura degli attributi, consulta Mappature degli attributi.

Ad esempio, se il tuo IdP emette un numero elevato di google.groups che sono attributi mappati nel tuo provider del pool di identità della forza lavoro, un tentativo di accesso può non riuscire. Chiedi all'amministratore di limitare il numero di gruppi emessi dal tuo IdP.

Il conteggio dei gruppi supera il limite

Si è verificato il seguente errore quando un utente federato tenta di accedere:

The current count of GROUPS_COUNT mapped attribute google.groups exceeds the GROUPS_COUNT_LIMIT count limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that has fewer than GROUPS_COUNT_LIMIT groups.

Questo errore include i seguenti valori:

  • GROUPS_COUNT: il conteggio dei gruppi emessi dall'IdP

  • GROUPS_COUNT_LIMIT:limite di conteggio di Google Cloud per i gruppi

Questo errore si è verificato quando il numero di gruppi emessi dall'IdP supera il limite diGoogle Cloud. I gruppi vengono mappati a Google Cloud utilizzando l'attributo google.groups.

Per risolvere il problema, chiedi all'amministratore di ridurre il numero di gruppi emessi dal tuo IdP. Il tuo IdP deve emettere solo i gruppi utilizzati per federare gli utenti a Google Cloud. Scopri di più sui limiti relativi ai gruppi nelle mappature degli attributi.

400. Errore

Questo errore si verifica quando la richiesta non è stata ricevuta come previsto o è formattata in modo errato.

Per risolvere questo errore:

  1. Segui i passaggi descritti nella sezione Informare gli utenti su come accedere per verificare di seguire i passaggi corretti per accedere.

  2. Confronta la configurazione del provider del pool di identità della forza lavoro con la configurazione dell'IdP.

Errori di accesso OIDC

Questa sezione fornisce suggerimenti per correggere gli errori specifici di OIDC che un utente della federazione delle identità per la forza lavoro potrebbe riscontrare quando accede.

Errore durante la connessione all'emittente della credenziale specificata

Questo errore si verifica quando un provider del pool di identità della forza lavoro OIDC non riesce a raggiungere il documento di rilevamento OIDC o l'URI JWKS.

Per risolvere questo errore:

  1. Descrivi il provider e controlla il issuerUri configurato. Costruisci l'URL del documento di rilevamento aggiungendo /.well-known/openid-configuration all'URI dell'emittente. Ad esempio, se il tuo issuerUri è https://example.com, l'URL del documento di rilevamento sarebbe https://example.com/.well-known/openid-configuration.

  2. Apri l'URL del documento di rilevamento in una finestra di navigazione in incognito.

    1. Se l'URL non si apre o il browser visualizza un errore 404, consulta la documentazione del tuo IdP per identificare l'URI dell'emittente corretto. Se necessario, aggiorna issuerUri nel provider del pool di identità per la forza lavoro.

      Se il tuo IdP viene eseguito on-premise, consulta la relativa documentazione per eseguirne il provisioning per l'accesso a internet.

    2. Se l'URL si apre, verifica le seguenti condizioni:

      1. Verifica che l'URL non reindirizzi troppe volte prima di pubblicare il documento di rilevamento. In questo caso, rivolgiti all'amministratore del tuo IdP per risolvere il problema.
      2. Controlla il tempo di risposta dell'IdP. Rivolgiti all'amministratore del tuo IdP per ridurre la latenza della risposta.
      3. Il documento di scoperta aperto deve essere in formato JSON.
      4. Cerca un campo jwks_uri nel JSON.

        1. Verifica che si apra anche il valore dell'URL associato.
        2. Verifica che l'URL soddisfi le condizioni descritte in precedenza in questa guida.
    3. Riprova ad accedere.

Errori di accesso SAML

Questa sezione fornisce suggerimenti per correggere errori specifici di SAML che un utente della federazione delle identità della forza lavoro potrebbe riscontrare durante l'accesso.

Impossibile verificare la firma in SAMLResponse

Questo errore si verifica per un provider di pool di identità della forza lavoro SAML quando la firma nella risposta IdP non può essere verificata utilizzando nessuno dei certificati X.509 forniti nel file XML dei metadati IdP che hai configurato nel provider di pool di identità della forza lavoro. Una causa comune di questo errore è che il certificato di verifica sul tuo IdP è stato ruotato, ma non hai aggiornato la configurazione del provider del pool di identità della forza lavoro con il file XML dei metadati IdP più recente.

Per risolvere questo errore:

  1. (Facoltativo) Segui i passaggi descritti in Esamina la risposta dell'IdP per visualizzare la risposta restituita dall'IdP e individuare il campo X509Certificate. Descrivi il provider che hai utilizzato per accedere e controlla il campo X509Certificate presente nel valore idpMetadataXml impostato nel provider del pool di identità della forza lavoro. Confronta il certificato con quello visualizzato nella risposta restituita dal tuo IdP. I certificati devono corrispondere.

  2. Accedi alla Console di amministrazione del tuo IdP e scarica l'ultimo XML dei metadati.

  3. Aggiorna il provider del pool di identità per la forza lavoro con il file XML dei metadati IdP scaricato.

  4. Riprova ad accedere.

Il destinatario nell'asserzione SAML non è impostato sull'URL ACS corretto

Questo errore si verifica per un provider del pool di identità della forza lavoro SAML quando la risposta IdP contiene un valore errato per il campo Recipient nel tag SubjectConfirmationData.

Per risolvere questo errore, aggiorna Recipient URL / Redirect URL o il campo equivalente nella configurazione dell'IdP in modo che utilizzi l'URL di reindirizzamento descritto in Configurare gli URL di reindirizzamento nell'IdP e riprova ad accedere.

Segui i passaggi descritti in Esamina la risposta IdP per visualizzare la risposta restituita dall'IdP e verifica che il campo Recipient sia corretto.

Ad esempio, per il provider di identità del pool di forza lavoro locations/global/workforcePools/example-pool/providers/example-provider, Recipient contenente l'URL di reindirizzamento viene visualizzato nella risposta SAML del provider di identità come mostrato di seguito:

<SubjectConfirmationData Recipient="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

La destinazione SAMLResponse non corrisponde all'URL di callback del relying party

Questo errore si verifica per un provider del pool di identità della forza lavoro SAML quando la risposta IdP contiene un valore errato per il campo Destination nel tag Response.

Per risolvere questo errore, aggiorna Destination URL / Redirect URL o il campo equivalente nella configurazione dell'IdP in modo che utilizzi l'URL di reindirizzamento descritto in Configurare gli URL di reindirizzamento nell'IdP.

Segui i passaggi descritti in Esamina la risposta IdP per visualizzare la risposta restituita dall'IdP e verificare che il campo Destination sia corretto.

Ad esempio, per un provider di pool di identità del workforce locations/global/workforcePools/example-pool/providers/example-provider, il Destination contenente l'URL di reindirizzamento verrà visualizzato nella risposta SAML del provider di identità come segue:

<Response Destination="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

Asserzione non valida: NameID mancante o vuoto

Questo errore si verifica quando la risposta SAML ricevuta dal tuo IdP non contiene il campo NameId o ha un valore vuoto.

Per risolvere questo errore, consulta la documentazione dell'IdP per configurarlo in modo che invii NameID, ovvero l'oggetto di un'asserzione SAML, in genere l'utente che viene autenticato.

Segui i passaggi descritti in Esaminare la risposta dell'IdP per visualizzare la risposta restituita dall'IdP e il NameID impostato.

Tutti i <AudienceRestriction> devono contenere l'ID entità RP SAML

Questo errore si verifica quando i tag AudienceRestriction nella risposta SAML del tuo IdP non impostano un tag Audience con un valore che rappresenta l'ID entità del provider del pool di identità della forza lavoro.

Per risolvere questo errore:

  1. Consulta la documentazione del tuo IdP per scoprire come configurare il pubblico nei tag AudienceRestriction che invia nella risposta SAML. In genere, il segmento di pubblico viene configurato impostando il campo Entity ID o Audience nella configurazione dell'IdP. Consulta la sezione Crea un provider di identità del pool di forza lavoro SAML per visualizzare il valore SP Entity ID da impostare.

  2. Dopo aver aggiornato la configurazione dell'IdP, riprova ad accedere.

Segui i passaggi descritti in Esaminare la risposta dell'IdP per visualizzare la risposta restituita dall'IdP e i AudienceRestriction impostati.