Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.
GitHub AE est actuellement en version limitée.

Référence de configuration SAML

Vous pouvez examiner les métadonnées SAML pour votre entreprise sur GitHub AE, et vous pouvez découvrir plus en détail les attributs SAML disponibles et les exigences en matière de réponses.

À propos de la configuration SAML

Pour utiliser l’authentification unique SAML pour l’authentification sur GitHub AE, vous devez configurer votre fournisseur d’identité SAML externe et votre entreprise sur GitHub AE. Dans une configuration SAML, GitHub AE fonctionne en tant que fournisseur de services SAML.

Vous devez entrer des valeurs uniques à partir de votre fournisseur d’identité SAML lors de la configuration de l’authentification unique SAML pour GitHub AE, et vous devez également entrer des valeurs uniques à partir de GitHub AE sur votre fournisseur d’identité. Pour plus d’informations sur la configuration de l’authentification unique SAML pour GitHub AE, consultez « Configuration de l’authentification unique SAML pour votre entreprise ».

Métadonnées SAML

Les métadonnées du fournisseur de services pour votre entreprise sur GitHub AE sont disponibles sur https://HOSTNAME/saml/metadata, où HOSTNAME est le nom d’hôte de votre entreprise sur GitHub AE. GitHub AE utilise la liaison urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST.

ValeurAutres nomsDescriptionExemple
ID d’entité de fournisseur de servicesURL du fournisseur de services, restriction d’audienceURL de niveau supérieur pour GitHub AEhttps://HOSTNAME
URL Assertion Consumer Service (ACS) du fournisseur de serviceURL de réponse, de destinataire ou de destinationURL où l’IdP envoie des réponses SAMLhttps://HOSTNAME/saml/consume
URL d’authentification unique du fournisseur de servicesURL à laquelle le fournisseur d’identité commence l’authentification uniquehttps://HOSTNAME/sso

Attributs SAML

Les attributs SAML suivants sont disponibles pour GitHub AE.

NomRequis ?Description
NameIDOuiIdentificateur d’utilisateur persistant. Il est possible d’utiliser n’importe quel format d’identificateur de nom persistant. GitHub AE normalise l’élément NameID à utiliser en tant que nom d’utilisateur, sauf si l’une des autres assertions est fournie. Pour plus d’informations, consultez « Considérations relatives au nom d’utilisateur pour l’authentification externe ».

Remarque : Il est important d’utiliser un identificateur explicite et persistant. L’utilisation d’un format d’identificateur temporaire comme urn:oasis:names:tc:SAML:2.0:nameid-format:transient entraîne une nouvelle liaison des comptes à chaque connexion, ce qui peut nuire à la gestion des autorisations.
SessionNotOnOrAfterNonLa date à laquelle GitHub AE invalide la session associée. Après l’invalidation, la personne doit s’authentifier une fois de plus pour accéder aux ressources de votre entreprise. Pour plus d’informations, consultez « Durée et délai d’expiration de session ».

Pour spécifier plusieurs valeurs pour un même attribut, utilisez plusieurs éléments <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>

Exigences en matière de réponse SAML

GitHub AE nécessite que le message de réponse de votre fournisseur d’identité réponde aux exigences suivantes.

  • Votre IdP doit fournir l’élément <Destination> dans le document de réponse racine et correspondre à l’URL ACS uniquement lorsque le document de réponse racine est signé. Si votre fournisseur d’identité signe l’assertion, GitHub AE ignore l’assertion.

  • Votre fournisseur d’identité doit toujours fournir l’élément <Audience> dans le cadre de l’élément <AudienceRestriction>. La valeur doit correspondre à votre EntityId pour GitHub AE. Cette valeur est l’URL où vous accédez à your enterprise, comme https://SUBDOMAIN.githubenterprise.com, https://SUBDOMAIN.github.us ou https://SUBDOMAIN.ghe.com.

  • Votre fournisseur d’identité doit protéger chaque assertion dans la réponse avec une signature numérique. Pour ce faire, vous pouvez signer chaque élément <Assertion> individuel ou l’élément <Response>.

  • Votre fournisseur d’identité doit fournir un élément <NameID> dans le cadre de l’élément <Subject>. Il est possible d’utiliser n’importe quel format d’identificateur de nom persistant.

  • Votre fournisseur d’identité doit inclure l’attribut Recipient, qui doit être défini sur l’URL ACS. L’exemple suivant illustre l’attribut.

    <samlp:Response ...>
      <saml:Assertion ...>
        <saml:Subject>
          <saml:NameID ...>...</saml:NameID>
          <saml:SubjectConfirmation ...>
            <saml:SubjectConfirmationData Recipient="https://SUBDOMAIN.ghe.com/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>
    

Durée et délai d’expiration de session

Pour empêcher une personne de s’authentifier auprès de votre fournisseur d’identité et de rester autorisée indéfiniment, GitHub AE invalide régulièrement la session pour chaque compte d’utilisateur ayant accès aux ressources de votre entreprise. Après l’invalidation, la personne doit s’authentifier à nouveau auprès de votre fournisseur d’identité. Par défaut, si votre fournisseur d’identité n’affirme pas de valeur pour l’attribut SessionNotOnOrAfter, GitHub AE invalide une session une semaine après l’authentification réussie auprès de votre fournisseur d’identité.

Pour personnaliser la durée de la session, vous pouvez définir la valeur de l’attribut SessionNotOnOrAfter sur votre fournisseur d’identité. Si vous définissez une valeur inférieure à 24 heures, GitHub AE peut inviter les utilisateurs à s’authentifier chaque fois que GitHub AE lance une redirection.

Remarques:

  • Pour Azure AD, la stratégie de durée de vie configurable pour les jetons SAML ne contrôle pas le délai d’expiration de session pour GitHub AE.
  • Okta n’envoie pas actuellement l’attribut SessionNotOnOrAfter lors de l’authentification SAML avec GitHub AE. Pour plus d’informations, contactez Okta