사용자의 외부 ID 정보 보기
사용자가 SAML을 사용하여 성공적으로 인증할 수 없는 경우 GitHub에서 사용자 계정에 연결된 Single Sign-On ID에 대한 정보를 보는 것이 도움이 될 수 있습니다. 자세한 내용은 엔터프라이즈에 대한 사용자의 SAML 액세스 보기 및 관리을(를) 참조하세요.
사용자 이름 충돌
엔터프라이즈에서 Enterprise Managed Users를 사용하는 경우 GitHub는 SCIM API 호출에서 IdP(ID 공급자)가 보낸 SCIM userName
특성 값을 정규화하여 GitHub에 각 사용자의 사용자 이름을 만듭니다. 여러 계정이 동일한 GitHub 사용자 이름으로 정규화된 경우 사용자 이름 충돌이 발생하고 첫 번째 사용자 계정만 만들어집니다. 자세한 내용은 외부 인증에 대한 사용자 이름 고려 사항을(를) 참조하세요.
인증 구성을 전환할 때 발생하는 오류
SAML SSO 구성을 조직에서 엔터프라이즈 계정으로 변경하거나 Enterprise Managed Users에 대해 SAML에서 OIDC로 마이그레이션하는 등 다양한 인증 구성 간에 전환하는 동안 문제가 발생하는 경우 변경에 대한 모범 사례를 따르고 있는지 확인합니다.
SSO를 사용할 수 없는 경우 엔터프라이즈에 액세스
IdP(ID 공급자)에 구성 오류 또는 이슈가 발생하여 SSO를 사용할 수 없는 경우 복구 코드를 사용하여 엔터프라이즈에 액세스할 수 있습니다. 자세한 내용은 ID 공급자를 사용할 수 없는 경우 엔터프라이즈 계정에 액세스을(를) 참조하세요.
SCIM 프로비전 오류
GitHub의 트래픽률 제한을 초과하지 않으려면 시간당 1,000명이 넘는 사용자를 IdP의 SCIM 통합에 할당하지 마세요. 그룹을 사용하여 IdP 애플리케이션에 사용자를 할당하는 경우 시간당 각 그룹에 1,000명 이상의 사용자를 추가하지 마세요. 이러한 임계값을 초과하는 경우 사용자를 프로비저닝하려고 시도하면 "트래픽률 제한" 오류로 실패할 수 있습니다. IdP 로그를 검토하여 트래픽률 제한 오류로 인해 SCIM 프로비저닝 또는 푸시 작업이 실패했는지 확인할 수 있습니다. 실패한 프로비저닝 시도에 대한 응답은 IdP에 따라 달라집니다.
Microsoft Entra ID(이전의 Azure AD)는 다음 Entra ID 동기화 주기 동안 SCIM 프로비저닝을 자동으로 다시 시도합니다. Entra ID의 기본 SCIM 프로비전 간격은 40분입니다. 이 재시도 동작에 대한 자세한 내용은 Microsoft 설명서에서 참조하거나 추가 지원이 필요하면 Microsoft 지원에 문의하세요.
Okta는 수동 Okta 관리자 개입으로 실패한 SCIM 프로비전을 다시 시도합니다. Okta 관리자가 특정 애플리케이션에서 실패한 작업을 다시 시도하는 방법에 대한 자세한 내용은 Okta 설명서를 참조하거나 Okta 지원에 문의하세요.
SCIM이 일반적으로 제대로 작동하는 관리형 사용자가 있는 엔터프라이즈에서는 개별 사용자 SCIM 프로비저닝 시도가 실패하는 경우가 있습니다. GitHub에 계정이 프로비전될 때까지 사용자는 로그인할 수 없습니다. 이러한 개별 SCIM 사용자 프로비저닝 실패로 인해 HTTP 400 상태 코드가 발생하며, 일반적으로 정규화된 사용자 이름이 동일한 다른 사용자가 엔터프라이즈에 이미 존재하는 사용자 이름 정규화 문제 또는 사용자 이름 충돌로 인해 발생합니다. 외부 인증에 대한 사용자 이름 고려 사항을(를) 참조하세요.
SAML 인증 오류
사용자가 SAML을 사용하여 인증을 시도할 때 오류가 발생하는 경우 SAML 인증 문제 해결을(를) 참조하세요.
SAML ID 오류 충돌
When users attempt to authenticate with your SAML identity provider (IdP) to access a GitHub organization or enterprise for the first time, they may encounter the following error message.
Your GitHub user account [GitHub username] is currently unlinked. However, you are attempting to authenticate with your Identity Provider using [IdP user account] SAML identity which is already linked to a different GitHub user account in the [organization/enterprise]. Please reach out to one of your GitHub [organization/enterprise] owners for assistance.
If the IdP is Entra ID, the error message will include the User Object ID
of the linked identity in Entra ID, which GitHub refers to as the External ID
.
This error message occurs because an external identity can only be linked to a single GitHub user account within an organization or enterprise.
Identifying the user with a conflicting identity
When users contact you with this error, you can run through the following steps to identify the conflicting accounts.
- Use the GitHub GraphQL API to determine which user is linked to the conflicting external identity.
- If SAML is configured at the GitHub organization level: an organization owner must query the existing external identities at the organization level and filter them by the SAML
NameID
of the IdP account that the user is authenticating with when this error occurs. See the org-saml-identities-filtered-by-nameid-username.graphql sample in theplatform-samples
repository. - If SAML is configured at the GitHub enterprise level: an enterprise owner must query the existing external identities at the enterprise level and filter them by the SAML
NameID
of the IdP account that the user is authenticating with when this error occurs. See the enterprise-saml-identities-filtered-by-nameid.graphql sample in theplatform-samples
repository.
- If SAML is configured at the GitHub organization level: an organization owner must query the existing external identities at the organization level and filter them by the SAML
- If you identified a GitHub user associated with the conflicting external identity, to confirm if the user is still active in the enterprise and any organizations within it, an enterprise owner can follow the steps in Enterprise에서 사용자 보기.
Resolving the conflict
When you have followed the steps to identify conflicting accounts, there are various resolution options depending on your findings. If you encounter issues when attempting to follow these steps or have questions, you can open a GitHub support ticket using the GitHub 지원 포털.
- Conflicting GitHub user no longer needs access
- Conflicting GitHub user still needs access
- No conflicting GitHub user found
Conflicting GitHub user no longer needs access
If there is a GitHub user account associated with the conflicting external identity that no longer needs access to the GitHub organization or enterprise, remove them as a member. If the user is removed properly, this should also remove their linked SAML identity, and linked SCIM identity if this exists at the organization level.
- If you use SCIM provisioning to manage organization membership, you must deprovision the user from your IdP via SCIM, rather than following the steps on GitHub. Otherwise, the user's linked SAML and SCIM identity will remain in the organization, which may continue to cause the error.
- If don't use SCIM provisioning to manage organization membership, see 조직에서 구성원 제거 or 엔터프라이즈에서 멤버 제거. Make sure to also remove the user's access from the GitHub app for the organization or enterprise in your IdP.
To confirm that a SAML or SCIM identity has been successfully removed from a GitHub organization for a user, see 조직의 ID 및 액세스 관리 문제 해결.
Conflicting GitHub user still needs access
If there is a GitHub user account associated with the conflicting external identity and this user still needs access to the organization or enterprise, you will need to either change the linked identity for the user account or have the user who is receiving the error authenticate with a different IdP identity.
- If you use SCIM provisioning to manage membership of an organization and you need to change the external identity that is linked to the member's GitHub account, deprovision then reprovision the user from your IdP (for example, unassign and reassign the user to the app).
- When the IdP user is deprovisioned, their GitHub account and linked SAML/SCIM identity will be removed from the GitHub organization.
- When the IdP user is reprovisioned to the GitHub organization, a new pending organization invitation and new unlinked SCIM identity will be created. This will allow the user to sign in with this GitHub user account, authenticate via SAML, and link the new IdP identity to their account. These steps will help ensure that both the new SAML and SCIM identity are properly linked to the GitHub user account in the organization.
- If you don't use SCIM provisioning to manage organization membership, or if SAML is configured at the enterprise level, you can revoke the linked external identity for the user by following the steps in one of the following articles:
No conflicting GitHub user found
If there is no GitHub user account associated with the conflicting external identity, you can revoke the external identity.
- If you use SCIM provisioning to manage membership of the organization, remove the stale, unlinked identity from your IdP (for example, unassign the user from the IdP app).
- If the IdP does not send the appropriate SCIM API call to GitHub, the identity will remain in the organization, which may continue to cause the error.
- To confirm that a SAML or SCIM identity has been successfully removed from a GitHub organization for a user, see 조직의 ID 및 액세스 관리 문제 해결.
- If you don't use SCIM provisioning to manage membership of the organization, to revoke the linked external identity, navigate to one of the following URLs below to revoke the external identity. Replace
USERNAME
with the GitHub username of the user who cannot sign in, andORGANIZATION
orENTERPRISE
with the appropriate value.https://github.com/orgs/ORGANIZATION/people/USERNAME/sso
https://github.com/enterprises/ENTERPRISE/people/USERNAME/sso