Skip to main content

SAML에서 OIDC로 마이그레이션

SAML을 사용하여 관리형 사용자가 있는 엔터프라이즈의 구성원을 인증하는 경우 OIDC(OpenID Connect)로 마이그레이션하고 IdP의 조건부 액세스 정책에 대한 지원을 활용할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

Enterprise Managed Users은(는) GitHub Enterprise Cloud에서 새 엔터프라이즈 계정에서 사용할 수 있습니다. "Enterprise Managed Users 정보" 항목을 참조하세요.

Note

Enterprise Managed Users에 대한 OIDC(OpenID Connect) 및 CAP(조건부 액세스 정책) 지원은 Microsoft Entra ID(이전의 Azure AD)만 사용할 수 있습니다.

관리형 사용자가 있는 엔터프라이즈을(를) SAML에서 OIDC로 마이그레이션하는 방법

관리형 사용자가 있는 엔터프라이즈에서 SAML SSO를 사용하여 Entra ID로 인증하는 경우 OIDC로 마이그레이션할 수 있습니다. 엔터프라이즈에서 OIDC SSO를 사용하는 경우, GitHub는 ID 공급자의 CAP(조건부 액세스 정책) IP 조건을 자동으로 사용하여 구성원이 웹 UI를 사용하거나 또는 IP 주소를 변경할 때, 사용자 계정과 관련한 personal access token 또는 SSH 키를 사용한 각 인증에 대하여 GitHub와의 상호 작용의 유효성을 검사합니다.

Note

웹 세션에 대한 CAP 보호는 현재 공개 미리 보기 상태이며 변경될 수 있습니다.

엔터프라이즈에 대해 IdP CAP 지원을 이미 사용하도록 설정한 경우 엔터프라이즈의 “인증 보안” 설정에서 웹 세션에 대한 확장된 보호를 옵트인할 수 있습니다. 이 기능을 사용하려면 엔터프라이즈에 활성 또는 일시 중단된 1,000명 이하의 구성원이 있어야 합니다.

SAML에서 OIDC로 마이그레이션하는 경우 관리형 사용자 계정 및 이전에 SAML에 대해 프로비전되었지만 GitHub Enterprise Managed User (OIDC) 애플리케이션에서 프로비전되지 않은 그룹은 표시 이름에 "(SAML)"이 추가됩니다.

Enterprise Managed Users를 새로 사용하고 엔터프라이즈에 대한 인증을 아직 구성하지 않은 경우 마이그레이션할 필요가 없으며 OIDC Single Sign-On을 즉시 설정할 수 있습니다. 자세한 내용은 Enterprise Managed Users용 OIDC 구성을(를) 참조하세요.

Warning

새 IdP 또는 테넌트로 마이그레이션하는 경우, GitHub 팀과 IdP 그룹 간 연결이 제거되며 마이그레이션 후 복구되지 않습니다. 이렇게 하면 팀에서 모든 구성원이 제거되고, 팀이 IdP에 연결되지 않은 채 방치되며, 이는 IdP 조직이나 라이선스에 대한 액세스를 관리하기 위해 팀 동기화를 사용하는 경우 중단을 초래할 수 있습니다. 마이그레이션 전에 REST API의 "외부 그룹" 엔드포인트를 사용해 팀 설정에 관한 정보를 수집한 다음 나중에 연결을 복구하는 것이 좋습니다. 자세한 내용은 "외부 그룹에 대한 REST API 엔드포인트"을(를) 참조하세요.

필수 조건

  • GitHub에서 엔터프라이즈는 Entra ID를 ID 공급자(IdP)로서 현재 인증에 SAML을 사용하도록 구성해야 합니다. 자세한 내용은 Enterprise Managed Users에 대한 SAML Single Sign-On 구성을(를) 참조하세요.

  • GitHub의 엔터프라이즈와 Entra ID의 테넌트에 모두 액세스해야 합니다.

    • Entra ID의 GitHub Enterprise Managed User (OIDC) 애플리케이션을 구성하려면 전역 관리자 역할을 가진 사용자로 Entra ID 테넌트에 로그인해야 합니다.
    • GitHub에서 엔터프라이즈의 설정 사용자로 로그인하려면 엔터프라이즈의 복구 코드를 사용해야 합니다. 자세한 내용은 "엔터프라이즈 계정의 Single Sign-On 복구 코드 다운로드" 항목을 참조하세요.
  • 사용자가 엔터프라이즈 리소스를 적극적으로 사용하지 않을 때 마이그레이션 시간을 예약합니다. 마이그레이션하는 동안 사용자는 새 애플리케이션을 구성하고 사용자를 다시 프로비전할 때까지 엔터프라이즈에 액세스할 수 없습니다.

엔터프라이즈 마이그레이션

엔터프라이즈를 SAML에서 OIDC로 마이그레이션하려면 Entra ID에서 기존 GitHub Enterprise Managed User 애플리케이션을 사용하지 않도록 설정하고 GitHub에서 엔터프라이즈의 설정 사용자로 마이그레이션을 준비하여 시작한 다음, Entra ID에 OIDC용 새 애플리케이션을 설치하고 구성합니다. 마이그레이션이 완료되고 Entra ID에서 사용자를 프로비전하면 사용자가 OIDC를 사용해 인증하여 GitHub에서 엔터프라이즈 리소스에 액세스할 수 있습니다.

Warning

엔터프라이즈를 SAML에서 OIDC로 마이그레이션하는 데 최대 1시간까지 걸릴 수 있습니다. 마이그레이션하는 동안 사용자는 GitHub에서 엔터프라이즈에 액세스할 수 없습니다.

  1. 마이그레이션을 시작하기 전에 Azure에 로그인하고 기존 GitHub Enterprise Managed User 애플리케이션에서 프로비전을 사용하지 않도록 설정합니다.

  2. Entra ID에서 CA(조건부 액세스) 네트워크 위치 정책을 사용하고 엔터프라이즈 계정에서 또는 엔터프라이즈 계정이 소유한 조직에서 IP 허용 목록을 현재 사용 중인 경우 IP 허용 목록 기능을 사용하지 마세요. 엔터프라이즈에서 보안 설정에 대한 정책 적용조직에 허용되는 IP 주소 관리을(를) 참조하세요.

  3. SHORT-CODE_admin 사용자 이름으로 엔터프라이즈의 설치 사용자로 로그인하여 SHORT-CODE를 엔터프라이즈의 짧은 코드로 바꿔줍니다.

  4. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음엔터프라이즈를 클릭합니다.

  5. ID 공급자로 진행하라는 메시지가 표시되면 복구 코드 사용을 클릭하고 엔터프라이즈의 복구 코드 중 하나를 사용하여 로그인합니다.

    Note

    사용자 계정이 아닌 엔터프라이즈의 복구 코드를 사용해야 합니다. 자세한 내용은 "엔터프라이즈 계정의 Single Sign-On 복구 코드 다운로드" 항목을 참조하세요.

  6. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 ID 공급자를 클릭합니다.

  7. ID 공급자에서 Single Sign-On 구성을 클릭합니다.

  8. 페이지 아래쪽의 OpenID Connect Single Sign-On으로 마이그레이션을 클릭합니다.

  9. 경고를 읽은 다음, OIDC로 마이그레이션을 클릭합니다.

  10. OIDC로 마이그레이션 시작을 클릭합니다.

  11. GitHub Enterprise Cloud가 리디렉션하면 IdP에 로그인한 후, 지침에 따라 동의하고 GitHub Enterprise Managed User (OIDC) 애플리케이션을 설치합니다. Entra ID가 OIDC를 사용하여 GitHub Enterprise Managed Users에 대한 권한을 요청한 후 조직을 대신하여 동의를 사용하도록 설정한 다음 수락을 클릭합니다.

    Warning

    GitHub Enterprise Managed User (OIDC) 애플리케이션 설치에 동의하려면 전역 관리자 권한이 있는 사용자로 Entra ID에 로그인해야 합니다.

  12. 동의하면 GitHub에 새 브라우저 창이 열리고 관리형 사용자가 있는 엔터프라이즈에 대한 새 복구 코드 세트가 표시됩니다. 코드를 다운로드한 다음, OIDC 인증 사용을 클릭합니다.

  13. 마이그레이션이 완료되기를 기다립니다. 최대 1시간까지 걸릴 수 있습니다. 마이그레이션의 상태를 확인하려면 엔터프라이즈의 인증 보안 설정 페이지로 이동합니다. "SAML 인증 필요"가 선택되어 있다면 아직 마이그레이션이 진행 중인 것입니다.

    Warning

    마이그레이션하는 동안 Entra ID의 애플리케이션에서 새 사용자를 프로비전하지 마세요.

  14. 새 탭 또는 창에서 설치 사용자로 로그인되어 있는 동안 scim:enterprise 범위와 만료 없음을 사용하여 personal access token (classic)을(를) 만들고 클립보드에 복사합니다. 새 토큰을 만드는 방법에 대한 자세한 내용은 엔터프라이즈 관리 사용자용을(를) 참조하세요.

  15. Microsoft Entra 관리 센터의 GitHub Enterprise Managed User (OIDC) 애플리케이션에 대한 프로비전 설정에서 “테넌트 URL” 아래에 엔터프라이즈의 테넌트 URL을 입력합니다.

    • GitHub.com: https://api.github.com/scim/v2/enterprises/YOUR_ENTERPRISE의 경우, YOUR_ENTERPRISE를 엔터프라이즈 계정 이름으로 바꿉니다. 예를 들어 엔터프라이즈 계정의 URL이 https://github.com/enterprises/octo-corp이면 엔터프라이즈 계정의 이름은 octo-corp입니다.
    • GHE.com: https://api.SUBDOMAIN.ghe.com/scim/v2/enterprises/SUBDOMAIN에서 SUBDOMAIN은 GHE.com에 있는 엔터프라이즈의 하위 도메인입니다.
  16. "비밀 토큰" 아래에 앞서 만든 scim:enterprise 범위의 personal access token (classic)을 붙여넣습니다.

  17. 구성을 테스트하려면 연결 테스트를 클릭합니다.

  18. 변경 내용을 저장하려면 양식 맨 위에서 저장을 클릭합니다.

  19. Microsoft Entra 관리 센터에서 이전 GitHub Enterprise Managed User 애플리케이션의 사용자 및 그룹을 새 GitHub Enterprise Managed User (OIDC) 애플리케이션으로 복사합니다.

  20. 새 사용자를 하나 프로비전하여 구성을 테스트합니다.

  21. 테스트에 성공하면 프로비전 시작을 클릭하여 모든 사용자에 대한 프로비전을 시작합니다.