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 « Configuring SAML single sign-on for your enterprise. »
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
-
Vous devez configurer l’authentification SSO SAML pour votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Configuring SAML single sign-on for your enterprise ».
-
Vous devez autoriser l’authentification intégrée pour les utilisateurs qui n’ont pas de compte sur votre IdP. Pour plus d’informations, consultez « Autorisation d’authentification intégrée pour les utilisateurs extérieurs à votre fournisseur ».
-
Votre IdP doit prendre en charge les appels SCIM à un fournisseur de services (SP).
-
Vous devez disposer d’un accès administratif sur votre fournisseur d’identité pour configurer l’application pour le provisionnement d’utilisateurs pour GitHub Enterprise Server.
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.
-
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 ».
-
Promouvez le compte d’utilisateur dédié en propriétaire d’entreprise. Pour plus d’informations, consultez « Inviter des personnes à gérer votre entreprise ».
-
Connectez-vous à votre instance en tant que nouveau propriétaire d’entreprise.
-
Créez un personal access token avec l’étendue admin:enterprise. Ne spécifiez pas de date d’expiration pour le personal access token. 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. 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.
ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Pour activer SCIM, exécutez les commandes fournies par votre gestionnaire de comptes sur L’équipe commerciale GitHub.
-
Attendez la fin de l’exécution de la configuration.
-
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.
-
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.