Skip to main content

외부 인증에 대한 사용자 이름 고려 사항

Enterprise Managed Users 항목을 사용하는 경우 GitHub Enterprise Cloud에서는 특정 규칙에 따라 엔터프라이즈에서 각 사용자 계정의 사용자 이름을 확인합니다.

참고: 이 문서는 Enterprise Managed Users에만 적용됩니다. Enterprise Managed Users 없이 GitHub Enterprise Cloud를 사용하는 경우 GitHub이 아니라 사용자가 사용자 이름을 만듭니다.

외부 인증을 사용하는 사용자 이름 정보

Enterprise Managed Users가 있는 엔터프라이즈를 사용하는 경우 엔터프라이즈 멤버는 SAML IdP(ID 공급자)를 통해 GitHub에 액세스할 수 있도록 인증합니다. 자세한 내용은 "Enterprise Managed Users 정보" 및 "ID 및 액세스 관리 정보"을(를) 참조하세요.

사용자 계정이 SCIM을 통해 프로비전될 때 GitHub이(가) IdP에서 제공하는 식별자를 정규화한 다음 밑줄과 짧은 코드를 추가하여 각 사용자에 대한 사용자 이름을 자동으로 만듭니다. 여러 식별자가 동일한 사용자 이름으로 정규화되면 사용자 이름 충돌이 발생하고 첫 번째 사용자 계정만 만들어집니다. 정규화된 사용자 이름이 고유하고 39자 한도에 들도록 IdP를 변경하여 사용자 이름 문제를 해결할 수 있습니다.

참고: GitHub은(는) 각 사용자 이름을 만들 때 IdP에서 제공하는 정규화된 식별자에 밑줄과 짧은 코드를 추가하므로 각 관리형 사용자가 있는 엔터프라이즈에서만 충돌이 발생할 수 있습니다. 관리형 사용자 계정은(는) 엔터프라이즈 외부에 있는 GitHub.com의 다른 사용자 계정과 IdP 식별자 또는 전자 메일 주소를 공유할 수 있습니다.

관리형 사용자 계정에 대한 사용자 이름 정보

관리형 사용자가 있는 엔터프라이즈을(를) 만드는 경우 엔터프라이즈 멤버의 사용자 이름에 대한 접미사로 사용할 짧은 코드를 선택하게 됩니다. 엔터프라이즈에 고유한 짧은 코드는 3~8자 영숫자 문자열이어야 하며 특수 문자를 포함하지 않아야 합니다. SAML SSO를 구성하는 설정 사용자의 사용자 이름은 @SHORT-CODE_admin 형식입니다.

ID 공급자로부터 새 사용자를 프로비전할 때 새 관리형 사용자 계정의 GitHub 사용자 이름은 @IDP-USERNAME_SHORT-CODE 형식입니다. IDP-USERNAME 구성 요소는 IdP에서 보낸 SCIM userName 특성 값을 정규화하여 구성됩니다.

ID 공급자GitHub 사용자 이름
Microsoft Entra ID(이전의 Azure AD)IDP-USERNAME은 게스트 계정에 대한 #EXT#을(를) 포함하지 않는 UPN(사용자 계정 이름)의 @ 문자 앞에 나오는 문자를 정규화하여 구성됩니다.
OktaIDP-USERNAME은 IdP에서 제공하는 정규화된 사용자 이름 특성입니다.

이러한 규칙에 따라 IdP에서 여러 사용자에 대해 동일한 IDP-USERNAME을 제공할 수 있습니다. 예를 들어 Entra ID의 경우 다음과 같은 UPN은 동일한 사용자 이름을 생성합니다.

  • bob@contoso.com
  • bob@fabrikam.com
  • bob#EXT#fabrikamcom@contoso.com
  • bob_example#EXT#fabrikamcom@contoso.com
  • bob_example.com#EXT#fabrikamcom@contoso.com

이로 인해 사용자 이름 충돌이 발생하고 첫 번째 사용자만 프로비전됩니다. 자세한 내용은 "사용자 이름 문제 해결"을 참조하세요.

사용자 이름(밑줄 및 짧은 코드 포함)는 39자를 초과할 수 없습니다.

사용자 이름 정규화 정보

GitHub.com의 사용자 계정에 대한 사용자 이름은 영숫자와 대시(-)만 포함할 수 있습니다.

SAML 인증을 구성하는 경우 GitHub Enterprise Cloud은 IdP에서 보낸 SCIM userName 특성 값을 사용하여 GitHub.com에서 해당 사용자 계정에 대한 사용자 이름을 확인합니다. 이 값에 지원되지 않는 문자가 포함되면 GitHub Enterprise Cloud에서 다음 규칙에 따라 사용자 이름을 정규화합니다.

  1. GitHub Enterprise Cloud에서 계정의 사용자 이름에 있는 영숫자가 아닌 문자를 대시로 정규화합니다. 예를 들어 사용자 이름 mona.the.octocatmona-the-octocat으로 정규화됩니다. 정규화된 사용자 이름은 대시로 시작하거나 끝날 수 없습니다. 또한 두 개의 연속 대시를 포함할 수 없습니다.

  2. 이메일 주소에서 만든 사용자 이름은 @ 문자 앞에 있는 정규화된 문자에서 만들어집니다.

  3. 도메인 계정으로 만든 사용자 이름은 \\ 구분 기호 뒤 정규화된 문자에서 만들어집니다.

  4. 여러 계정이 동일한 GitHub Enterprise Cloud 사용자 이름으로 정규화되는 경우 첫 번째 사용자 계정만 만들어집니다. 동일한 사용자 이름을 가진 후속 사용자는 로그인할 수 없습니다. 자세한 내용은 "사용자 이름 문제 해결"을 참조하세요.

사용자 이름 정규화의 예

공급자의 식별자GitHub의 정규화된 사용자 이름결과
The.Octocatthe-octocat_SHORT-CODE이 사용자 이름이 성공적으로 만들어집니다.
The.Octocat!-the-octocat_SHORT-CODE이 사용자 이름은 대시로 시작하므로 만들어지지 않습니다.
The.Octocat!the-octocat-_SHORT-CODE이 사용자 이름은 대시로 끝나므로 만들어지지 않습니다.
The!!Octocatthe--octocat_SHORT-CODE이 사용자 이름은 두 개의 연속 대시를 포함하므로 만들어지지 않습니다.
The!Octocatthe-octocat_SHORT-CODE이 사용자 이름은 만들어지지 않습니다. 정규화된 사용자 이름은 유효하지만 이미 존재합니다.
The.Octocat@example.comthe-octocat_SHORT-CODE이 사용자 이름은 만들어지지 않습니다. 정규화된 사용자 이름은 유효하지만 이미 존재합니다.
internal\\The.Octocatthe-octocat_SHORT-CODE이 사용자 이름은 만들어지지 않습니다. 정규화된 사용자 이름은 유효하지만 이미 존재합니다.
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-states_SHORT-CODE이 사용자 이름은 39자 제한을 초과하므로 만들어지지 않습니다.

사용자 이름 문제 해결

새 사용자가 프로비전될 때 사용자 이름이 39자보다 길거나(밑줄 및 짧은 코드 포함) 엔터프라이즈의 기존 사용자와 충돌하는 경우 프로비전 시도가 409 오류로 인해 실패합니다.

이 문제를 해결하려면 정규화된 사용자 이름이 문자수 한도에 들고 고유하도록 다음 변경 사항 중 하나를 IdP에 적용해야 합니다.

  • 문제를 일으키는 개별 사용자의 userName 특성 값 변경
  • 모든 사용자의 userName 특성 매핑 변경
  • 모든 사용자에 대해 사용자 지정 userName 특성 구성

특성 매핑을 변경하면 기존 관리형 사용자 계정의 사용자 이름이 업데이트되지만, 작업 기록을 포함하여 계정에 대한 다른 항목은 변경되지 않습니다.

참고: GitHub 지원는 특성 매핑 사용자 지정 또는 사용자 지정 식 구성에 대한 지원을 제공할 수 없습니다. 질문이 있는 경우 IdP에 문의할 수 있습니다.

Entra ID를 사용하여 사용자 이름 문제 해결

Entra ID에서 사용자 이름 문제를 해결하려면 충돌하는 사용자의 사용자 계정 이름 값을 수정하거나 userName 특성에 대한 특성 매핑을 수정합니다. 특성 매핑을 수정하는 경우 기존 특성을 선택하거나 식을 사용하여 프로비전된 모든 사용자가 고유한 정규화된 별칭을 갖도록 할 수 있습니다.

  1. Entra ID에서 GitHub Enterprise Managed User 애플리케이션을 엽니다.
  2. 왼쪽 사이드바에서 프로비전을 클릭합니다.
  3. 프로비전 편집을 클릭합니다.
  4. 매핑을 확장한 다음 Entra ID 사용자 프로비저닝을 클릭합니다.
  5. GitHub userName 특성 매핑을 클릭합니다.
  6. 특성 매핑을 변경합니다.
    • Entra ID의 기존 특성을 GitHub의 userName 특성에 매핑하려면 원하는 특성 필드를 클릭합니다. 그런 다음, 저장하고 약 40분 내에 프로비전 주기가 발생할 때까지 기다립니다.
    • 기존 특성 대신 식을 사용하려면 매핑 형식을 "식"으로 변경한 다음, 모든 사용자에 대해 이 값을 고유하게 만드는 사용자 지정 식을 추가합니다. 예를 들어 [FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]를 사용할 수 있습니다. 자세한 내용은 Microsoft Learn의 Microsoft Entra ID에서 특성 매핑을 위한 식 작성에 대한 참조를 참조하세요.

Okta의 사용자 이름 문제 해결

OKTA에서 사용자 이름 문제를 해결하려면 GitHub Enterprise Managed User 애플리케이션에 대한 특성 매핑 설정을 업데이트합니다.

  1. OKTA에서 GitHub Enterprise Managed User 애플리케이션을 엽니다.
  2. 로그온을 클릭합니다.
  3. "설정" 구역에서 편집을 클릭합니다.
  4. "애플리케이션 사용자 이름 형식"을 업데이트합니다.