Questa pagina mostra come risolvere i problemi comuni relativi alla federazione delle identità della forza lavoro.
Controlla la risposta dell'IdP
Questa sezione mostra come ispezionare la risposta del tuo provider di identità (IdP) per risolvere i problemi elencati in questo documento.
Accesso basato su browser
Per ispezionare la risposta restituita dall'IDP, genera un file HAR utilizzando uno strumento a tua scelta. Ad esempio, puoi utilizzare lo Strumento di analisi HAR di Strumenti amministrativi Google, che fornisce istruzioni per generare un file HAR e gli strumenti per caricarlo e analizzarlo.
SAML
Per controllare la risposta dell'identità provider SAML:
- Individua il valore del parametro di richiesta
SAMLResponse
nel file HAR che viene registrato in base all'URL con percorso/signin-callback
. - Decodificalo utilizzando uno strumento a tua scelta, ad esempio Encode/Decode di Strumenti amministrativi Google.
OIDC
Per controllare la risposta dell'identità provider OIDC, svolgi i seguenti passaggi. Questo approccio non funziona con il flusso di codice.
- Cerca il parametro di richiesta
id_token
nel file HAR registrato per un URL con percorso/signin-callback
. - Decodificalo utilizzando uno strumento di debug JWT a tua scelta.
Interfaccia a riga di comando gcloud
Per ispezionare la risposta dell'IDP quando utilizzi l'interfaccia alla 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 svolgi i
passaggi che seguono:
SAML
Decodifica la risposta dell'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.
Esamina i log
Per determinare se Google Cloud comunica con il tuo IdP e esaminare le informazioni sulle transazioni, puoi ispezionare i log di Cloud Audit Logs. Per visualizzare esempi di log, vedi Esempi di log di controllo.
Errori di gestione del pool di forza lavoro e del provider
Questa sezione fornisce suggerimenti per correggere gli 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à per la forza lavoro non dispone del ruolo Amministratore pool Workload Identity IAM (roles/iam.workforcePoolAdmin
).
INVALID_ARGUMENT: manca la configurazione del Single Sign-On web OIDC
Il seguente errore si verifica quando i campi web-sso-response-type
e web-sso-assertion-claims-behavior
non sono impostati durante la creazione di un fornitore 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 descritti nella sezione Creare 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 dell'account Google Cloud per richiedere un aumento della quota.
Errori di accesso
Questa sezione fornisce suggerimenti per correggere gli errori comuni che un utente di Workforce Identity Federation potrebbe riscontrare durante 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 sul 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 inviati nell'attributo groups
dall'identity provider (IdP) non contiene gcp-users
.
Per risolvere questo errore, svolgi i seguenti passaggi:
Descrivi il fornitore utilizzato per accedere e controlla che
attributeCondition
sia corretto. Per informazioni sulle operazioni supportate nelle condizioni, consulta la definizione del linguaggio.Segui i passaggi descritti in Controllare la risposta dell'IDP per visualizzare gli attributi restituiti dall'IDP e verificare se la condizione dell'attributo è ben formattata e accurata.
Accedi alla Console di amministrazione dell'IdP e controlla se gli attributi dell'IdP a cui si fa riferimento nella condizione dell'attributo sono configurati 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à forza lavoro SAML quando l'attributo specificato nel messaggio di errore dovrebbe essere una STRINGA con un solo valore, ma è mappato a un elenco nella mappatura degli attributi.
Ad esempio, considera un provider di pool di identità per la forza lavoro SAML che ha la mappatura degli attributi attribute.role=assertion.attributes.userRole
. In un'affermazione 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, svolgi i seguenti passaggi:
Descrivi il provider utilizzato per accedere e identifica l'attributo IdP impostato in
attributeMapping
. Confronta l'attributo con quello indicato nel messaggio di errore. Nell'esempio precedente, un attributo IdP chiamatouserRole
è mappato all'attributorole
e l'attributorole
compare 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 di elenco, identifica un attributo alternativo, stabile e con valore di stringa. Aggiorna quindi la mappatura degli attributi per utilizzarla facendo riferimento al primo elemento. Per l'esempio precedente, se
myRole
è stato identificato come attributo alternativo dell'identità provider a valore singolo, la mappatura degli attributi sarà:attribute.role=assertion.attributes.myRole[0]
In alternativa, se è noto che l'attributo è a valore singolo, aggiorna la mappatura dell'attributo in modo da utilizzare il primo elemento dell'elenco. Per l'esempio precedente, se
userRole
contiene un solo ruolo, puoi utilizzare la seguente mappatura:attribute.role=assertion.attributes.userRole[0]
Per ricavare dall'elenco un identificatore stabile con un solo valore, consulta la definizione della lingua e aggiorna di conseguenza la mappatura degli attributi.
Consulta la sezione Esaminare la risposta dell'IDP per visualizzare la risposta restituita dall'IDP.
Impossibile ottenere un valore per google.subject dalla credenziale specificata
Questo errore si verifica quando non è possibile mappare il claim obbligatorio google.subject
utilizzando la mappatura degli attributi impostata nella configurazione del provider del pool di identità della forza lavoro.
Per risolvere questo errore, svolgi i seguenti passaggi:
Descrivi il fornitore e controlla il
attributeMapping
. Identifica la mappatura configurata pergoogle.subject
. Se la mappatura non è corretta, aggiorna il provider del pool di identità della forza lavoro.Consulta la sezione Esaminare la risposta dell'IDP per visualizzare 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 errato, accedi alla Console di amministrazione della tua IdP e controlla gli attributi configurati. Per gli attributi, controlla se l'utente interessato ha dati corrispondenti nel tuo provider di identità. Aggiorna la configurazione dell'IDP per correggere di conseguenza gli attributi o le informazioni utente.
Riprova ad accedere.
400. Errore
Questo errore si verifica quando la richiesta non è stata ricevuta come previsto o è stata formattata in modo errato.
Per risolvere questo errore, svolgi i seguenti passaggi:
Segui i passaggi descritti nella sezione Informare gli utenti su come accedere per verificare se stai seguendo la procedura corretta 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 errori specifici OIDC che un utente della federazione delle identità per la forza lavoro potrebbe riscontrare durante l'accesso.
Errore durante la connessione all'emittente della credenziale specificata
Questo errore si verifica quando un provider del pool di identità per la forza lavoro OIDC non è in grado di raggiungere il documento di rilevamento OIDC o l'URI JWKS.
Per risolvere questo errore, svolgi i seguenti passaggi:
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 tuoissuerUri
èhttps://example.com
, l'URL del documento di rilevamento saràhttps://example.com/.well-known/openid-configuration
.Apri l'URL del documento di scoperta in una finestra di navigazione in incognito.
Se l'URL non si apre o il browser mostra un errore
404
, consulta la documentazione del tuo provider di identità per identificare l'URI dell'emittente corretto. Se necessario, aggiornaissuerUri
nel provider del pool di identità per la forza lavoro.Se l'IdP è in esecuzione on-premise, consulta la relativa documentazione per eseguire il provisioning per l'accesso tramite internet.
Se l'URL si apre, controlla le seguenti condizioni:
- Prima di pubblicare il documento di scoperta, controlla che l'URL non reindirizzi troppe volte. In questo caso, rivolgiti all'amministratore della tua IdP per risolvere il problema.
- Controlla il tempo di risposta dell'IdP. Rivolgiti all'amministratore dell'IDP per ridurre la latenza di risposta.
- Il documento di scoperta aperto deve essere in formato JSON.
Cerca un campo
jwks_uri
nel 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 errori specifici 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 sulla risposta dell'IdP non può essere verificata utilizzando nessuno dei certificati X.509 forniti nel file XML dei metadati dell'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à del personale con il file XML dei metadati dell'IdP più recente.
Per risolvere questo errore, svolgi i seguenti passaggi:
(Facoltativo) Segui i passaggi descritti in Controllare 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 campoX509Certificate
presente nel valoreidpMetadataXml
impostato sul provider del pool di identità della forza lavoro. Confronta il certificato con quello visualizzato nella risposta restituita dall'IdP. I certificati devono corrispondere.Accedi alla Console di amministrazione dell'IdP e scarica i metadati XML più recenti.
Aggiorna il provider del pool di identità per la forza lavoro con il file XML dei metadati IdP scaricato.
Riprova ad accedere.
Il destinatario nell'affermazione 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 dell'IdP contiene un valore errato per il campo Recipient
nel tag SubjectConfirmationData
.
Per risolvere questo errore, aggiorna Recipient URL
/ Redirect URL
o il corrispondente campo nella configurazione dell'IdP in modo da utilizzare l'URL di reindirizzamento descritto in Configurare gli URL di reindirizzamento nell'IdP e riprova ad accedere.
Segui i passaggi descritti in Esaminare la risposta dell'IdP per visualizzare la risposta restituita dall'IdP e confermare 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
,
Recipient
contenente l'URL di reindirizzamento viene visualizzato 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 di SAMLResponse non corrisponde all'URL di callback RP
Questo errore si verifica per un provider del 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 Destination URL
/ Redirect URL
o il campo equivalente nella configurazione dell'IdP in modo da utilizzare l'URL di reindirizzamento descritto in Configurare gli URL di reindirizzamento nell'IdP.
Segui i passaggi descritti in Esaminare la risposta dell'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à per la forza lavorolocations/global/workforcePools/example-pool/providers/example-provider
, ilDestination
contenente l'URL di reindirizzamento verrà visualizzato nella risposta SAML dell'IdP come segue:
<Response Destination="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
Affermazione 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 il NameID
che è l'oggetto di un'affermazione SAML, in genere l'utente che viene autenticato.
Segui la procedura descritta in Esaminare la risposta dell'IdP per visualizzare la risposta restituita dall'IdP e il valore 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 dell'entità del provider del pool di identità della forza lavoro.
Per risolvere questo errore, svolgi i seguenti passaggi:
Consulta la documentazione dell'IdP su come configurare il segmento di pubblico nei tag
AudienceRestriction
inviati nella risposta SAML. In genere, il segmento di pubblico viene configurato impostando il campoEntity ID
oAudience
nella configurazione dell'IdP. Consulta la sezione su come creare un provider del pool di identità della forza lavoro per conoscere il valoreSP Entity ID
da impostare.Dopo aver aggiornato la configurazione dell'IdP, riprova ad accedere.
Segui la procedura descritta in Esaminare la risposta dell'IdP per visualizzare la risposta restituita dall'IdP e i AudienceRestriction
impostati.