Skip to main content

Cette version de GitHub Enterprise Server ne sera plus disponible le 2024-08-29. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Configuration du provisionnement d’utilisateurs avec SCIM pour votre entreprise

Vous pouvez configurer SCIM (System for Cross-domain Identity Management) pour votre instance GitHub Enterprise Server, qui provisionne automatiquement les comptes d’utilisateur lorsque vous affectez l’application pour votre instance à un utilisateur sur votre fournisseur d’identité (IdP).

Qui peut utiliser cette fonctionnalité ?

Site administrators can configure user provisioning for a GitHub Enterprise Server instance.

Remarque : SCIM pour GitHub Enterprise Server est en version bêta privée et est susceptible de changer. Pour accéder à la bêta, contactez votre responsable de compte dans l’L’équipe commerciale GitHub. Merci de nous faire part de vos commentaires dans la discussion GitHub Community.

Avertissement : La bêta est exclusivement destinée aux tests et aux commentaires. Aucun support n’est disponible. GitHub recommande d’effectuer les tests avec une instance de préproduction. Pour plus d’informations, consultez « Configuration d’une instance de préproduction ».

À propos du provisionnement d’utilisateurs pour GitHub Enterprise Server

Si vous utilisez l’authentification unique (SSO) SAML pour votre instance GitHub Enterprise Server, vous pouvez configurer SCIM pour automatiquement créer ou suspendre des comptes d’utilisateur et accorder l’accès à votre instance quand vous affectez ou désaffectez l’application sur votre IdP. Pour plus d’informations sur SCIM, consultez System for Cross-domain Identity Management : Protocole (RFC 7644) sur le site web de l’IETF.

Si vous ne configurez pas le provisionnement d’utilisateurs avec SCIM, votre fournisseur d’identité ne communique pas automatiquement avec GitHub Enterprise Server vous affectez l’application ou annulez son affectation à un utilisateur. Sans SCIM, GitHub Enterprise Server crée un compte d’utilisateur à l’aide du provisionnement juste-à-temps (JIT) SAML la première fois que quelqu’un accède à GitHub Enterprise Server et se connecte en s’authentifiant via votre fournisseur d’identité.

La configuration du provisionnement permet à votre IdP de communiquer avec votre instance GitHub Enterprise Server quand vous affectez ou désaffectez l’application pour GitHub Enterprise Server à un utilisateur sur votre IdP. Quand vous affectez l’application, votre IdP invite votre instance GitHub Enterprise Server à créer un compte et à envoyer un e-mail d’intégration à l’utilisateur. Quand vous annulez l’affectation de l’application, votre fournisseur d’identité communique avec GitHub Enterprise Server pour invalider toutes les sessions SAML et désactiver le compte du membre.

Pour configurer le provisionnement pour votre entreprise, vous devez activer le provisionnement sur GitHub Enterprise Server, puis installer et configurer une application de provisionnement sur votre fournisseur d’identité.

L’application de provisionnement sur votre IdP communique avec GitHub Enterprise Server à l’aide de l’API SCIM. Pour plus d’informations, consultez « Points de terminaison d’API REST pour SCIM ».

À propos des identités et des revendications

Une fois qu’un administrateur idP a accordé à une personne l’accès à votre instance GitHub Enterprise Server, l’utilisateur peut s’authentifier via l’idP pour accéder à GitHub Enterprise Server à l’aide de l’authentification unique SAML.

Pendant l’authentification, l’instance tente d’associer l’utilisateur à une identité SAML. Par défaut, l’instance compare la revendication NameID de l’IdP au nom d’utilisateur du compte. GitHub Enterprise Server standardise la valeur de NameID pour la comparaison. Pour plus d’informations sur la normalisation du nom d’utilisateur, consultez « Considérations relatives au nom d'utilisateur pour une authentification externe ».

S’il n’y a aucun compte existant avec un nom d’utilisateur correspondant sur l’instance, l’utilisateur ne parvient pas à se connecter. Pour établir cette correspondance, GitHub Enterprise Server compare la revendication SAML NameId de l’IdP à la revendication username pour chaque compte d’utilisateur provisionné par SCIM sur l’instance.

Lors de l’authentification SAML, certains environnements peuvent utiliser une valeur autre que NameID comme revendication d’identification unique. Si votre environnement n’utilise pas NameID pour identifier les utilisateurs, un administrateur de site peut configurer des attributs utilisateur personnalisés pour l’instance. GitHub Enterprise Server respecte ce mappage lorsque SCIM est configuré. Pour plus d'informations sur le mappage des attributs des utilisateurs, consultez « Configuration d'une authentification unique (SSO) SAML pour votre entreprise. »

Si GitHub Enterprise Server identifie correctement un utilisateur de l’IdP, mais que les détails du compte tels que l’adresse e-mail, le prénom ou le nom ne correspondent pas, l’instance substitue les détails par les valeurs de l’IdP. Toutes les adresses e-mail autres que l’adresse e-mail principale provisionnée par SCIM sont également supprimées du compte d’utilisateur.

Fournisseurs d’identité pris en charge

Pendant la version bêta privée, votre équipe de compte fournit une documentation sur la configuration de SCIM pour GitHub Enterprise Server sur un IdP pris en charge.

Prérequis

Activation du provisionnement d’utilisateurs pour votre entreprise

Pour accomplir les actions de provisionnement sur votre instance, vous allez créer un compte d’utilisateur intégré et promouvoir le compte en propriétaire d’entreprise.

Une fois que vous avez activé SCIM sur une instance GitHub Enterprise Server, tous les comptes d’utilisateur sont suspendus. Le compte d’utilisateur intégré continue à effectuer les actions de provisionnement. Une fois que vous avez accordé à un utilisateur l’accès à votre instance à partir de votre IdP, celui-ci communique avec l’instance à l’aide de SCIM pour mettre fin à la suspension du compte de l’utilisateur.

  1. Créez un compte d’utilisateur intégré pour accomplir les actions de provisionnement sur votre instance. Pour plus d’informations, consultez « Autorisation d’authentification intégrée pour les utilisateurs extérieurs à votre fournisseur ».

  2. Promouvez le compte d’utilisateur dédié en propriétaire d’entreprise. Pour plus d’informations, consultez « Inviter des personnes à gérer votre entreprise ».

  3. Connectez-vous à votre instance en tant que nouveau propriétaire d’entreprise.

  4. Créez un personal access token (classic) avec l’étendue admin:enterprise. Ne spécifiez pas de date d’expiration pour le personal access token (classic). Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».

    Avertissement : Veillez à ne pas spécifier de date d’expiration pour le personal access token (classic). Si vous spécifiez une date d’expiration, SCIM ne fonctionnera plus après la date d’expiration.

Remarque : Vous aurez besoin de ce personal access token pour tester la configuration SCIM et configurer l’application pour SCIM sur votre IdP. Stockez le jeton en toute sécurité dans un gestionnaire de mots de passe jusqu’à ce que vous ayez besoin du jeton plus loin dans ces instructions.

1. Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Remplacez HOSTNAME par le nom d’hôte de votre instance, le nom d’hôte ou l’adresse IP d’un nœud. Pour plus d’informations, consultez « [AUTOTITLE](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh) ».
Shell
ssh -p 122 admin@HOSTNAME
  1. Pour activer SCIM, exécutez les commandes fournies par votre gestionnaire de comptes sur L’équipe commerciale GitHub.

  2. Attendez la fin de l’exécution de la configuration.

  3. Pour vérifier que SCIM est opérationnel, exécutez les commandes suivantes. Remplacez PAT FROM STEP 3 et YOUR INSTANCE’S HOSTNAME par les vraies valeurs.

    $ GHES_PAT="PAT FROM STEP 3"
    $ GHES_HOSTNAME="YOUR INSTANCE'S HOSTNAME"
    $ curl --location --request GET 'https://$GHES_HOSTNAME/api/v3/scim/v2/Users' \
        --header 'Content-Type: application/scim' \
        --header 'Authorization: Bearer $GHES_PAT'
    

    La commande doit retourner un tableau vide.

  4. Configurez le provisionnement d’utilisateurs dans l’application pour GitHub Enterprise Server sur votre IdP. Pour demander la documentation d’un IdP pris en charge, contactez votre gestionnaire de compte sur L’équipe commerciale GitHub. Si votre IdP n’est pas pris en charge, vous devez créer l’application et configurer SCIM manuellement.