Skip to main content

Configuring SAML single sign-on for your enterprise

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

Wer kann dieses Feature verwenden?

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 Ihre GitHub Enterprise Server-Instance from your SAML IdP. When an unauthenticated user visits Ihre GitHub Enterprise Server-Instance 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 Ihre GitHub Enterprise Server-Instance. 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 Ihre GitHub Enterprise Server-Instance is active in the browser for 24 hours. After 24 hours, the user must authenticate again with your IdP.

Wenn du bei der JIT-Bereitstellung einen Benutzer aus deinem IdP entfernst, musst du auch das Benutzerkonto für Ihre GitHub Enterprise Server-Instance manuell sperren. Andernfalls kann der Besitzer bzw. die Besitzerin des Kontos sich weiterhin mithilfe der Zugriffstoken oder SSH-Schlüssel authentifizieren. Weitere Informationen findest du unter Benutzer sperren und entsperren.

Supported identity providers

GitHub Enterprise Server unterstützt SAML-SSO mit Identitätsanbietern, die den SAML 2.0-Standard implementieren. Weitere Informationen findest du im SAML-Wiki auf der OASIS-Website.

Folgende Identitätsanbieter werden von GitHub offiziell unterstützt und intern getestet:

  • Microsoft Active Directory-Verbunddienste (AD FS)
  • Microsoft Entra ID (früher 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 normalisiert einen Wert Ihres externen Authentifizierungsanbieters, um den Benutzernamen für jedes neue persönliche Konto auf Ihre GitHub Enterprise Server-Instance festzulegen. For more information, see "Überlegungen zum Benutzernamen für die externe Authentifizierung."

Configuring SAML SSO

You can enable or disable SAML authentication for Ihre GitHub Enterprise Server-Instance, or you can edit an existing configuration. You can view and edit authentication settings for GitHub Enterprise Server in the Verwaltungskonsole. For more information, see "Verwalten Ihrer Instanz über die Web-Benutzeroberfläche."

Note: GitHub empfiehlt dringend, alle neuen Konfigurationen im Hinblick auf die Authentifizierung in einer Stagingumgebung zu überprüfen. Eine falsche Konfiguration könnte zu Ausfallzeiten für Ihre GitHub Enterprise Server-Instance führen. Weitere Informationen findest du unter Testinstanz einrichten.

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Klicke auf der Randleiste unter „Einstellungen“ auf Authentifizierung.

  5. Under "Authentication", select SAML.

  6. Um optional Personen ohne Konto auf deinem externen Authentifizierungssystem mit integrierter Authentifizierung dien anmelden genehmigen zu können, wähle Integrierte Authentifizierung zulassen aus. Weitere Informationen findest du unter Zulassen integrierter Authentifizierung für Benutzer*innen außerhalb deines Anbieters.

  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 Support.

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

  9. Optionally, to allow Ihre GitHub Enterprise Server-Instance 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 Ihre GitHub Enterprise Server-Instance's public certificate to your IdP. For more information, see "Aktivieren von verschlüsselten Assertionen."

  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 Ihre GitHub Enterprise Server-Instance to use internal nameservers.

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

  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 Ihre GitHub Enterprise Server-Instance.

  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