Skip to main content

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

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

Qui peut utiliser cette fonctionnalité ?

Site administrators

Note

Il s’agit d’une version en private beta obsolète de SCIM pour GitHub Enterprise Server. Les clients doivent effectuer une mise à niveau vers la version 3.14 ou ultérieure et utiliser SCIM GitHub Enterprise Server en beta afin que leurs commentaires SCIM ou rapports de bogues soient pris en compte.

Warning

La beta est exclusivement destinée aux tests et aux commentaires, et 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é.

Pour configurer l’approvisionnement pour votre entreprise, vous devez activer l’approvisionnement sur GitHub Enterprise Server, puis installer et configurer une application d’approvisionnement sur votre IdP.

Fournisseurs d'identité pris en charge

Pendant la private beta, votre équipe de compte fournit une documentation sur la configuration de SCIM pour GitHub Enterprise Server sur un IdP pris en charge.

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é.

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. »

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 fournisseur d’identité. Pour demander de la documentation pour 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.