Skip to main content

Enterprise Server 3.21 은(는) 현재 릴리스 후보로 제공됩니다.

엔터프라이즈에 대한 SAML Single Sign-On 구성

ID 공급자(IdP)를 통해 SAML SSO(Single Sign-On)를 구성GitHub Enterprise Server 인스턴스엔터프라이즈 조직 내에서 리포지토리, 문제 및 끌어오기 요청과 같은 리소스에 대한 액세스를 제어하고 보호할 수 있습니다.

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

Site administrators can configure SAML SSO for a GitHub Enterprise Server instance.

SAML SSO 정보

SAML SSO를 사용하면 SAML IdP에서 GitHub Enterprise Server 인스턴스에 대한 액세스를 중앙에서 제어하고 보호할 수 있습니다.

인증되지 않은 사용자가 로그인 GitHub Enterprise Server 인스턴스 을 시도하고 기본 제공 인증GitHub을 사용하지 않도록 설정한 경우 인증을 위해 사용자를 SAML IdP로 리디렉션합니다. 사용자가 IdP의 계정으로 성공적으로 인증한 후 IdP는 사용자를 다시 GitHub Enterprise Server 인스턴스리디렉션합니다. GitHub IdP에서 응답의 유효성을 검사한 다음 사용자에게 액세스 권한을 부여합니다. 사용자의 SAML 세션은 브라우저에서 24시간 동안 활성 상태로 유지됩니다. 이후에는 사용자가 다시 ID 프로바이더를 통해 인증해야 합니다.

JIT 프로비저닝을 사용하면서 IdP에서 사용자를 제거하는 경우 GitHub Enterprise Server 인스턴스에서 사용자 계정을 수동으로 일시 중단해야 합니다. 그러지 않으면 계정의 소유자는 액세스 토큰 또는 SSH 키를 사용하여 계속 인증할 수 있습니다. 자세한 내용은 사용자 일시 중단 및 일시 중단 취소을(를) 참조하세요.

지원되는 ID 공급자

GitHub는 SAML 2.0 표준을 구현하는 IdP가 있는 SAML SSO를 지원합니다. 자세한 내용은 OASIS 웹 사이트의 SAML Wiki를 참조하세요.

GitHub는 공식적으로 다음 IdP를 지원하고 내부적으로 테스트합니다. GitHub Enterprise Server에서 SCIM에 지원되는 IdP에 대한 자세한 내용은 GitHub Enterprise Server에서 SCIM을 사용하여 사용자 프로비저닝 정보을(를) 참조하세요.

  • Microsoft AD FS(Active Directory Federation Services)
  • Microsoft Entra ID(이전의 Azure AD)
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

엔터티 ID를 엔터프라이즈에 연결하는 방법에 대한 자세한 내용은 Microsoft Docs Tutorial: GitHub Enterprise Server와의 Microsoft Entra SSO 통합을 참조하세요.

참고

GitHub Microsoft Entra ID Government Cloud 및 Okta Government Cloud를 포함하여 정부 클라우드 환경에서 사용할 IdP(ID 공급자) 갤러리 애플리케이션을 테스트하거나 유효성을 검사하지 않습니다. 이러한 환경에서 갤러리 애플리케이션과 관련된 인증 및 SCIM 프로비저닝 문제는 'GitHub 밖에 있습니다.

SAML을 사용하는 사용자 이름 고려 사항

GitHub에서는 외부 인증 공급자 값을 정규화하여 GitHub Enterprise Server 인스턴스에 있는 각 새 개인 계정의 사용자 이름을 확인합니다. 자세한 내용은 외부 인증에 대한 사용자 이름 고려 사항을 참조하세요.

SAML SSO 구성

SAML 인증을 GitHub Enterprise Server 인스턴스사용하거나 사용하지 않도록 설정하거나 기존 구성을 편집할 수 있습니다. 관리 콘솔에서 인증 설정을 보고 편집할 수 있습니다. 자세한 내용은 웹 UI에서 인스턴스를 관리하기을(를) 참조하세요.

참고

GitHub는 스테이징 환경에서 인증을 위한 새 구성을 확인하는 것을 강력하게 권장합니다. 구성이 잘못되면 GitHub Enterprise Server 인스턴스에 가동 중지 시간이 발생할 수 있습니다. 자세한 내용은 스테이징 인스턴스 설정을(를) 참조하세요.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.

  4. "설정" 사이드바에서 인증을 클릭합니다.

  5. “인증”에서 SAML을 선택합니다.

  6. 필요에 따라 외부 인증 시스템에 계정이 없는 사용자가 기본 제공 인증으로 로그인할 수 있도록 하려면 기본 제공 인증 허용을 선택합니다. 자세한 내용은 공급자 외부 사용자에게 기본 제공 인증 허용을(를) 참조하세요.

  7. 필요에 따라 요청되지 않은 응답 SSO를 사용하도록 설정하려면 IdP 시작 SSO를 선택합니다. 기본적으로 GitHub Enterprise Server는 사전 요청 없이 시작된 IdP 요청에 대해 IdP에 AuthnRequest를 반환합니다.

    이 값을 선택되지 않음 상태로 유지하는 것이 좋습니다. 이 기능은 SAML 구현이 서비스 제공자 시작 SSO를 지원하지 않는 드문 경우에만, 그리고 GitHub Enterprise 지원의 권고가 있는 경우에만 사용하도록 설정해야 합니다.

  8. 필요에 따라 SAML 공급자가 사용자의 GitHub Enterprise Server 인스턴스관리자 권한을 결정하지 않으려면 관리자 강등/승격 사용 안 함 선택

  9. 선택적으로 GitHub Enterprise Server 인스턴스가 SAML IdP에서 암호화된 어설션을 받을 수 있도록 하려면 암호화된 어설션 필요를 선택합니다.

    IdP가 암호화된 어설션을 지원하고 관리 콘솔의 암호화 및 키 전송 메서드가 IdP에 구성된 값과 일치하는지 확인해야 합니다. 또한 GitHub Enterprise Server 인스턴스의 공개 인증서를 사용자의 IdP에 제공해야 합니다. 자세한 내용은 암호화된 어설션 활성화을(를) 참조하세요.

  10. Single Sign-On URL 필드에서 Single Sign-On 요청에 대한 IdP에 HTTP 또는 HTTPS 엔드포인트를 입력합니다. 이 값은 IdP 구성에서 제공됩니다. 호스트를 내부 네트워크에서만 사용할 수 있는 경우 내부 이름 서버를 사용하도록 구성GitHub Enterprise Server 인스턴스해야 할 수 있습니다.

  11. 필요에 따라 발급자 필드에 SAML 발급자의 이름을 입력합니다. 이는 GitHub Enterprise Server 인스턴스로 전송된 메시지의 진위를 확인합니다.

  12. 서명 메서드다이제스트 메서드 드롭다운 메뉴를 선택한 다음 SAML 발급자에서 GitHub Enterprise Server 인스턴스사용하는 해시 알고리즘을 클릭하여 요청의 무결성을 확인합니다.

  13. 이름 식별자 형식 드롭다운 메뉴를 선택한 다음 형식을 클릭합니다.

  14. "Verification certificate"에서 Choose File을 클릭한 다음, 인증서를 선택하여 ID 공급자에서 SAML 응답의 유효성을 검사합니다.

    참고

    GitHub 는 이 SAML IdP 인증서의 만료를 적용하지 않습니다. 따라서 이 인증서가 만료되더라도 SAML 인증은 계속 작동합니다. 그러나 IdP 관리자가 SAML 인증서를 다시 생성했는데도 GitHub 측에서 이를 업데이트하지 않으면, 인증서 불일치로 인해 사용자는 SAML 인증을 시도하는 동안 digest mismatch 오류를 겪게 됩니다. 오류: 다이제스트 불일치를 참조하세요.

  15. 필요한 경우 “사용자 특성”에서 IdP와 일치하도록 SAML 특성 이름을 수정하거나 기본 이름을 적용합니다.

추가 참고 자료