Skip to main content

À propos de l’approvisionnement d’utilisateurs avec SCIM sur GitHub Enterprise Server

Découvrez la gestion du cycle de vie des comptes utilisateur avec SCIM sur votre instance GitHub Enterprise Server.

À 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 (préversion publique)

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 préversion publique.

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 :

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. Si un problème survient avec votre IdP et que vous devez gérer un utilisateur directement, vous devrez utiliser l'API REST SCIM pour gérer les identités utilisateur sur votre appliance (voir Approvisionnement des utilisateurs et des groupes avec SCIM à l'aide de l'API REST).

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.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.
  2. En haut de la page, cliquez sur Personnes.
  3. 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.
  • GitHub Enterprise Server ne stockera plus les mappages SAML pour les utilisateurs. À la place, les identités SCIM seront stockées pour les utilisateurs lorsqu'un utilisateur est provisionné.
  • Vous ne verrez plus la section « Authentification SAML » sur la page d'administration du site https://HOSTNAME/users/USER/security pour les utilisateurs. Il ne sera pas possible d'afficher ni de mettre à jour les mappages NameID SAML qui étaient auparavant visibles dans cette section, puisque ces mappages SAML stockés ne sont plus évalués pendant l'authentification SAML lorsque SCIM est activé.
  • 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 userName au 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.
  • Les administrateurs d’entreprise disposant d’un accès CLI peuvent exporter un fichier CSV complet des identités d’utilisateurs approvisionnées via SCIM à l’aide de l’outil ghe-scim-identities-csv.

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 NameID normalisé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 NameId de l'IdP à l'attribut SCIM userName pour 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.
  • Si votre environnement n'utilise pas NameID pour 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 :

  1. Effectuer la configuration initiale, requise quelle que soit l'IdP que vous utiliserez, dans Configuration du provisionnement SCIM pour gérer les utilisateurs.
  2. Configurer les paramètres dans votre IdP.