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:
- Individua il valore del parametro di richiesta
SAMLResponse
nel file HAR registrato in base all'URL con percorso/signin-callback
. - 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:
- Cerca il parametro di richiesta
id_token
nel file HAR registrato in base a un URL con percorso/signin-callback
. - 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:
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.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.
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:
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 chiamatouserRole
è mappato all'attributorole
, mentre l'attributorole
è riportato nell'esempio di errore riportato sopra.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:
Descrivi il fornitore e controlla
attributeMapping
. Identifica il mapping configurato pergoogle.subject
. Se il mapping non è corretto, aggiorna il provider del pool di identità della forza lavoro.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.
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:
Segui i passaggi nella sezione Comunicare agli utenti come accedere per verificare se stai seguendo i passaggi corretti per accedere.
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:
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, seissuerUri
èhttps://example.com
, l'URL del documento di rilevamento saràhttps://example.com/.well-known/openid-configuration
.Apri l'URL del documento di rilevamento in una finestra di navigazione in incognito.
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, aggiornaissuerUri
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.
Se l'URL si apre, verifica che siano soddisfatte le seguenti condizioni:
- 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.
- Controlla il tempo di risposta dell'IdP. Consulta l'amministratore dell'IdP per ridurre la latenza di risposta.
- Il documento di rilevamento aperto deve essere in formato JSON.
Cerca un campo
jwks_uri
nel codice JSON.- Verifica che venga aperto anche il valore dell'URL associato.
- Verifica che l'URL soddisfi le condizioni descritte in precedenza in questa guida.
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:
(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 campoX509Certificate
presente nel valoreidpMetadataXml
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.Accedi alla Console di amministrazione dell'IdP e scarica il file XML dei metadati più recente.
Aggiorna il provider del pool di identità della forza lavoro con il codice XML dei metadati IdP scaricato.
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:
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 campoEntity ID
oAudience
nella configurazione dell'IdP. Consulta la sezione SAML Creare un provider di pool di identità della forza lavoro per vedere il valoreSP Entity ID
che deve essere impostato.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.