Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

SAML configuration reference

Puedes ver los metadatos de SAML para tu organización o empresa en GitHub Enterprise Cloud y puedes aprender más sobre los atributos disponibles de SAML y los requisitos de respuesta.

About SAML configuration

Para utilizar el inicio de sesión único (SSO) de SAML para autenticarse en GitHub Enterprise Cloud, debes configurar tanto tu proveedor de identidad (IdP) externo de SAML como tu empresa u organización en GitHub.com. In a SAML configuration, GitHub Enterprise Cloud functions as a SAML service provider (SP).

You must enter unique values from your SAML IdP when configuring SAML SSO for GitHub Enterprise Cloud, and you must also enter unique values from GitHub Enterprise Cloud on your IdP. Para obtener más información sobre la configuración del SSO de SAML para GitHub Enterprise Cloud, consulta la sección "Configurar el inicio de sesión único de SAML para tu empresa" o "Habilitar y probar el inicio de sesión único de SAML para tu organización".

Metadatos SAML

The SP metadata for GitHub Enterprise Cloud is available for either organizations or enterprises with SAML SSO. GitHub Enterprise Cloud utiliza el enlace urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST.

Organizaciones

You can configure SAML SSO for an individual organization in your enterprise. You can also configure SAML SSO for an organization if you use an individual organization on GitHub Enterprise Cloud and do not use an enterprise account. For more information, see "Managing SAML single sign-on for your organization."

The SP metadata for an organization on GitHub.com is available at https://github.com/orgs/ORGANIZATION/saml/metadata, where ORGANIZATION is the name of your organization on GitHub.com.

ValorOtros nombresDescripciónEjemplo
ID de Entidad de SPURL de SP, restricción de la audienciaThe top-level URL for your organization on GitHub.comhttps://github.com/orgs/ORGANIZATION
URL del Servicio de Consumidor de Aserciones (ACS) del SPURL de respuesta, receptora o de destinoURL a la que el IdP enviará respuestas de SAMLhttps://github.com/orgs/ORGANIZATION/saml/consume
URL de inicio de sesión único (SSO) del SPURL en donde el IdP comienza con SSOhttps://github.com/orgs/ORGANIZATION/saml/sso

Empresas

The SP metadata for an enterprise on GitHub.com is available at https://github.com/enterprises/ENTERPRISE/saml/metadata, where ENTERPRISE is the name of your enterprise on GitHub.com.

ValorOtros nombresDescripciónEjemplo
ID de Entidad de SPURL de SP, restricción de la audienciaThe top-level URL for your enterprise on GitHub.comhttps://github.com/enterprises/ENTERPRISE
URL del Servicio de Consumidor de Aserciones (ACS) del SPURL de respuesta, receptora o de destinoURL a la que el IdP enviará respuestas de SAMLhttps://github.com/enterprises/ENTERPRISE/saml/consume
URL de inicio de sesión único (SSO) del SPURL en donde el IdP comienza con SSOhttps://github.com/enterprises/ENTERPRISE/saml/sso

Atributos de SAML

The following SAML attributes are available for GitHub Enterprise Cloud.

NombreRequired?Descripción
ID del nombreUn identificador de usuario persistente. Se puede usar cualquier formato de identificador de nombre persistente. If you use an enterprise with Usuarios Administrados de Enterprise, GitHub Enterprise Cloud will normalize the NameID element to use as a username unless one of the alternative assertions is provided. Para obtener más información, consulta la sección "Consideraciones de nombre de usuario para la autenticación externa".
SessionNotOnOrAfterNoThe date that GitHub Enterprise Cloud invalidates the associated session. After invalidation, the person must authenticate once again to access your enterprise's resources. For more information, see "Session duration and timeout."
full_nameNoIf you configure SAML SSO for an enterprise and you use Usuarios Administrados de Enterprise, the full name of the user to display on the user's profile page.

Para especificar más de un valor para un atributo, utiliza elementos múltiples de <saml2:AttributeValue>.

<saml2:Attribute FriendlyName="public_keys" Name="urn:oid:1.2.840.113549.1.1.1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
    <saml2:AttributeValue>ssh-rsa LONG KEY</saml2:AttributeValue>
    <saml2:AttributeValue>ssh-rsa LONG KEY 2</saml2:AttributeValue>
</saml2:Attribute>

SAML response requirements

GitHub Enterprise Cloud requires that the response message from your IdP fulfill the following requirements.

  • Your IdP must provide the <Destination> element on the root response document and match the ACS URL only when the root response document is signed. If your IdP signs the assertion, GitHub Enterprise Cloud will ignore the assertion.

  • Your IdP must always provide the <Audience> element as part of the <AudienceRestriction> element. El valor debe empatar con tu EntityId para GitHub Enterprise Cloud.

    • If you configure SAML for an organization, this value is https://github.com/orgs/ORGANIZATION.
    • If you configure SAML for an enterprise, this URL is https://github.com/enterprises/ENTERPRISE.
  • Your IdP must protect each assertion in the response with a digital signature. You can accomplish this by signing each individual <Assertion> element or by signing the <Response> element.

  • Your IdP must provide a <NameID> element as part of the <Subject> element. You may use any persistent name identifier format.

  • Your IdP must include the Recipient attribute, which must be set to the ACS URL. The following example demonstrates the attribute.

    <samlp:Response ...>
      <saml:Assertion ...>
        <saml:Subject>
          <saml:NameID ...>...</saml:NameID>
          <saml:SubjectConfirmation ...>
            <saml:SubjectConfirmationData Recipient="https://github.com/enterprises/ENTERPRISE/saml/consume" .../>
          </saml:SubjectConfirmation>
        </saml:Subject>
        <saml:AttributeStatement>
          <saml:Attribute FriendlyName="USERNAME-ATTRIBUTE" ...>
            <saml:AttributeValue>monalisa</saml:AttributeValue>
          </saml:Attribute>
        </saml:AttributeStatement>
      </saml:Assertion>
    </samlp:Response>
    

Session duration and timeout

Para prevenir que una persona se autentique con tu IdP y se mantenga autorizad por tiempo indefinido, GitHub Enterprise Cloud invalida con frecuencia la sesión de cada cuenta de usuario con acceso a los recursos de tu empresa. After invalidation, the person must authenticate with your IdP once again. By default, if your IdP does not assert a value for the SessionNotOnOrAfter attribute, GitHub Enterprise Cloud invalidates a session 24 hours after successful authentication with your IdP.

To customize the session duration, you may be able to define the value of the SessionNotOnOrAfter attribute on your IdP. If you define a value less than 24 hours, GitHub Enterprise Cloud may prompt people to authenticate every time GitHub Enterprise Cloud initiates a redirect.

Notas:

  • For Azure AD, the configurable lifetime policy for SAML tokens does not control session timeout for GitHub Enterprise Cloud.
  • Okta does not currently send the SessionNotOnOrAfter attribute during SAML authentication with GitHub Enterprise Cloud. For more information, contact Okta.