Skip to main content

Configuring SAML single sign-on for your enterprise

You can control and secure access to GitHub Enterprise Server 인스턴스 by configuring SAML single sign-on (SSO) through your identity provider (IdP).

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

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

About SAML SSO

SAML SSO allows you to centrally control and secure access to GitHub Enterprise Server 인스턴스 from your SAML IdP. When an unauthenticated user visits GitHub Enterprise Server 인스턴스 in a browser, GitHub Enterprise Server will redirect the user to your SAML IdP to authenticate. After the user successfully authenticates with an account on the IdP, the IdP redirects the user back to GitHub Enterprise Server 인스턴스. GitHub Enterprise Server validates the response from your IdP, then grants access to the user.

After a user successfully authenticates on your IdP, the user's SAML session for GitHub Enterprise Server 인스턴스 is active in the browser for 24 hours. After 24 hours, the user must authenticate again with your IdP.

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

Supported identity providers

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

GitHub는 다음 IdP를 공식적으로 지원하고 내부적으로 테스트합니다.

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

For more information about connecting Entra ID to your enterprise, see Tutorial: Microsoft Entra SSO integration with GitHub Enterprise Server in Microsoft Docs.

Username considerations with SAML

GitHub Enterprise Server에서는 외부 인증 공급자 값을 정규화하여 GitHub Enterprise Server 인스턴스에서 각 새 개인 계정의 사용자 이름을 확인합니다. For more information, see "외부 인증에 대한 사용자 이름 고려 사항."

Configuring SAML SSO

You can enable or disable SAML authentication for GitHub Enterprise Server 인스턴스, or you can edit an existing configuration. You can view and edit authentication settings for GitHub Enterprise Server in the 관리 콘솔. For more information, see "관리 웹 UI에서 인스턴스 등록."

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

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

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

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

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

  5. Under "Authentication", select SAML.

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

  7. Optionally, to enable unsolicited response SSO, select IdP initiated SSO. By default, GitHub Enterprise Server will reply to an unsolicited Identity Provider (IdP) initiated request with an AuthnRequest back to the IdP.

    Note: We recommend keeping this value unselected. You should enable this feature only in the rare instance that your SAML implementation does not support service provider initiated SSO, and when advised by GitHub Enterprise 지원.

  8. Optionally, if you do not want your SAML provider to determine administrator rights for users on GitHub Enterprise Server 인스턴스, select Disable administrator demotion/promotion

  9. Optionally, to allow GitHub Enterprise Server 인스턴스 to receive encrypted assertions from your SAML IdP, select Require encrypted assertions.

    You must ensure that your IdP supports encrypted assertions and that the encryption and key transport methods in the management console match the values configured on your IdP. You must also provide GitHub Enterprise Server 인스턴스's public certificate to your IdP. For more information, see "암호화된 어설션 사용."

  10. Under "Single sign-on URL," type the HTTP or HTTPS endpoint on your IdP for single sign-on requests. This value is provided by your IdP configuration. If the host is only available from your internal network, you may need to configure GitHub Enterprise Server 인스턴스 to use internal nameservers.

  11. Optionally, in the Issuer field, type your SAML issuer's name. This verifies the authenticity of messages sent to GitHub Enterprise Server 인스턴스.

  12. Select the Signature Method and Digest Method dropdown menus, then click the hashing algorithm used by your SAML issuer to verify the integrity of the requests from GitHub Enterprise Server 인스턴스.

  13. Select the Name Identifier Format dropdown menu, then click a format.

  14. Under "Verification certificate," click Choose File, then choose a certificate to validate SAML responses from the IdP.

  15. Under "User attributes", modify the SAML attribute names to match your IdP if needed, or accept the default names.

Further reading