Affichage des informations d’identité externe pour un utilisateur
Si un utilisateur ne parvient pas à s’authentifier correctement à l’aide de SAML, il peut être utile d’afficher des informations sur l’identité d’authentification unique liée au compte de l’utilisateur sur GitHub. Pour plus d’informations, consultez « Visualisation et gestion de l’accès SAML d’un utilisateur à votre entreprise ».
Conflits de nom d’utilisateur
Si votre entreprise utilise Enterprise Managed Users, GitHub normalise la userName
valeur de l'attribut SCIM envoyée par un fournisseur d'identité (IdP) dans un appel d'API SCIM pour créer le nom d'utilisateur de chaque personne sur GitHub. Si plusieurs comptes sont normalisés dans le même nom d’utilisateur GitHub, un conflit de nom d’utilisateur se produit et seul le premier compte d’utilisateur est créé. Pour plus d’informations, consultez « Considérations relatives au nom d'utilisateur pour une authentification externe ».
Erreurs lors du basculement des configurations d’authentification
Si vous rencontrez des problèmes lors du basculement entre différentes configurations d’authentification, par exemple en passant de la configuration de l’authentification unique SAML d’une organisation à un compte d’entreprise ou en effectuant une migration de SAML vers OIDC pour Enterprise Managed Users, assurez-vous que vous suivez les meilleures pratiques pour cette modification.
- Basculement de votre configuration SAML d’une organisation à un compte d’entreprise
- Migration de SAML vers OIDC
- Migration de votre entreprise vers un nouveau fournisseur d’identité ou locataire
Accès à votre entreprise quand l’authentification unique n’est pas disponible
Quand une erreur de configuration ou un problème concernant votre fournisseur d’identité vous empêche d’utiliser l’authentification unique, vous pouvez utiliser un code de récupération pour accéder à votre entreprise. Pour plus d’informations, consultez « Accès à votre compte d’entreprise si votre fournisseur d’identité n’est pas disponible ».
Erreurs de provisionnement SCIM
Pour éviter de dépasser la limite de débit sur GitHub, n’attribuez pas plus de 1 000 utilisateurs par heure à l’intégration SCIM sur votre IdP. Si vous utilisez des groupes pour affecter des utilisateurs à l’application IdP, n’ajoutez pas plus de 1 000 utilisateurs à chaque groupe par heure. Si vous dépassez ces seuils, les tentatives de provisionnement d’utilisateurs peuvent échouer avec une erreur « limite de débit ». Vous pouvez consulter les journaux de votre fournisseur d’identité pour vérifier si une tentative de provisionnement SCIM ou d’opérations de poussée a échoué en raison d’une erreur de limite de débit. La réponse à une tentative de provisionnement ayant échoué dépend du fournisseur d’identité.
Microsoft Entra ID (précédemment appelé Azure AD) retente automatiquement les tentatives d’approvisionnement SCIM au cours cycle de synchronisation Entra ID suivant. L’intervalle de provisionnement SCIM par défaut pour Entra ID est de 40 minutes. Pour plus d’informations sur ce comportement de nouvelle tentative, consultez la documentation Microsoft ou contactez le support Microsoft si vous avez besoin d’aide supplémentaire.
Okta refera des tentatives de provisionnement SCIM ayant échoué avec l’intervention manuelle de l’administrateur Okta. Pour plus d’informations sur la façon dont un administrateur Okta peut réessayer une tâche ayant échoué pour une application spécifique, consultez la documentation Okta ou contactez le support Okta.
Dans une entreprise avec utilisateurs managés, où SCIM fonctionne généralement correctement, les tentatives d’approvisionnement SCIM individuelles échouent parfois. Les utilisateurs ne peuvent pas se connecter tant que leur compte n’est pas configuré sur GitHub. Ces échecs d’approvisionnement d’utilisateurs SCIM individuels entraînent un code d’état HTTP 400 et sont généralement causés par des problèmes de normalisation du nom d’utilisateur ou de conflit de nom d’utilisateur, où un autre utilisateur disposant du même nom d’utilisateur normalisé existe déjà dans l’entreprise. Consultez Considérations relatives au nom d'utilisateur pour une authentification externe.
Erreurs d’authentification SAML
Si les utilisateurs rencontrent des erreurs en essayant de s’authentifier via SAML, consultez Résolution des problèmes d’authentification SAML.
Erreurs d’identité SAML en conflit
Lorsque les utilisateurs tentent de s’authentifier auprès de votre fournisseur d’identité (IdP) SAML pour accéder à une organisation ou une entreprise GitHub pour la première fois, ils peuvent rencontrer le message d’erreur suivant.
Votre compte d’utilisateur GitHub [nom d’utilisateur GitHub] est actuellement dissocié. Toutefois, vous tentez de vous authentifier auprès de votre fournisseur d’identité en utilisant l’identité SAML [compte d’utilisateur du fournisseur d’identité] qui est déjà liée à un autre compte d’utilisateur GitHub dans l’[organisation/entreprise]. Veuillez contacter l’un des propriétaires de votre [organisation/entreprise] GitHub pour obtenir de l’aide.
Si le fournisseur d’identité est Entra ID, le message d’erreur inclura le User Object ID
de l’identité liée dans Entra ID, que GitHub désigne par le External ID
.
Ce message d’erreur apparaît car une identité externe ne peut être liée qu’à un seul compte d’utilisateur GitHub au sein d’une organisation ou d’une entreprise.
Identification de l’utilisateur avec une identité en conflit
Lorsque les utilisateurs vous contactent pour vous signaler cette erreur, vous pouvez suivre les étapes suivantes pour identifier les comptes en conflit.
- Utilisez l’API GraphQL GitHub pour déterminer quel utilisateur est lié à l’identité externe en conflit.
- Si SAML est configuré au niveau de l’organisation GitHub : un propriétaire d’organisation doit interroger les identités externes existantes au niveau de l’organisation et les filtrer par le SAML
NameID
du compte du fournisseur d’identité avec lequel l’utilisateur s’authentifie lorsque cette erreur se produit. Consultez l’exemple org-saml-identities-filtered-by-nameid-username.graphql dans le référentielplatform-samples
. - Si SAML est configuré au niveau de l’entreprise GitHub : un propriétaire d’entreprise doit interroger les identités externes existantes au niveau de l’entreprise et les filtrer par le SAML
NameID
du compte du fournisseur d’identité avec lequel l’utilisateur s’authentifie lorsque cette erreur se produit. Consultez l’exemple enterprise-saml-identities-filtered-by-nameid.graphql dans le référentielplatform-samples
.
- Si SAML est configuré au niveau de l’organisation GitHub : un propriétaire d’organisation doit interroger les identités externes existantes au niveau de l’organisation et les filtrer par le SAML
- Si vous avez identifié un utilisateur GitHub associé à l’identité externe en conflit, pour confirmer si l’utilisateur est toujours actif dans l’entreprise et dans les organisations qui en font partie, un propriétaire d'entreprise peut suivre les étapes décrites dans Visualisation des personnes dans votre entreprise.
Résolution du conflit
Lorsque vous avez suivi les étapes permettant d’identifier les comptes en conflit, plusieurs options de résolution s’offrent à vous en fonction de vos résultats. Si vous rencontrez des problèmes en essayant de suivre ces étapes ou si vous avez des questions, vous pouvez ouvrir un ticket de support GitHub en utilisant le Portail de support GitHub.
- L’utilisateur GitHub en conflit n’a plus besoin d’un accès
- L’utilisateur GitHub en conflit a toujours besoin d’un accès
- Aucun utilisateur GitHub en conflit trouvé
L’utilisateur GitHub en conflit n’a plus besoin d’un accès
Si un compte utilisateur GitHub est associé à l’identité externe en conflit qui n’a plus besoin d’accéder à l’organisation ou à l’entreprise GitHub, supprimez-le en tant que membre. Si l’utilisateur est supprimé correctement, son identité SAML liée, ainsi que son identité SCIM liée si elle existe au niveau de l’organisation, devraient également être supprimées.
- Si vous utilisez l’approvisionnement SCIM pour gérer l’appartenance à l’organisation, vous devez supprimer les privilèges d’accès de l’utilisateur depuis votre fournisseur d’identité via SCIM, plutôt que de suivre les étapes sur GitHub. Sinon, l’identité SAML et SCIM associée de l’utilisateur reste dans l’organisation, ce qui peut continuer à provoquer l’erreur.
- Si vous n’utilisez pas l’approvisionnement SCIM pour gérer l’appartenance à l’organisation, consultez Suppression d’un membre de votre organisation ou Suppression d’un membre de votre entreprise. Veillez également à supprimer l’accès de l’utilisateur à l’application GitHub pour l’organisation ou l’entreprise dans votre fournisseur d’identité.
Pour confirmer qu’une identité SAML ou SCIM a été supprimée avec succès d'une organisation GitHub pour un utilisateur, consultez Dépannage de la gestion des identités et des accès pour votre organisation.
L’utilisateur GitHub en conflit a toujours besoin d’un accès
Si un compte d’utilisateur GitHub est associé à l’identité externe en conflit et que cet utilisateur a toujours besoin d’accéder à l’organisation ou à l’entreprise, vous devrez soit modifier l’identité liée pour le compte d’utilisateur, soit demander à l’utilisateur qui reçoit l’erreur de s'authentifier avec une autre identité de fournisseur d’identité.
- Si vous utilisez l’approvisionnement SCIM pour gérer l’appartenance à une organisation et que vous devez modifier l’identité externe liée au compte GitHub du membre, supprimez les privilèges d’accès puis rétablissez-les depuis votre fournisseur d’identité (par exemple, supprimez l’attribution de l’utilisateur à l’application et réattribuez-la).
- Lorsque les privilèges d’accès de l’utilisateur du fournisseur d’identité sont supprimés, son compte GitHub et l’identité SAML/SCIM associée sont retirés de l’organisation GitHub.
- Lorsque l’utilisateur du fournisseur d’identité sera réapprovisionné dans l’organisation GitHub, une nouvelle invitation d’organisation en attente et une nouvelle identité SCIM non liée seront créées. Cela permettra à l’utilisateur de se connecter avec ce compte d’utilisateur GitHub, de s’authentifier via SAML et de lier la nouvelle identité du fournisseur d’identité à son compte. Ces étapes permettront de s’assurer que les nouvelles identités SAML et SCIM sont correctement liées au compte d’utilisateur GitHub dans l’organisation.
- Si vous n’utilisez pas l’approvisionnement SCIM pour gérer l’appartenance à l’organisation, ou si SAML est configuré au niveau de l’entreprise, vous pouvez révoquer l’identité externe liée pour l’utilisateur en suivant les étapes décrites dans l’un des articles suivants :
Aucun utilisateur GitHub en conflit trouvé
Si aucun compte d’utilisateur GitHub n’est associé à l’identité externe en conflit, vous pouvez révoquer l’identité externe.
- Si vous utilisez l’approvisionnement SCIM pour gérer l’appartenance à l’organisation, supprimez l’identité obsolète et non liée de votre fournisseur d’identité (par exemple, supprimez l’attribution de l’utilisateur à l’application du fournisseur d’identité).
- Si le fournisseur d’identité n’envoie pas l’appel d’API SCIM approprié à GitHub, l’identité restera dans l’organisation et l’erreur risque de persister.
- Pour confirmer qu’une identité SAML ou SCIM a été supprimée avec succès d'une organisation GitHub pour un utilisateur, consultez Dépannage de la gestion des identités et des accès pour votre organisation.
- Si vous n’utilisez pas l’approvisionnement SCIM pour gérer l’appartenance à l’organisation, pour révoquer l’identité externe liée, accédez à l’une des URL suivantes pour révoquer l’identité externe. Remplacez
USERNAME
par le nom d’utilisateur GitHub de l’utilisateur qui ne peut pas se connecter, etORGANIZATION
ouENTERPRISE
par la valeur appropriée.https://github.com/orgs/ORGANIZATION/people/USERNAME/sso
https://github.com/enterprises/ENTERPRISE/people/USERNAME/sso