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à per la forza lavoro.

Esamina la risposta dell'IdP

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

Accesso basato su 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 Strumento di analisi HAR degli Strumenti amministrativi Google, che fornisce istruzioni per generare un file HAR e gli strumenti per caricarlo e analizzarlo.

SAML

Per esaminare la risposta dell'IdP SAML, segui questi passaggi:

  1. Individua il valore del parametro di richiesta SAMLResponse nel file HAR registrato in base all'URL con percorso /signin-callback.
  2. Decodificalo utilizzando uno strumento a tua scelta, ad esempio puoi utilizzare la funzionalità di codifica/decodifica degli Strumenti amministrativi Google.

OIDC

Per esaminare la risposta dell'IdP OIDC, segui questi passaggi:

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

Interfaccia a riga di comando gcloud

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

SAML

Decodifica la risposta dell'IdP SAML utilizzando uno strumento a tua scelta, ad esempio puoi utilizzare la funzionalità di codifica/decodifica degli Strumenti amministrativi Google.

OIDC

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

Esamina i log

Per determinare se Google Cloud sta comunicando con il tuo IdP ed 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 errori comuni che potresti riscontrare durante la gestione di pool e provider.

Autorizzazione negata

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

INVALID_IMMAGINE: configurazione del Single Sign-On web OIDC mancante

Il seguente errore si verifica quando i campi web-sso-response-type e web-sso-assertion-claims-behavior non vengono impostati durante la creazione di un provider di pool di identità della forza lavoro 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 nella sezione Crea un provider per impostare i campi in modo appropriato 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 rappresentante del tuo account Google Cloud 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à per la forza lavoro potrebbe riscontrare quando esegue l'accesso.

Errori di accesso comuni

La credenziale fornita è stata rifiutata dalla condizione dell'attributo

Questo errore si verifica quando la condizione dell'attributo impostata per il 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, visualizzerai l'errore se l'elenco dei gruppi inviati nell'attributo groups dal tuo provider di identità (IdP) non contiene gcp-users.

Per risolvere questo errore, procedi nel seguente modo:

  1. Descrivi il provider utilizzato per l'accesso e verifica che attributeCondition sia corretto. Per informazioni sulle operazioni supportate in determinate condizioni, consulta la definizione della lingua.

  2. Segui i passaggi per controllare la risposta dell'IdP per vedere gli attributi restituiti dall'IdP e conferma che la condizione dell'attributo sia corretta e accurata.

  3. Accedi alla Console di amministrazione dell'IdP e controlla se gli attributi dell'IdP a cui viene fatto riferimento nella condizione dell'attributo sono impostati correttamente. Se necessario, consulta la documentazione dell'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 dovrebbe essere una STRING a valore singolo, ma è mappato a un elenco nella mappatura degli attributi.

Ad esempio, prendi in considerazione un provider di pool di identità della forza lavoro SAML con la mappatura degli attributi attribute.role=assertion.attributes.userRole. In un'asserzione SAML, un Attribute può avere più tag AttributeValue, come mostrato nell'esempio che segue. Di conseguenza, 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 l'accesso e identifica l'attributo IdP impostato nella sezione attributeMapping. Confronta l'attributo con l'attributo presentato nel messaggio di errore. Nell'esempio precedente, un attributo IdP chiamato userRole è mappato all'attributo role, mentre l'attributo role è riportato 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 ha un valore dall'elenco, identifica un attributo alternativo, stabile e con valore stringa. Poi aggiorna la mappatura degli attributi per usarli facendo riferimento al primo elemento. Nell'esempio precedente, se myRole è stato identificato come attributo IdP alternativo a valore singolo, la mappatura dell'attributo sarà:

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

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

Consulta la sezione Ispezionare la risposta dell'IdP per vedere la risposta restituita dall'IdP.

Impossibile ottenere un valore per google.subject dalla credenziale specificata

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

Per risolvere questo errore, procedi nel seguente modo:

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

  2. Consulta la sezione per controllare la risposta dell'IdP per vedere la risposta restituita dall'IdP. Controlla il valore dell'attributo della risposta dell'IdP mappato a google.subject nelle mappature degli attributi.

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

  3. Riprova ad accedere.

400. Errore

Questo errore si verifica quando la richiesta non è stata ricevuta come previsto o non era in formato corretto.

Per risolvere questo errore, procedi nel seguente modo:

  1. Segui i passaggi nella sezione Comunicare agli utenti come accedere per verificare se stai seguendo 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 OIDC che un utente della federazione delle identità per la forza lavoro potrebbe riscontrare quando esegue l'accesso.

Errore di connessione all'emittente della credenziale specificata

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

Per risolvere questo errore, procedi nel seguente modo:

  1. Descrivi il provider e controlla il valore issuerUri configurato. Crea l'URL del documento di rilevamento aggiungendo /.well-known/openid-configuration all'URI dell'emittente. Ad esempio, se issuerUri è https://example.com, l'URL del documento di rilevamento sarà 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 dell'IdP per identificare l'URI emittente corretto. Se necessario, aggiorna issuerUri nel provider del pool di federazione delle identità della forza lavoro.

      Se l'IdP viene eseguito on-premise, consulta la documentazione dell'IdP per eseguire il provisioning per l'accesso su internet.

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

      1. Controlla che l'URL non esegua troppe reindirizzamenti prima di pubblicare il documento di rilevamento. In caso affermativo, consulta l'amministratore dell'IdP per risolvere il problema.
      2. Controlla il tempo di risposta dell'IdP. Consulta l'amministratore dell'IdP per ridurre la latenza di risposta.
      3. Il documento di rilevamento aperto deve essere in formato JSON.
      4. Cerca un campo jwks_uri nel codice JSON.

        1. Verifica che venga aperto 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 gli errori specifici relativi a SAML che un utente della federazione delle identità per la forza lavoro potrebbe riscontrare quando esegue l'accesso.

Impossibile verificare la firma in SAMLResponse

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

Per risolvere questo errore, procedi nel seguente modo:

  1. (Facoltativo) Segui i passaggi per controllare la risposta dell'IdP per vedere la risposta restituita dall'IdP e individuare il campo X509Certificate al suo interno. Descrivi il provider che hai utilizzato per accedere e controlla il campo X509Certificate presente nel valore idpMetadataXml impostato sul 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 dell'IdP e scarica il file XML dei metadati più recente.

  3. Aggiorna il provider del pool di identità della forza lavoro con il codice 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 di pool di identità della forza lavoro SAML quando la risposta dell'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 da utilizzare l'URL di reindirizzamento descritto nella sezione Configurare URL di reindirizzamento nell'IdP, quindi riprova ad accedere.

Segui i passaggi per controllare la risposta dell'IdP per vedere la risposta restituita dall'IdP e conferma che il campo Recipient sia corretto.

Ad esempio, per il provider del pool di identità della forza lavoro locations/global/workforcePools/example-pool/providers/example-provider, la Recipient contenente l'URL di reindirizzamento viene visualizzata nella risposta SAML dell'IdP, 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 RP

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

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

Segui i passaggi per controllare la risposta dell'IdP per vedere la risposta restituita dall'IdP e conferma che il campo Destination sia corretto.

Ad esempio, per un provider di pool di identità della forza lavoro locations/global/workforcePools/example-pool/providers/example-provider, l'URL di reindirizzamento contenente Destination verrebbe visualizzato nella risposta SAML dell'IdP 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 dall'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 che è oggetto di un'asserzione SAML, in genere l'utente che viene autenticato.

Segui i passaggi per controllare la risposta dell'IdP per vedere la risposta restituita dall'IdP e dal NameID impostato.

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

Questo errore si verifica quando i tag AudienceRestriction nella risposta SAML dell'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, procedi nel seguente modo:

  1. Consulta la documentazione dell'IdP per informazioni su come configurare il segmento di 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 SAML Creare un provider di pool di identità della forza lavoro per vedere il valore SP Entity ID che deve essere impostato.

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

Segui i passaggi per controllare la risposta dell'IdP per vedere la risposta restituita dall'IdP e dai AudienceRestriction impostati.