Skip to main content

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

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

Note

SCIM pour GitHub Enterprise Server est en version bêta publique et est susceptible de changer. GitHub recommande d’effectuer les tests avec une instance de préproduction d’abord. Consulter « 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é.

Pour configurer l’approvisionnement pour votre entreprise, vous devez activer l’approvisionnement sur GitHub Enterprise Server, puis soit installer et configurer une application d’approvisionnement sur votre IdP, soit configurer manuellement l’approvisionnement SCIM à l’aide des points de terminaison d’API REST de GitHub pour le SCIM.

Fournisseurs d'identité pris en charge

Les partenaires GitHub, avec certains développeurs de systèmes de gestion des identités, doivent fournir une intégration « prête à l’emploi » à 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 fournisseurs d’identité suivants sont des fournisseurs d’identité partenaires. Ils proposent une application que vous pouvez utiliser pour configurer l’authentification SAML et l’approvisionnement SCIM.

  • Microsoft Entra ID
  • Okta
  • PingFederate (bêta)

Lorsque vous utilisez un IdP partenaire unique pour l'authentification et l'approvisionnement, GitHub assure la prise en charge de l'application sur l'IdP partenaire, ainsi que l'intégration des IdP avec GitHub. La prise en charge de PingFederate est en version bêta.

Autres systèmes de gestion des identités

Si vous ne pouvez pas utiliser un fournisseur d'identité partenaire unique pour l'authentification et l'approvisionnement, vous pouvez utiliser un autre système de gestion des identités ou une combinaison de systèmes. Le système doit :

Comment 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 du compte désactivé sont conservées et le nom d’utilisateur est remplacé par un hachage du nom d’utilisateur d’origine.
  • 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 à l’équipe et à l’organisation, l’accès au référentiel et les autorisations sur GitHub Enterprise Server, vous pouvez utiliser des groupes sur votre fournisseur d’identité. 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 les utilisateurs approvisionnés par SCIM directement sur GitHub Enterprise Server. Vous devez gérer ces processus à partir de votre fournisseur d’identité.

Qu’adviendra-t-il des utilisateurs existants sur mon instance ?

Si vous utilisez actuellement l’authentification unique SAML et que vous activez SCIM, vous devez connaître ce qui se passe pour les utilisateurs existants lors de l’approvisionnement SCIM.

  • Lorsque SCIM est activé, les utilisateurs ayant des identités liées à SAML ne pourront pas se connecter tant que leurs identités n’auront pas été approvisionnées par SCIM.
  • Lorsque votre instance reçoit une demande SCIM, les identités SCIM sont mises en correspondance avec les utilisateurs existants en comparant le champ SCIM userName avec le nom d’utilisateur GitHub. Si un utilisateur disposant d’un nom d’utilisateur correspondant n’existe pas, GitHub crée un nouveau utilisateur.
  • Si GitHub 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.

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 l’authentification unique SAML.

  • Lorsqu’un utilisateur s’authentifie via SAML, pour associer un utilisateur à une identité SAML, GitHub compare une revendication NameID normalisée du fournisseur d’identité (ou une autre valeur que vous avez configurée) au nom d’utilisateur du compte. Pour plus d’informations sur la normalisation, consultez « 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 parvient pas à se connecter.
    • Pour faire cette correspondance, GitHub Enterprise Server compare la revendication SAML NameId du fournisseur d’identité à l’attribut userName SCIM pour chaque compte d’utilisateur approvisionné par SCIM sur l’instance.
    • En outre, pour Entra ID, GitHub Enterprise Server compare l’identificateur d’objet de la demande SAML avec un ID externe SCIM existant.
  • Si votre environnement n’utilise pas NameID pour identifier uniquement 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. »

Que se passe-t-il si je désactive SCIM ?

SCIM est désactivé sur votre instance si l’une des opérations suivantes se produit.

  • La case à cocher Activer la configuration SCIM n’est pas sélectionnée dans la page « Sécurité de l’authentification » dans les paramètres d’entreprise.
  • Le bouton radio SAML est désélectionné dans la section « Authentification » de la console de gestion.
  • Le champ Emetteur SAML ou URL d’authentification unique est mis à jour dans la section « Authentification » de la console de gestion.

Si SCIM est désactivé sur l’instance :

  • Les demandes adressées aux points de terminaison de l’API SCIM sur votre instance n’aboutiront plus.
  • Les utilisateurs approvisionnés par SCIM resteront inchangés et ne seront pas suspendus.
  • Les administrateurs de site pourront gérer le cycle de vie des utilisateurs approvisionnés par SCIM, tels que la suspension et la suppression, du tableau de bord administrateur du site.
  • Les utilisateurs pourront toujours se connecter via SAML, s’ils sont activés.
  • Les utilisateurs seront dissociés de leur enregistrement d’identité externe et l’enregistrement sera supprimé.

Mise en route

Pour bien démarrer avec SCIM, vous allez :

  1. Effectuer la configuration initiale requise, quel que soit l’IdP que vous utiliserez, dans « Configurer l’approvisionnement SCIM pour gérer les utilisateurs ».
  2. Configurer les paramètres dans votre fournisseur d’identité.