Skip to main content

Configuring SAML single sign-on for your enterprise

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

¿Quién puede utilizar esta característica?

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

Con el aprovisionamiento JIT, si quitas un usuario del IdP, también debes suspender manualmente la cuenta de ese usuario en tu instancia de GitHub Enterprise Server. De lo contrario, el propietario de la cuenta puede seguir autenticando mediante tokens de acceso o claves SSH. Para más información, consulta "Suspender y anular suspensión de usuarios".

Supported identity providers

GitHub Enterprise Server es compatible con el SSO de SAML para los IdP que implementen SAML 2.0 estándar. Para más información, vea la wiki de SAML en el sitio web de OASIS.

GitHub es oficialmente compatible con y prueba internamente los siguientes IdP.

  • Microsoft Active Directory Federation Services (ADt FS)
  • Microsoft Entra ID (anteriormente conocido como 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 normaliza un valor de tu proveedor de autenticación externo para determinar el nombre de usuario de cada nueva cuenta personal en tu instancia de GitHub Enterprise Server. For more information, see "Consideraciones sobre el nombre de usuario para la autenticación externa."

Configuring SAML SSO

You can enable or disable SAML authentication for tu instancia de GitHub Enterprise Server, or you can edit an existing configuration. You can view and edit authentication settings for GitHub Enterprise Server in the Consola de administración. For more information, see "Administrar la instancia desde la interfaz del usuario web."

Note: GitHub recomienda encarecidamente comprobar cualquier nueva configuración para la autenticación en un entorno de ensayo. Una configuración incorrecta podría dar lugar a un tiempo de inactividad para tu instancia de GitHub Enterprise Server. Para obtener más información, vea «Configurar una instancia de preparación».

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

  3. En la barra lateral " Administrador del sitio", haz clic en Consola de administración .

  4. En la barra lateral "Configuración", haga clic en Autenticación.

  5. Under "Authentication", select SAML.

  6. Opcionalmente, para permitir que los usuarios sin una cuenta en el sistema de autenticación externa inicien sesión con la autenticación integrada, selecciona Permitir autenticación integrada. Para obtener más información, vea «Permitir la autenticación integrada de los usuarios ajenos al proveedor».

  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 Soporte técnico para GitHub Enterprise.

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

  9. Optionally, to allow tu instancia de 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 tu instancia de GitHub Enterprise Server's public certificate to your IdP. For more information, see "Habilitar las aserciones cifradas."

  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 tu instancia de 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 tu instancia de 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 tu instancia de 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