Comment migrer d'un annuaire Google AD vers un LDAP en utilisant CROWD
logo-bleu_rvb.png
Back

Comment migrer d’un annuaire Google AD vers un LDAP en utilisant CROWD

Depuis que Crowd propose un connecteur avec Google AD, beaucoup d’entre vous ont choisi de l’utiliser pour gérer l’authentification de vos utilisateurs. Cela fonctionne généralement très bien, mais dans le cas où la taille de votre organisation augmente, il est probable que vous souhaitiez migrer vers une solution telle que le LDAP tout en conservant l’historique de vos utilisateurs.

Ce scénario est loin d’être facile à réaliser et après de multiples recherches et la réalisation d’un projet client, voici les étapes que je souhaite partager et qui sont nécessaires pour migrer de Google AD vers le LDAP en utilisant Crowd.

Scénario de départ :

  • Deux annuaires utilisateurs : Google AD & LDAP
  • Le LDAP est connecté aux autres applications du SI et nous voulons que les applications Atlassian le soient aussi
  • Les deux annuaires stockent les utilisateurs de manière différente
  • Google AD stocke les utilisateurs par ‘prénom.nom’ (Exemple : joe.bloggs)
  • LDAP stocke les utilisateurs par ‘nom+initiale prénom’ (Exemple : bloggsj)
  • L’objectif est de passer du stockage ‘Google AD’ au stockage ‘LDAP’

Le premier défi a été de changer les noms d’utilisateurs dans l’annuaire Google tout en conservant leur historique afin qu’ils correspondent aux conventions de nommage LDAP.

Nous avons atteint ceci de la manière suivante.

Il est important d’utiliser la version 2.8 de Crowd car nous avons eu beaucoup de bugs avec la version 2.7. De manière générale, nous avons utilisé toutes les dernières versions possibles des outils Atlassian pour notre projet.

Etape 1 :

Extraire les utilisateurs et leurs groupes d’appartenance de l’annuaire Google depuis Crowd. La méthodologie d’extraction est détaillée dans la base de connaissance Atlassian.

Etape 2 :

Créer un répertoire utilisateur temporaire dans Crowd appelé ‘Temp’. La procédure est décrite ici.

Etape 3 : 

Importer le fichier CSV dans ‘Temp’. Dans le cas où les appartenances aux groupes ne sont pas importées, relancer la procédure.

Etape 4 :

Les choses sérieuses commencent : ajouter le répertoire ‘Temp’ à toutes vos applications Atlassian et le placer en première position. ‘Temp’ doit être en première position, suivi par le répertoire Google.

Etape 5 :

Se connecter aux applications en tant qu’administrateur interne et lancer une nouvelle synchronisation complète. Cela se fait en éditant la configuration du répertoire Crowd, en cliquant sur ‘Test et sauvegarder’ puis en synchronisant à nouveau.

Une fois cette étape passée, les utilisateurs ne pourront plus se connecter aux applications car le répertoire d’utilisateur ‘Temp’ ne stocke pas les mots de passe.

Une fois la synchronisation terminée, vérifier que les utilisateurs sont toujours présents dans les applications et que leurs historiques restent intacts.

Etape 6 : 

Cette étape va vous permettre d’éprouver vos compétences Excel : dans l’étape 1 nous avons extrait les utilisateurs et leurs groupes dans un fichier. Nous allons utiliser ce fichier dans Excel pour créer un script de base de données qui fera une mise à jour des noms d’utilisateur en remplaçant le formalisme ‘nom.prénom’ par ‘nom.première lettre du prénom’

Il y’a plusieurs façons de faire cela et pour ma part j’ai choisi d’utiliser la fonction RECHERCHEV d’Excel.

Pour cela, j’ai extrait les donnée du LDAP avec la même procédure que lors de l’étape 1. Ensuite, j’ai utilisé la fonction RECHERCHEV sur ces deux classeurs pour comparer les utilisateurs en me basant sur leurs noms, leurs adresses email et ajouter leur nom d’utilisateur dans le premier fichier. Vous avez ainsi les deux noms d’utilisateurs dans le même classeur et il ne vous reste plus qu’à ajouter le script suivant pour chaque ligne :

update cwd_user, cwd_membership set cwd_user.user_name =’bloggsj’, cwd_user.lower_user_name = ‘bloggsj’, cwd_membership.child_name = ‘bloggsj’, cwd_membership.lower_child_name = ‘bloggsj’ WHERE cwd_user.user_name = ‘joe.bloggs’ AND cwd_membership.child_name = ‘joe.bloggs’ AND cwd_user.directory_id = ‘<tem internal directory id in crowd>’;

Etape 7 : 

Exécuter ce script dans la base de données de CROWD en copiant la requête générée dans le fichier Excel et en la collant dans une interface d’accès à la base de données.

Avant d’exécuter ce script, vérifier que toutes les applications connectées à CROWD ne sont plus connectées à l’annuaire Google.

Il est possible que la mise à jour de quelques utilisateurs ne fonctionne pas… C’est classique, il suffira de corriger manuellement le script pour que tout fonctionne !

Etape 8 :

Faire une synchronisation manuelle avec toutes les applications comme lors de l’étape 5 afin de s’assurer que les noms d’utilisateurs ont bien été mis à jour et vérifier que leurs historiques sont restés intacts.

Etape 9 :

Si tout est OK, ajouter le LDAP à chaque application dans Crowd. Si vous n’avez pas encore associé Crowd et LDAP, vous pouvez vous référer à la procédure suivante pour le faire avant l’ajout des applications au LDAP.

Lorsque cela est fait, vous pouvez supprimer le répertoire interne ‘Temp’ et effectuer une synchronisation manuelle avec toutes les applications comme lors de l’étape 5 afin de s’assurer que les noms d’utilisateurs ont bien été mis à jour et vérifier que leurs historiques sont restés intacts.

Afin d’éviter les problèmes de permission et notamment lors de la connexion des utilisateurs, il est important que tous les groupes soient créés dans Crowd.

Si la procédure décrite dans cet article vous paraît toujours compliquée, n’oubliez pas que vous pouvez contacter Valiantys à tout moment !

Cutted Triangle

Subscribe to the Valiantys Newsletter

Demande enregistrée ! Demande en cours... Ceci n'est pas un email Une erreur s'est produite

In accordance with our privacy policy, we are committed to respecting your personal data.

Contact us

Our Atlassian certified consultants will be happy to answer you.

Join us

We're building the next dream team - Are you in?

Follow us

Nous utilisons des cookies pour le fonctionnement de ce site, pour améliorer son utilisation, personnaliser votre expérience et réaliser des statistiques de visite. Vous pouvez gérer les paramètres et choisir d’accepter ou non certains cookies durant votre navigation. Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Paramètres de confidentialité

Afin de faciliter votre navigation et de vous apporter le meilleur service possible, nous utilisons des cookies pour améliorer le site aux besoins des visiteurs, notamment selon la fréquentation.  Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Recaptcha

Google reCAPTCHA est un système conçu pour distinguer les humains des ordinateurs, de telle sorte que les bots soient incapables de remplir les formulaires de manière malveillante au nom d’un être humain.

Analytics

Utilisé pour envoyer des données à Google Analytics sur le périphérique et le comportement du visiteur. Suit l'internaute à travers les appareils et les canaux de marketing. Utilisé par Google Analytics pour diminuer radicalement le taux de requêtes. Enregistre un identifiant unique utilisé pour générer des données statistiques sur la façon dont le visiteur utilise le site.

LinkedIn

Cookies pour une publicité ciblée : Ces cookies peuvent être mis en place au sein de notre site Web par nos partenaires publicitaires. Ils peuvent être utilisés par ces sociétés pour établir un profil de vos intérêts et vous proposer des publicités pertinentes sur d'autres sites Web. Ils ne stockent pas directement des données personnelles, mais sont basés sur l'identification unique de votre navigateur et de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité sera moins ciblée.

Cookies "réseaux sociaux" : Ces cookies sont activés par les services proposés sur les réseaux sociaux que nous avons ajoutés au site Web afin de vous donner la possibilité de partager notre contenu avec votre réseau et vos connaissances. Ils nous permettent également de suivre votre navigation sur d’autres sites Web et d’établir un profil de vos intérêts. Cela peut avoir un impact sur le contenu et les messages affichés sur les autres sites Web que vous consultez. Si vous n'autorisez pas ces cookies, il se peut que vous ne puissiez pas utiliser ou visualiser ces outils de partage.