Skip to main content

Configuring SAML single sign-on for your enterprise

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

Qui peut utiliser cette fonctionnalité ?

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

Avec le provisionnement JIT, si vous supprimez un utilisateur de votre IdP, vous devez également suspendre manuellement le compte de l’utilisateur sur votre instance GitHub Enterprise Server. À défaut, le propriétaire du compte pourra toujours s’authentifier avec des jetons d’accès ou des clés SSH. Pour plus d’informations, consultez « Suspension et réhabilitation d’utilisateurs ».

Supported identity providers

GitHub Enterprise Server prend en charge l’authentification unique (SSO) SAML avec des fournisseurs d’identité qui implémentent la norme SAML 2.0. Pour plus d’informations, consultez le Wiki SAML sur le site web OASIS.

GitHub prend officiellement en charge et teste en interne les fournisseurs d’identité suivants.

  • Microsoft services de fédération Active Directory (AD FS)
  • Microsoft Entra ID (actuellement appelé 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 normalise une valeur de votre fournisseur d'authentification externe pour déterminer le nom d'utilisateur pour chaque nouveau compte personnel sur votre instance GitHub Enterprise Server. For more information, see "Considérations relatives au nom d'utilisateur pour une authentification externe."

Configuring SAML SSO

You can enable or disable SAML authentication for votre instance GitHub Enterprise Server, or you can edit an existing configuration. You can view and edit authentication settings for GitHub Enterprise Server in the Management Console. For more information, see "Géstion de votre instance à partir de l’IU WEB.."

Note: GitHub vous recommande vivement de vérifier toute nouvelle configuration de l’authentification dans un environnement intermédiaire. Une configuration incorrecte peut entraîner un temps d’arrêt de votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Configuration d’une instance de préproduction ».

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.

  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.

  3. Dans la barre latérale «  Administrateur de site », cliquez sur Management Console .

  4. Dans la barre latérale « Paramètres », cliquez sur Authentification.

  5. Under "Authentication", select SAML.

  6. Pour autoriser les personnes sans compte sur votre système d’authentification externe à se connecter avec l’authentification intégrée, sélectionnez Autoriser l’authentification intégrée. Pour plus d’informations, consultez « Autorisation d’authentification intégrée pour les utilisateurs extérieurs à votre fournisseur ».

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

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

  9. Optionally, to allow votre instance 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 votre instance GitHub Enterprise Server's public certificate to your IdP. For more information, see "Activation des assertions chiffrées."

  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 votre instance 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 votre instance 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 votre instance 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