Cette page explique comment résoudre les problèmes courants liés à la fédération des identités des employés.
Inspecter la réponse du fournisseur d'identité
Cette section explique comment inspecter la réponse de votre fournisseur d'identité (IdP) pour résoudre les problèmes mentionnés dans ce document.
Connexion basée sur un navigateur
Pour inspecter la réponse renvoyée par votre IdP, générez un fichier HAR à l'aide de l'outil de votre choix. Par exemple, vous pouvez utiliser l'outil d'analyse HAR de Google Admin Toolbox, qui fournit des instructions pour générer un fichier HAR ainsi que les outils pour l'importer et l'analyser.
SAML
Pour inspecter la réponse du fournisseur d'identité SAML, procédez comme suit :
- Recherchez la valeur du paramètre de requête
SAMLResponse
dans le fichier HAR enregistré au niveau de l'URL avec le chemin/signin-callback
. - Décodez-la à l'aide d'un outil de votre choix, comme par exemple l'outil Encode/Decode de Google Admin Toolbox.
OIDC
Pour inspecter la réponse du fournisseur d'identité OIDC, procédez comme suit : Cette approche ne fonctionne pas avec le flux de code.
- Recherchez la valeur du paramètre de requête
id_token
dans le fichier HAR enregistré au niveau de l'URL avec le chemin/signin-callback
. - Décodez-le à l'aide de l'outil de débogage JWT de votre choix.
CLI gcloud
Pour inspecter la réponse de votre IdP lorsque vous utilisez gcloud CLI, copiez le contenu du fichier que vous avez transmis dans l'option --credential-source-file
lors de l'exécution de la commande gcloud iam workforce-pools create-cred-config
, puis procédez comme suit:
SAML
Décodez la réponse du fournisseur d'identité SAML à l'aide d'un outil de votre choix, comme par exemple l'outil Encode/Decode de Google Admin Toolbox.
OIDC
Décodez la réponse du fournisseur d'identité OIDC à l'aide d'un outil de débogage JWT de votre choix.
Consulter les journaux
Pour déterminer si Google Cloud communique avec votre IdP, et vérifier les informations sur les transactions, vous pouvez consulter les journaux Cloud Audit Logs. Pour afficher des exemples de journaux, consultez la page Exemples de journaux d'audit.
Erreurs de gestion de pools d'employés et de fournisseurs
Cette section fournit des suggestions permettant de résoudre les erreurs courantes que vous pourriez rencontrer lors de la gestion de pools et de fournisseurs.
Autorisation refusée
Cette erreur se produit lorsque l'utilisateur qui tente de configurer la fédération des identités des employés ne dispose pas du rôle IAM d'administrateur de pools d'employés (roles/iam.workforcePoolAdmin
).
INVALID_ARGUMENT : configuration de l'authentification unique Web OIDC manquante
L'erreur suivante se produit lorsque les champs web-sso-response-type
et web-sso-assertion-claims-behavior
ne sont pas définis lors de la création d'un fournisseur de pools d'identités des employés OIDC :
ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.
Pour résoudre cette erreur, suivez les étapes décrites dans la section Créer un fournisseur pour définir les champs de manière appropriée lorsque vous créez le fournisseur de pools d'identités des employés OIDC.
Limite de débit dépassée. Veuillez réessayer plus tard.
Cette erreur se produit lorsque vous avez atteint votre limite de quota pour les ressources de pool d'employés. Contactez votre responsable de compte Google Cloud pour demander une augmentation de quota.
Erreurs de connexion
Cette section fournit des suggestions permettant de résoudre les erreurs courantes qu'un utilisateur de la fédération des identités des employés peut rencontrer lorsqu'il se connecte.
Erreurs de connexion courantes
L'identifiant donné est rejeté par la condition d'attribut
Cette erreur se produit lorsque la condition d'attribut définie sur le fournisseur de pool d'identité des employés n'a pas été respectée.
Par exemple, considérons la condition d'attribut suivante :
SAML
'gcp-users' in assertion.attributes.groups
OIDC
'gcp-users' in assertion.groups
Dans ce cas, l'erreur s'affiche si la liste des groupes envoyés dans l'attribut groups
par votre fournisseur d'identité (IdP) ne contient pas gcp-users
.
Pour résoudre cette erreur, procédez comme suit :
Décrivez le fournisseur utilisé pour vous connecter et vérifiez que
attributeCondition
est correct. Pour en savoir plus sur les opérations compatibles dans les conditions, consultez la section Définition de langage.Suivez la procédure décrite dans la section Inspecter la réponse du fournisseur d'identité pour afficher les attributs renvoyés par le fournisseur d'identité, et vérifiez si la condition d'attribut est juste et correctement formée.
Connectez-vous à la console d'administration de votre IdP et vérifiez si les attributs IdP référencés dans la condition d'attribut sont correctement configurés. Si nécessaire, consultez la documentation de votre fournisseur d'identité.
L'attribut mappé doit être de type STRING
Cette erreur se produit pour un fournisseur de pools d'identités des employés SAML lorsque l'attribut spécifié dans le message d'erreur est censé être une chaîne à valeur unique, mais qu'il est mappé à une liste dans le mappage des attributs.
Prenons l'exemple d'un fournisseur de pools d'identités des employés SAML disposant du mappage d'attributs attribute.role=assertion.attributes.userRole
. Dans une assertion SAML, un Attribute
peut comporter plusieurs tags AttributeValue
, comme illustré dans l'exemple suivant. Par conséquent, tous les attributs SAML sont considérés comme des listes, donc assertion.attributes.userRole
est une liste.
<saml:Attribute Name="userRole">
<saml:AttributeValue>
security-admin
</saml:AttributeValue>
<saml:AttributeValue>
user
</saml:AttributeValue>
</saml:Attribute>
Dans cet exemple, l'erreur suivante peut s'afficher :
The mapped attribute 'attribute.role' must be of type STRING
Pour résoudre ce problème, procédez comme suit :
Décrivez le fournisseur utilisé pour vous connecter et identifiez l'attribut IdP défini dans le fichier
attributeMapping
. Vérifiez l'attribut en le comparant à l'attribut présenté dans le message d'erreur. Dans l'exemple précédent, un attribut IdP appeléuserRole
est mappé à l'attributrole
, et l'attributrole
apparaît dans l'exemple d'erreur ci-dessus.Suivez les instructions ci-dessous pour mettre à jour le mappage des attributs :
Si l'attribut à l'origine de l'erreur est de type liste, identifiez un autre attribut valable, stable et de type chaîne. Ensuite, mettez à jour le mappage d'attributs de façon à l'utiliser en référençant son premier élément. Dans l'exemple précédent, si
myRole
était identifié comme étant l'attribut IdP à valeur unique de substitution, le mappage d'attributs serait le suivant :attribute.role=assertion.attributes.myRole[0]
Si l'attribut est connu pour être à valeur unique, vous pouvez également mettre à jour le mappage d'attributs pour utiliser le premier élément de la liste. Pour l'exemple précédent, si
userRole
ne contient qu'un seul rôle, vous pouvez utiliser le mappage suivant :attribute.role=assertion.attributes.userRole[0]
Pour vous aider à sélectionner un identifiant de substitution stable et à valeur unique dans la liste, consultez la section Définition de langage et mettez à jour le mappage d'attributs en conséquence.
Consultez la section Inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée par le fournisseur d'identité.
Impossible d'obtenir une valeur pour google.subject à partir des identifiants fournis
Cette erreur se produit lorsque la revendication requise google.subject
n'a pas pu être mappée à l'aide du mappage d'attributs que vous avez défini dans votre configuration de fournisseur de pools d'identités des employés.
Pour résoudre cette erreur, procédez comme suit :
Décrivez le fournisseur et inspectez l'élément
attributeMapping
. Identifiez le mappage configuré pourgoogle.subject
. Si le mappage est incorrect, mettez à jour le fournisseur de pools d'identités des employés.Consultez la section Inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée par le fournisseur d'identité. Inspectez la valeur de l'attribut à partir de la réponse du fournisseur d'identité mappée à
google.subject
dans vos mappages d'attributs.Si la valeur est vide ou incorrecte, connectez-vous à la console d'administration de votre IdP et inspectez les attributs configurés. Pour les attributs, vérifiez si l'utilisateur concerné dispose des données correspondantes dans votre IdP. Mettez à jour la configuration de votre IdP pour corriger les attributs ou les informations utilisateur en conséquence.
Essayez de vous connecter à nouveau.
400. Il s'agit d'une erreur
Cette erreur se produit lorsque la requête n'a pas été reçue comme prévu ou qu'elle était incorrecte.
Pour résoudre cette erreur, procédez comme suit :
Suivez les étapes de la section Indiquer à vos utilisateurs comment se connecter pour vérifier si vous suivez la bonne procédure de connexion.
Comparez votre configuration de fournisseur de pools d'identités des employés avec votre configuration d'IdP.
Erreurs de connexion OIDC
Cette section fournit des suggestions permettant de résoudre les erreurs spécifiques à OIDC qu'un utilisateur de la fédération des identités des employés peut rencontrer lorsqu'il se connecte.
Erreur lors de la connexion à l'émetteur de l'identifiant donné
Cette erreur se produit lorsqu'un fournisseur de pools d'identités des employés OIDC ne parvient pas à atteindre le document de découverte OIDC ou l'URI JWKS.
Pour résoudre cette erreur, procédez comme suit :
Décrivez le fournisseur et inspectez l'élément
issuerUri
configuré. Créez l'URL du document de découverte en ajoutant/.well-known/openid-configuration
à votre URI d'émetteur. Par exemple, si votreissuerUri
esthttps://example.com
, l'URL du document de découverte serahttps://example.com/.well-known/openid-configuration
.Ouvrez l'URL du document de découverte dans une fenêtre de navigation privée.
Si l'URL ne s'ouvre pas ou si le navigateur affiche une erreur
404
, consultez la documentation de votre fournisseur d'identité pour identifier l'URI d'émetteur approprié. Si nécessaire, mettez à jour leissuerUri
dans votre fournisseur de pools d'identités d'employés.Si votre fournisseur d'identité s'exécute sur site, consultez la documentation de votre IdP afin de le provisionner pour l'accès via Internet.
Si l'URL s'ouvre, vérifiez les conditions suivantes :
- Vérifiez que l'URL ne redirige pas trop de fois avant de diffuser le document de découverte. Si tel est le cas, contactez l'administrateur de votre IdP pour résoudre le problème.
- Vérifiez le temps de réponse du fournisseur d'identité. Consultez votre administrateur IdP pour réduire la latence de réponse.
- Le document de découverte ouvert doit être au format JSON.
Recherchez un champ
jwks_uri
dans le fichier JSON.- Vérifiez que la valeur d'URL associée s'ouvre également.
- Vérifiez que l'URL remplit les conditions décrites précédemment dans ce guide.
Essayez de vous connecter à nouveau.
Erreurs de connexion SAML
Cette section fournit des suggestions permettant de résoudre les erreurs spécifiques à SAML qu'un utilisateur de la fédération des identités des employés peut rencontrer lorsqu'il se connecte.
Échec de validation de la signature dans SAMLResponse
Cette erreur se produit pour un fournisseur de pools d'identités des employés SAML lorsque la signature sur la réponse IdP ne peut être validée par aucun des certificats X.509 fournis dans le fichier XML de métadonnées IdP que vous avez configuré dans votre fournisseur de pools d'identités des employés. Cette erreur est souvent due à la rotation du certificat de validation de votre IdP alors que vous n'avez pas mis à jour la configuration du fournisseur de pools d'identités des employés avec le dernier fichier XML de métadonnées IdP.
Pour résoudre cette erreur, procédez comme suit :
Facultatif : suivez la procédure décrites dans la section Inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée par le fournisseur d'identité et localiser le champ
X509Certificate
. Décrivez le fournisseur que vous avez utilisé pour vous connecter et inspectez le champX509Certificate
présent dans la valeuridpMetadataXml
définie sur le fournisseur de pools d'identités des employés. Comparez le certificat à celui vu dans la réponse renvoyée par votre IdP. Les certificats doivent correspondre.Connectez-vous à la console d'administration de votre IdP et téléchargez le dernier XML de métadonnées.
Mettez à jour le fournisseur de pools d'identités des employés avec le XML de métadonnées IdP téléchargé.
Essayez de vous connecter à nouveau.
Le destinataire de l'assertion SAML n'est pas défini sur l'URL ACS appropriée
Cette erreur se produit pour un fournisseur de pools d'identités des employés SAML lorsque la réponse du fournisseur d'identité contient une valeur incorrecte pour le champ Recipient
sur le tag SubjectConfirmationData
.
Pour résoudre cette erreur, mettez à jour le champ Recipient URL
/ Redirect URL
, ou le champ équivalent dans la configuration de votre IdP, afin d'utiliser l'URL de redirection décrite dans la section Configurer des URL de redirection dans votre fournisseur d'identité, puis essayez de vous connecter à nouveau.
Suivez la procédure décrite dans la section inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée, et vérifiez que le champ Recipient
est correct.
Par exemple, pour le fournisseur de pools d'identités des employés locations/global/workforcePools/example-pool/providers/example-provider
, le Recipient
contenant l'URL de redirection apparaît comme suit dans la réponse SAML du fournisseur d'identité :
<SubjectConfirmationData Recipient="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
La destination SAMLResponse ne correspond pas à l'URL de rappel RP
Cette erreur se produit pour un fournisseur de pools d'identités des employés SAML lorsque la réponse du fournisseur d'identité contient une valeur incorrecte pour le champ Destination
sur le tag Response
.
Pour résoudre cette erreur, mettez à jour le champ Destination URL
/ Redirect URL
, ou le champ équivalent dans la configuration de votre IdP, afin d'utiliser l'URL de redirection décrite dans la section Configurer des URL de redirection dans votre fournisseur d'identité.
Suivez la procédure décrite dans la section inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée, et vérifiez que le champ Destination
est correct.
Par exemple, pour un fournisseur de pools d'identités des employés locations/global/workforcePools/example-pool/providers/example-provider
, le Destination
contenant l'URL de redirection apparaîtra comme suit dans la réponse SAML du fournisseur d'identité :
<Response Destination="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
Assertion non valide : NameID manquant ou vide
Cette erreur se produit lorsque la réponse SAML reçue de votre fournisseur d'identité ne contient pas le champ NameId
ou qu'il contient une valeur vide.
Pour résoudre cette erreur, consultez la documentation de votre IdP pour la configurer de façon à envoyer le NameID
, qui est le sujet d'une assertion SAML, généralement l'utilisateur authentifié.
Suivez la procédure décrite dans la section Inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée par le fournisseur d'identité et le NameID
qui a été défini.
Tous les <AudienceRestriction>
doivent contenir l'ID d'entité RP SAML
Cette erreur se produit lorsque les tags AudienceRestriction
de la réponse SAML de votre IdP ne définissent pas de tag Audience
avec une valeur représentant l'ID d'entité du fournisseur de pools d'identités des employés.
Pour résoudre cette erreur, procédez comme suit :
Consultez la documentation de votre IdP pour savoir comment configurer l'audience dans les tags
AudienceRestriction
qu'elle envoie dans la réponse SAML. En règle générale, l'audience est configurée en définissant le champEntity ID
ouAudience
dans votre configuration d'IdP. Consultez la section Créer un fournisseur de pools d'identités des employés SAML pour connaître la valeurSP Entity ID
à définir.Après avoir mis à jour votre configuration d'IdP, essayez de vous connecter à nouveau.
Suivez la procédure décrite dans la section Inspecter la réponse du fournisseur d'identité pour voir la réponse renvoyée par le fournisseur d'identité et les AudienceRestriction
qui ont été définis.