Skip to main content

Migration de LDAP vers SAML avec SCIM

Découvrez comment migrer votre instance GitHub Enterprise Server de l’authentification LDAP vers l’authentification unique SAML avec le provisionnement SCIM pour la gestion centralisée des utilisateurs.

Qui peut utiliser cette fonctionnalité ?

Site administrators can migrate authentication methods on GitHub Enterprise Server.

À propos de la migration de LDAP vers SAML et SCIM

Si votre instance GitHub Enterprise Server utilise actuellement l’authentification LDAP, vous pouvez migrer vers l’authentification unique SAML avec le provisionnement SCIM pour améliorer les fonctionnalités de gestion du cycle de vie des utilisateurs. Cette migration vous permet de provisionner, mettre à jour et déprovisionner automatiquement des comptes d’utilisateur à partir de votre fournisseur d’identité (IdP).

Remarque

Vous pouvez utiliser SAML ou LDAP, mais pas les deux.

          **Configuration requise :**
  • Vous devez être administrateur de site sur GitHub Enterprise Server.
  • Vous devez disposer d’un accès administratif à votre fournisseur d’identité SAML.
  • Votre fournisseur d’identité doit prendre en charge les protocoles SAML 2.0 et SCIM 2.0.
  • Vous devez effectuer une sauvegarde de votre instance avant de commencer la migration.

L’approvisionnement SCIM nécessite l’authentification SAML en tant que prérequis. Cette migration implique donc quatre phases distinctes :

  1.        **Migrer vers l’authentification SAML** : remplacez LDAP par l’authentification unique SAML.
    
  2.        **Testez et vérifiez SAML** : Vérifiez que l’authentification fonctionne et que les utilisateurs sont correctement liés.
    
  3.        **Activer l’approvisionnement SCIM** : ajoutez des fonctionnalités de gestion automatisée des utilisateurs.
    
  4.        **Testez et vérifiez SCIM** : Confirmez la liaison des identités aux comptes existants.
    

Ce document suppose une connaissance de l’authentification SAML et du provisionnement SCIM. Pour plus d’informations sur ces rubriques, consultez Configuration d'une authentification unique (SSO) SAML pour votre entreprise et À propos de l’approvisionnement d’utilisateurs avec SCIM sur GitHub Enterprise Server.

1. Comprendre les modèles de création d’utilisateurs LDAP et SCIM

Avant de commencer la migration, il est important de comprendre les principales différences entre la façon dont LDAP et SCIM gèrent la gestion des utilisateurs sur GitHub Enterprise Server.

CaractéristiqueLDAPSCIM
          **Configuration de l’appliance** | Vous configurez l’attribut d’ID utilisateur (par défaut `uid`) et d’autres paramètres LDAP dans la console de gestion. Cette configuration détermine comment mapper entre les utilisateurs LDAP et les utilisateurs GitHub. Pour plus d’informations sur la configuration du protocole LDAP, consultez [AUTOTITLE](/admin/managing-iam/using-ldap-for-enterprise-iam/using-ldap#ldap-attributes). | Activez d’abord l’authentification SAML, puis configurez le provisionnement SCIM avec un jeton d’authentification. |

| Temps de création de l'utilisateur | Juste-à-temps : les utilisateurs sont créés lors de la première connexion après l’authentification LDAP réussie. | Pré-authentification : les utilisateurs doivent être approvisionnés via SCIM avant de pouvoir s’authentifier. | | Source de nom d’utilisateur initiale | GitHub nom d’utilisateur est basé sur l’identificateur LDAP normalisé configuré lors de l’installation. | Le nom d’utilisateur GitHub est basé sur la valeur SCIM userName normalisée de votre fournisseur d'identité (IdP). | | Gestion des noms d’utilisateur | Flexible : les administrateurs peuvent modifier GitHub noms d’utilisateur indépendamment du protocole LDAP. Les noms d’utilisateur peuvent dériver des identificateurs LDAP au fil du temps tout en conservant l’authentification via des mappages LDAP. Consultez « Référence du nom d’utilisateur ». | Strict : les noms d'utilisateur GitHub correspondent toujours au SCIM userName normalisé de votre fournisseur d’identité. Les modifications de nom d’utilisateur côté GitHub ne sont pas autorisées. | | Contrôle d’attribut utilisateur | Hybride : certains attributs gérés par LDAP, d’autres peuvent être gérés sur l’appliance. | Contrôle IdP complet : tous les attributs utilisateur sont gérés via les mises à jour SCIM de votre fournisseur d'identité (IdP). | | Flux d’authentification | GitHub Enterprise Server s’authentifie auprès de votre serveur LDAP et recherche le mappage LDAP existant pour localiser l’utilisateur. | Pendant l’authentification unique SAML, une recherche d’identité externe est effectuée pour localiser l’utilisateur approvisionné pour l’authentification. | | Caractéristique clé | Système hybride où GitHub données utilisateur (en particulier les noms d’utilisateur) peuvent être partiellement gérées sur l’appliance indépendamment du serveur LDAP. | Contrôle complet du fournisseur d’identité : l’état de GitHub utilisateurs dépend entièrement de ce que le fournisseur d’identité envoie via SCIM, et les noms d’utilisateur ne peuvent pas dériver du système source. |

Normalisation et compatibilité du nom d’utilisateur

GitHub Enterprise Server normalise les noms d’utilisateur en fonction de règles spécifiques qui s’appliquent de manière cohérente entre LDAP, SAML et SCIM. La compréhension de ces règles est essentielle pour la migration réussie.

Pour plus d’informations sur la normalisation du nom d’utilisateur, consultez Considérations relatives au nom d'utilisateur pour une authentification externe.

2. Planifier votre migration

Avant de commencer la migration, vous devez comprendre votre configuration actuelle, préparer votre fournisseur d’identité et établir des méthodes d’accès aux sauvegardes. La phase de planification est essentielle pour garantir une transition fluide.

Préparation pour le mappage de LDAP à SCIM

Le défi de migration critique consiste à établir un pont entre les approches de gestion des utilisateurs LDAP et SCIM :

          **Utilisateurs LDAP (état existant)** :
  • Avoir des noms d’utilisateur GitHub qui ont peut-être changé depuis leur création initiale

  • Conserver la capacité d’authentification par le biais de mappages LDAP indépendamment des modifications de nom d’utilisateur

            **Utilisateurs SCIM (état cible)** :
    
  • Doit être provisionné avant l’authentification

  • Les noms d'utilisateur GitHub doivent correspondre à leurs valeurs SCIM normalisées userName

  • Peut être lié à une identité externe avec son compte GitHub existant lors du provisionnement SCIM des utilisateurs, mais uniquement si le SCIM normalisé userName est égal à son nom d'utilisateur GitHub existant.

Exigences pour la cartographie de la migration

Pour lier correctement les identités SCIM aux utilisateurs LDAP existants, vous devez capturer l’état actuel des utilisateurs sur votre instance :

  1.        **Exporter des noms d’utilisateur GitHub existants** : utilisez l’interface d’administration du site, l’API ou l’interface CLI pour obtenir la liste complète des noms d’utilisateur de GitHub actuels sur votre instance. Pour plus d’informations sur l’API utilisateurs, consultez [AUTOTITLE](/rest/users/users?apiVersion=2022-11-28#list-users). Pour plus d’informations sur l’utilitaire de ligne de commande pour exporter des utilisateurs, consultez [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-user-csv).
    
  2.        **Mappez les pseudonymes GitHub vers les utilisateurs réels de votre fournisseur d'identité (IdP)**  : déterminez les identités qui correspondent à chaque pseudonyme GitHub dans votre entreprise.
    
  3.        **Configurer l’attribut SCIM `userName`** : vérifiez que votre fournisseur d’identité approvisionne les utilisateurs SCIM avec des valeurs `userName` qui correspondent aux noms d’utilisateur GitHub existants que vous souhaitez lier.
    
           **Important** : la cible pour le mappage est toujours la **current GitHub nom d’utilisateur** sur votre instance, et non l’ID d’utilisateur LDAP d’origine ou tout autre identificateur.
    

Considérations clés relatives à la planification

          **Considérations importantes :**

* Temps d’arrêt requis : cette migration nécessite un temps d’arrêt pendant une fenêtre de maintenance pour modifier les paramètres d’authentification. * Impact de l’utilisateur : après la migration, les utilisateurs devront s’authentifier via votre fournisseur d’identité SAML au lieu des informations d’identification LDAP. * Appartenance à l’équipe : la synchronisation d’équipe LDAP est remplacée par le provisionnement de groupes SCIM, sous réserve de prise en charge par votre fournisseur d’identité (IdP). Les équipes mappées LDAP doivent être mises à jour avec un groupe SCIM approprié le cas échéant.

Capturer l’état de votre configuration LDAP

Enregistrez votre configuration LDAP actuelle pour planifier des mappages SAML/SCIM équivalents :

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
  3. Dans la barre latérale « Site admin », cliquez sur Management Console.
  4. Dans la barre latérale « Paramètres », cliquez sur Authentification.
  5. Documentez les paramètres LDAP suivants : * Base de domaine et groupes d’utilisateurs restreints
    • attribut Utilisateur ID (utilisé pour créer des noms d’utilisateur GitHub)
    •      **Nom du profil, e-mail et autres mappages d’attributs**
      
    •      **Configuration du groupe Administrateurs**
      
    •      **Paramètres de synchronisation d’équipe**
      
  6. Vérifiez que vous avez enregistré une liste d’utilisateurs existants sur votre instance que vous lierez à une identité SCIM.

3. Migrer vers SAML et SCIM

Une fois la planification terminée, vous pouvez commencer à migrer de LDAP vers l’authentification SAML. Cela implique de configurer SAML sur votre fournisseur d’identité et GitHub Enterprise Server, puis de tester soigneusement la configuration avant de passer à SCIM.

          **Important** : lors de la configuration de SAML, activez « Autoriser la création de comptes avec l’authentification intégrée » pour réduire le nombre d’étapes requises lors de l’activation de SCIM.

Activation de l’authentification SAML

Pour obtenir des instructions de configuration SAML détaillées, consultez Configuration d'une authentification unique (SSO) SAML pour votre entreprise.

Après avoir activé SAML, testez le système d’authentification avant de passer à SCIM. Avec n’importe quel compte IdP affecté à l’application SAML configurée sur votre instance, vérifiez que vous êtes en mesure d’effectuer correctement une connexion d’authentification unique.

          **Ne passez pas à SCIM tant que l’authentification SAML ne fonctionne pas correctement.**

Activer l’approvisionnement SCIM

Une fois que l’authentification SAML fonctionne correctement, vous pouvez activer SCIM pour la gestion automatisée des utilisateurs. SCIM doit être configuré à la fois sur GitHub Enterprise Server et sur votre fournisseur d’identité.

Pour obtenir des instructions détaillées pour activer SCIM, consultez Configuration du provisionnement SCIM pour gérer les utilisateurs.

Tester le provisionnement SCIM

Testez l’approvisionnement SCIM pour vérifier que les utilisateurs approvisionnés SCIM sont liés correctement aux comptes d’utilisateur existants.

Pour les utilisateurs qui ont déjà des comptes à partir de la migration LDAP/SAML :

  1.        **Affectez l'utilisateur à l'application SCIM** dans votre IdP.
    
  2.        **Vérifier la liaison automatique** : vérifiez que SCIM est automatiquement lié au compte existant :
    
  3.        **Passez en revue les journaux d’audit** : recherchez des événements `external_identity.scim_api_success` et `external_identity.provision` montrant la liaison réussie des utilisateurs existants.
    

Pour les nouveaux utilisateurs qui ne se sont pas déjà installés dans votre instance :

  1.        **Vérifier la création de l’utilisateur** : vérifiez que l’utilisateur apparaît dans GitHub Enterprise Server avec des attributs corrects.
    
  2.        **Tester l’authentification** : vérifiez que le nouvel utilisateur peut s’authentifier via SAML.
    
  3.        **Mises à jour des attributs de test** : Mettez à jour les informations utilisateur dans idP et confirmez la synchronisation des modifications.
    
  4.        **Test de déprovisionnement** : supprimez l’accès utilisateur et confirmez qu'ils sont suspendus.
    

Déployer SCIM pour tous les utilisateurs

Pour tous les utilisateurs restants qui ne sont pas encore approvisionnés via SCIM :

  1.        **Affectez progressivement des utilisateurs** à l'application GitHub Enterprise Server dans votre IdP.
    
  2.        **Surveiller le processus de liaison** : surveillez la réussite de la liaison automatique en fonction de la correspondance de nom d’utilisateur.
    
  3.        **Suivi de la progression** : utilisez les journaux d’audit pour surveiller `external_identity` les événements pour lier la progression.
    
  4.        **Résoudre les conflits** : résolvez les conflits de nom d’utilisateur ou les problèmes de mappage au fur et à mesure qu’ils se produisent.
    

4. Mettre à jour l’appartenance à l’équipe et à l’organisation

Après votre migration, si vous avez précédemment utilisé la synchronisation de groupe LDAP pour contrôler les appartenances aux équipes, vous pouvez remplacer ces mappages d’équipe par des groupes SCIM. Si vous réutilisez une équipe existante, vous devez supprimer tous les membres de l’équipe avant de lier un groupe IdP.

Pour plus d’informations, consultez « Gestion des appartenances aux équipes avec des groupes de fournisseur d’identité ».