Remarque
La prise en charge de SCIM est disponible dans bêta sur cette version de GitHub Enterprise Server. La prise en charge de SCIM est généralement disponible à partir de la version 3.17.
À propos du provisionnement des utilisateurs pour GitHub Enterprise Server
Si vous utilisez l'authentification unique SAML (SSO) pour votre instance GitHub Enterprise Server, vous pouvez configurer SCIM pour créer ou suspendre automatiquement les comptes utilisateur et accorder l'accès à votre instance lorsque vous attribuez ou annulez l'attribution de 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 des utilisateurs avec SCIM, votre IdP ne communiquera pas automatiquement avec GitHub Enterprise Server lorsque vous attribuez ou annulez l'attribution de l'application à un utilisateur. Sans SCIM, GitHub Enterprise Server crée un compte utilisateur à l'aide du provisionnement Just-in-Time (JIT) SAML la première fois qu'une personne accède à GitHub Enterprise Server et se connecte en s'authentifiant via votre IdP.
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 IdP, ou configurer manuellement le provisionnement SCIM à l'aide des points de terminaison d'API REST SCIM de GitHub.
Fournisseurs d’identité pris en charge
GitHub s'associe à certains développeurs de systèmes de gestion d'identité pour fournir une intégration «prête à l’emploi » avec GitHub Enterprise Server. Pour simplifier votre configuration et garantir une prise en charge complète, utilisez un seul partenaire IdP pour l'authentification et l'approvisionnement.
Fournisseurs d'identité partenaires
Les IdP suivants sont des IdP partenaires. Ils proposent une application que vous pouvez utiliser pour configurer à la fois l'authentification SAML et le provisionnement SCIM.
- Microsoft Entra ID
- Okta
- PingFederate (bêta)
Lorsque vous utilisez un seul IdP partenaire pour l'authentification et le provisionnement, GitHub fournit une assistance pour l'application sur l'IdP partenaire et l'intégration de l'IdP avec GitHub. La même application doit être utilisée pour l’authentification SAML et le provisionnement SCIM. La prise en charge de PingFederate est en bêta.
Nous n’avons pas d’application partenaire prise en charge lors de l’utilisation de l’ID Entra pour Azure Government.
Autres systèmes de gestion des identités
Si vous ne pouvez pas utiliser un seul IdP partenaire pour l'authentification et le provisionnement, vous pouvez utiliser un autre système de gestion des identités ou une combinaison de systèmes. Le système doit :
- Respecter les consignes d'intégration de GitHub
- Fournir une authentification à l'aide de SAML, conformément à la spécification SAML 2.0
- Fournir une gestion du cycle de vie des utilisateurs à l'aide de SCIM, conformément à la spécification SCIM 2.0 et en communiquant avec l'API REST de GitHub (voir Approvisionnement des utilisateurs et des groupes avec SCIM à l'aide de l'API REST)
Comment vais-je gérer les cycles de vie des utilisateurs avec SCIM ?
Avec SCIM, vous gérez le cycle de vie des comptes d’utilisateur à partir de votre fournisseur d’identité :
- Lorsque vous approvisionnez un nouvel utilisateur, votre fournisseur d’identité invite votre instance GitHub Enterprise Server à créer un compte et à envoyer un e-mail d’intégration à l’utilisateur. Si vous attribuez un groupe à l’application dans votre fournisseur d’identité, votre fournisseur d’identité approvisionne des comptes pour tous les membres du groupe.
- Quand vous mettez à jour les informations associées à l’identité d’un utilisateur sur votre IdP, celui-ci met à jour le compte d’utilisateur sur GitHub.
- Quand vous annulez l’attribution de l’utilisateur depuis l’application du fournisseur d’identité ou que vous désactivez un compte d’utilisateur sur votre fournisseur d’identité, votre fournisseur d’identité communique avec GitHub pour rendre toutes les sessions non valables et désactiver le compte du membre. Les informations relatives au compte désactivé sont conservées et son nom d'utilisateur est remplacé par un hachage de son nom d'utilisateur original.
- Si vous réaffectez un utilisateur à l’application du fournisseur d’identité ou réactivez son compte sur votre fournisseur d’identité, le compte d’utilisateur sera réactivé et le nom d’utilisateur sera restauré.
Pour configurer l'appartenance à des équipes et des organisations, l'accès aux dépôts et les permissions, vous pouvez utiliser des groupes sur votre fournisseur d'identité (IdP). Pour plus d’informations, consultez « Gestion des appartenances aux équipes avec des groupes de fournisseur d’identité ».
Lorsque SCIM est activé, vous ne pourrez plus supprimer, suspendre ou promouvoir directement les utilisateurs provisionnés par SCIM sur GitHub Enterprise Server. Vous devez gérer ces processus depuis votre IdP.
Pour afficher les membres suspendus, accédez à l'onglet « Membres suspendus » de vos paramètres d'entreprise. Cette page sera présente lorsque SCIM est activé sur GitHub Enterprise Server.
- Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.
- Sur le côté gauche de la page, dans la barre latérale du compte d'entreprise, cliquez sur Personnes.
- Cliquez sur Membres suspendus.
Que se passe-t-il lorsque j'active SCIM ?
Si vous utilisez actuellement SAML SSO et que vous activez SCIM, vous devez savoir ce qui arrive aux comptes utilisateur existants sur GitHub Enterprise Server une fois SCIM activé.
- Les utilisateurs existants avec des mappages SAML ne pourront pas se connecter tant que leurs identités n'auront pas été provisionnées par SCIM.
- Les utilisateurs existants créés avec l'authentification intégrée ne pourront se connecter que si l'authentification intégrée est toujours activée.
- Lorsque votre instance reçoit une requête SCIM, les identités SCIM sont associées aux utilisateurs existants en comparant la valeur de l'attribut SCIM
userNameau nom d'utilisateur GitHub Enterprise Server. Cela signifie qu'un compte utilisateur GitHub Enterprise Server existant, qu'il ait été créé à l'origine en tant que compte utilisateur local ou via le provisionnement JIT SAML, peut être converti en compte utilisateur lié à SCIM si ces deux valeurs correspondent.- Si un compte utilisateur avec un nom d'utilisateur correspondant existe, GitHub Enterprise Server lie l'identité SCIM à ce compte utilisateur.
- Si un compte utilisateur avec un nom d'utilisateur correspondant n'existe pas, GitHub Enterprise Server crée un nouveau compte utilisateur et le lie à cette identité SCIM.
- Si GitHub associe correctement un utilisateur qui s'authentifie via SAML à un compte utilisateur existant, mais que les détails du compte comme l'adresse e-mail, le prénom ou le nom ne correspondent pas, l'instance remplace 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.
Que se passe-t-il pendant l'authentification SAML ?
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 SAML SSO.
- Lorsqu'un utilisateur s'authentifie via SAML, pour associer un utilisateur à une identité SAML, GitHub compare une revendication
NameIDnormalisée provenant de l'IdP (ou une autre valeur que vous avez configurée) au nom d'utilisateur du compte. Pour plus d'informations sur la normalisation, veuillez consulter la section Considérations relatives au nom d'utilisateur pour une authentification externe. - S'il n'existe aucun compte avec un nom d'utilisateur correspondant sur l'instance, l'utilisateur ne pourra pas se connecter.
- Pour effectuer cette correspondance, GitHub Enterprise Server compare la revendication SAML
NameIdde l'IdP à l'attribut SCIMuserNamepour chaque compte utilisateur provisionné par SCIM sur l'instance. - En outre, pour Entra ID, GitHub Enterprise Server compare l'identificateur d'objet de la requête SAML avec un ID externe SCIM existant.
- Pour effectuer cette correspondance, GitHub Enterprise Server compare la revendication SAML
- Si votre environnement n'utilise pas
NameIDpour identifier les utilisateurs de façon unique, un administrateur du site peut configurer des attributs utilisateur personnalisés pour l'instance. GitHub Enterprise Server respectera ce mappage lorsque SCIM est configuré. Pour plus d'informations sur le mappage des attributs utilisateur, veuillez consulter la section Configuration d'une authentification unique (SSO) SAML pour votre entreprise.
Comment SCIM est-il désactivé ?
Pour plus d'informations sur les différentes façons de désactiver SCIM, veuillez consulter la section Désactivation de l’approvisionnement SCIM pour les utilisateurs.
Bien démarrer
Pour prendre en main SCIM, vous allez :
- Effectuer la configuration initiale, requise quelle que soit l'IdP que vous utiliserez, dans Configuration du provisionnement SCIM pour gérer les utilisateurs.
- Configurer les paramètres dans votre IdP.
- Si vous utilisez un IdP partenaire pour l'authentification et le provisionnement, vous suivrez un guide pour votre IdP.
- Sinon, vous configurerez une intégration SCIM avec l'API REST, comme décrit dans Approvisionnement des utilisateurs et des groupes avec SCIM à l'aide de l'API REST.