SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Migration d'annuaires propriétaires vers OpenLDAP

               Clément OUDOT
             RMLL – 12 juillet 2012
Sommaire
 ●   SUN/Oracle DS et standard LDAP
 ●   Organiser sa migration vers OpenLDAP
 ●   Retours d'expérience
 ●   Présentation de LinID OpenLDAP Manager




                                              2
Présentation




               3
Clément OUDOT
 ●   Administrateur LDAP depuis 2003 à LINAGORA
 ●   LinID Dream Team Manager : http://linid.org
 ●   Leader du projet LDAP Tool Box :
     http://ltb-project.org
 ●   Leader du projet LemonLDAP::NG :
     http://lemonldap-ng.org




                                                   4
SUN/Oracle DS et standard LDAP




                                 5
Libertés prises avec le schéma
 ●   Non respect de contraintes sur les classes d'objet
     structurelles :
     ●   Plusieurs classes structurelles de hiérarchie différente
         peuvent cohabiter
     ●   Une entrée peut n'avoir aucune classe structurelle




                                                                    6
Libertés prises avec le schéma
 ●   Règles de comparaison incohérentes avec les
     syntaxes (cf. par exemple l'attribut
     icsDomainNames)
 ●   Divergences par rapport aux schémas standards
     des RFC, par exemple :
     ●   l'attribut « membre d'un groupe » est facultatif dans
         SUN/Oracle DS
     ●   SUN/Oracle DS autorise la recherche partielle sur les
         DN
     ●   SUN/Oracle DS autorise les recherches d'ordre sur
         l'attribut « name »
                                                                 7
Libertés prises avec les données
 ●   Attributs vides autorisés
 ●   Encodages différents de UTF-8 autorisés dans une
     syntaxe Directory String
 ●   Chaînes de caractères diverses dans une syntaxe
     Distingushed Name
 ●   Plusieurs valeurs pour les booléens (true, TRUE,
     1, ...)
 ●   Aucun contrôle sur les données binaires



                                                    8
Politique des mots de passe
 ●   La politique des mots de passe n'est pas une RFC
     mais un draft
 ●   SUN/Oracle DS implémente la politique avec des
     attributs différents de ceux définis dans le draft
 ●   SUN/Oracle DS implémente des fonctions
     supplémentaires par rapport au draft (contrôle sur
     les majuscules, minuscules, etc.)




                                                      9
Droits d'accès
 ●   SUN/Oracle DS utilise des ACI (droits définis
     directement dans les entrées LDAP)
 ●   SUN/Oracle DS permet d'utiliser « accept » ou
     « deny »
 ●   Attention également :
     ●   Aux relations parent (gestion de la hiérarchie)
     ●   Au dé-référencement d'attribut




                                                           10
Organiser son projet de migration




                                    11
Les grandes étapes 1/2
 ●   Analyse de l'existant :
     ●   Logs
     ●   Schéma, données
     ●   Applications clientes (avec les extensions LDAP
         utilisées)
     ●   ACI
     ●   Modules activés
 ●   Installation d'une plate-forme cible
 ●   Conversion des données, des schémas, des ACI
     en ACL
                                                           12
Les grandes étapes 2/2
 ●   Activation des overlays correspondant aux
     modules activés
 ●   Conversion des données
 ●   Import des données
 ●   Bascule des applications




                                                 13
Analyse des logs
 ●   Les logs SUN/Oracle sont très proches du format
     de logs OpenLDAP (même souche logicielle)
 ●   Des scripts existent (voir lien de téléchargement
     sur http://linid.org) pour analyser ces logs et
     fournir des statistiques :
     ●   Types d'opération utilisées
     ●   Volumétrie (pics et moyennes)
 ●   L'analyse de ces chiffres permet de dimensionner
     correctement l'architecture cible


                                                         14
Exemple de graphique obtenu

                          3,5



                          3,0



                          2,5
                                                                                                                                   Étendue
 Opérations par seconde




                                                                                                                                   Déconnexion
                          2,0                                                                                                      Authentification
                                                                                                                                   Renommage
                                                                                                                                   Ajout
                          1,5                                                                                                      Modification
                                                                                                                                   Suppression
                                                                                                                                   Recherche
                          1,0



                          0,5



                          0,0
                                20/08/11   21/08/11   22/08/11   23/08/11   24/08/11   25/08/11   26/08/11   27/08/11   28/08/11




                                                                                                                                             15
Conversion des données
 ●   Les données doivent être retravaillées avant d'être
     injectées dans OpenLDAP (classes d'objet,
     attributs, encodage des caractères, respect des
     syntaxes, etc.)
 ●   Un script Perl est disponible sur LTB project (
     http://ltb-project.org), nommé convertldif.pl :
     ●   Exclusion de branches
     ●   Exclusion d'attributs ou de valeurs d'attributs
     ●   Mapping d'attributs


                                                           16
La théorie du big bang
 ●   Une bascule en mode big bang est très risquée et
     donc fortement déconseillée
 ●   Il est possible de faire vivre les deux systèmes en
     parallèle le temps de ma migration :
     ●   Première phase : plate-forme SUN/Oracle maître avec
         synchronisation des données vers OpenLDAP
     ●   Deuxième phase : plate-forme OpenLDAP maître avec
         synchronisation des données vers SUN/Oracle
     ●   Troisième phase : fin de la bascule de toutes les
         applications, suppression de la plate-forme
         SUN/Oracle
                                                             17
Retours d'expérience




                       18
Ministère des Finances (ex-DGCP)
 ●   150000 entrées
 ●   Migration big-bang des
     applications d'écriture
 ●   Migration progressive des
     applications de lecture
 ●   Développements
     spécifiques dans
     OpenLDAP pour la gestion
     de la politique des mots de
     passe (avant l'existence de
     l'overlay ppolicy)


                                   19
Ministère de l'Agriculture
 ●   Migration d'annuaire
     incluse dans un projet plus
     vaste de refonte du
     système annuaire et
     messagerie
 ●   Plusieurs centaines de
     milliers d'entrées
 ●   Synchronisation temps
     réel des mots de passe
     d'OpenLDAP vers SUN
     pendant la durée de la
     migration (LSC project –
     http://lsc-project.org)
                                   20
LinID OpenLDAP Manager




                         22
De slapd.conf à cn=config
 ●   slapd.conf :
     ●   Depuis la création d'OpenLDAP, la configuration est
         faite dans slapd.conf
     ●   Toute modification de configuration nécessite un
         arrêt/relance d'OpenLDAP
 ●   cn=config :
     ●   Depuis OpenLDAP 2.4, la configuration peut être
         stockée en LDAP, c'est le backend cn=config
     ●   Modifier un paramètre de configuration revient à faire
         une modification LDAP
     ●   La configuration est prise en compte automatiquement
Avantages/inconvénients de cn=config
 ●   Avantages :
     ●   Configuration prise en compte sans redémarrage
     ●   Réplication
     ●   Administration à distance
 ●   Inconvénients :
     ●   Peu intuitif
     ●   Pas de commentaire
     ●   Pas de suppression (pour l'instant)
     ●   Sauvegarde/restauration de la configuration plus
         complexe
Exemple : changer le niveau de log
 ●  Avec slapd.conf :
 Loglevel 256
  ● Avec cn=config :


 echo "dn: cn=config
 changetype: modify
 replace: olcLogLevel
 olcLogLevel: 256" | ldapmodify -x -D
 cn=manager,cn=config -W
LinID OpenLDAP Manager
 ●   LinID OpenLDAP Manager (LinID OM) est basé
     sur LinID Directory Manager (LinID DM)
 ●   Principales fonctionnalités :
     ●   Gestion des backends
     ●   Gestion des overlays
     ●   Auto détection de la version d'OpenLDAP
     ●   Gestion du cn=monitor
     ●   Configuration de plusieurs instances d'OpenLDAP
     ●   Gestion du schéma
Création d'une connexion
Liste des connexions
Édition du schéma
Configuration d'un overlay
La fin est proche...




                       31
Merci
 ●   Merci :
     ●   RMLL et les organisateurs de la session
     ●   Société LINAGORA
 ●   Restons en contact :
     ●   Identica: @coudot
     ●   Twitter: @clementoudot @LinID_FOSS
     ●   IRC: KPTN #LinID@freenode




                                                   32
Questions ?




              33
Merci de votre attention
                           http://www.linid.org




Logiciels et services Open Source
80 rue Roque de Fillol l 92800 PUTEAUX
Tel : 0810 251 251 l Fax : +33 1 46 96 63 64
www.linagora.com

Contenu connexe

En vedette

Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentationVimlendu Kumar
 
Projet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-InsuranceProjet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-InsuranceYadh Krandel
 
Réplication des bases de données
Réplication des bases de donnéesRéplication des bases de données
Réplication des bases de donnéessie92
 
Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données OracleAndrianaivo Lovatiana
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
MHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier DasiniMHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier DasiniOlivier DASINI
 
Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster? Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster? Leïla Gregson
 
Active dataguard
Active dataguardActive dataguard
Active dataguardManoj Kumar
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1infcom
 
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Microsoft Technet France
 
Examens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BDExamens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BDinfcom
 
Oracle dataguard overview
Oracle dataguard overviewOracle dataguard overview
Oracle dataguard overviewaguswahyudi09
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPLINAGORA
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
 
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...Ludovico Caldara
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Alphorm.com Support de la formation Citrix NetScaler11
Alphorm.com Support de la formation Citrix NetScaler11Alphorm.com Support de la formation Citrix NetScaler11
Alphorm.com Support de la formation Citrix NetScaler11Alphorm
 
Oracle 11g R2 RAC implementation and concept
Oracle 11g R2 RAC implementation and conceptOracle 11g R2 RAC implementation and concept
Oracle 11g R2 RAC implementation and conceptSantosh Kangane
 

En vedette (20)

Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentation
 
Projet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-InsuranceProjet de fin d'études Plateforme de E-Insurance
Projet de fin d'études Plateforme de E-Insurance
 
Data Guard Architecture & Setup
Data Guard Architecture & SetupData Guard Architecture & Setup
Data Guard Architecture & Setup
 
Réplication des bases de données
Réplication des bases de donnéesRéplication des bases de données
Réplication des bases de données
 
Oracle Cluster Rac
Oracle Cluster RacOracle Cluster Rac
Oracle Cluster Rac
 
Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données Oracle
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
MHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier DasiniMHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
MHA : MySQL haute dispo, chez Viadeo par Olivier Dasini
 
Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster? Qu'est ce qu'un Cluster?
Qu'est ce qu'un Cluster?
 
Active dataguard
Active dataguardActive dataguard
Active dataguard
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
 
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
 
Examens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BDExamens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BD
 
Oracle dataguard overview
Oracle dataguard overviewOracle dataguard overview
Oracle dataguard overview
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAP
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Alphorm.com Support de la formation Citrix NetScaler11
Alphorm.com Support de la formation Citrix NetScaler11Alphorm.com Support de la formation Citrix NetScaler11
Alphorm.com Support de la formation Citrix NetScaler11
 
Oracle 11g R2 RAC implementation and concept
Oracle 11g R2 RAC implementation and conceptOracle 11g R2 RAC implementation and concept
Oracle 11g R2 RAC implementation and concept
 

Similaire à Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et bonnes pratiques

Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !LINAGORA
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPClément OUDOT
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Olivier DASINI
 
Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g noble Bajoli
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPriscilleGANKIA
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateMor THIAM
 
Game of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesGame of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesQuang Tu LE
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google CloudPierre Coste
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Dr Hajji Hicham
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans AzureJean-Luc Boucho
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Pierre Ternon
 
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...fabricemeillon
 
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apportéRetour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apportéAdrien Futschik
 

Similaire à Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et bonnes pratiques (20)

Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAP
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...
 
Big data architectures
Big data architecturesBig data architectures
Big data architectures
 
Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
 
Game of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesGame of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de données
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
Google spanner
Google spannerGoogle spanner
Google spanner
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
 
LemonLDAP::NG 1.2
LemonLDAP::NG 1.2LemonLDAP::NG 1.2
LemonLDAP::NG 1.2
 
LemonLDAP::NG 1.2
LemonLDAP::NG 1.2LemonLDAP::NG 1.2
LemonLDAP::NG 1.2
 
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apportéRetour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
 

Plus de Clément OUDOT

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0Clément OUDOT
 
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...Clément OUDOT
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM projectClément OUDOT
 
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...Clément OUDOT
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libreClément OUDOT
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...Clément OUDOT
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libreClément OUDOT
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017Clément OUDOT
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NGClément OUDOT
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel LibreClément OUDOT
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideClément OUDOT
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGClément OUDOT
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security JerkClément OUDOT
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnClément OUDOT
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Clément OUDOT
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnectClément OUDOT
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect ProtocolClément OUDOT
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overviewClément OUDOT
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect ProtocolClément OUDOT
 

Plus de Clément OUDOT (20)

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0
 
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project
 
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
 
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard Guide
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security Jerk
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign On
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol
 

Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et bonnes pratiques

  • 1. Migration d'annuaires propriétaires vers OpenLDAP Clément OUDOT RMLL – 12 juillet 2012
  • 2. Sommaire ● SUN/Oracle DS et standard LDAP ● Organiser sa migration vers OpenLDAP ● Retours d'expérience ● Présentation de LinID OpenLDAP Manager 2
  • 4. Clément OUDOT ● Administrateur LDAP depuis 2003 à LINAGORA ● LinID Dream Team Manager : http://linid.org ● Leader du projet LDAP Tool Box : http://ltb-project.org ● Leader du projet LemonLDAP::NG : http://lemonldap-ng.org 4
  • 5. SUN/Oracle DS et standard LDAP 5
  • 6. Libertés prises avec le schéma ● Non respect de contraintes sur les classes d'objet structurelles : ● Plusieurs classes structurelles de hiérarchie différente peuvent cohabiter ● Une entrée peut n'avoir aucune classe structurelle 6
  • 7. Libertés prises avec le schéma ● Règles de comparaison incohérentes avec les syntaxes (cf. par exemple l'attribut icsDomainNames) ● Divergences par rapport aux schémas standards des RFC, par exemple : ● l'attribut « membre d'un groupe » est facultatif dans SUN/Oracle DS ● SUN/Oracle DS autorise la recherche partielle sur les DN ● SUN/Oracle DS autorise les recherches d'ordre sur l'attribut « name » 7
  • 8. Libertés prises avec les données ● Attributs vides autorisés ● Encodages différents de UTF-8 autorisés dans une syntaxe Directory String ● Chaînes de caractères diverses dans une syntaxe Distingushed Name ● Plusieurs valeurs pour les booléens (true, TRUE, 1, ...) ● Aucun contrôle sur les données binaires 8
  • 9. Politique des mots de passe ● La politique des mots de passe n'est pas une RFC mais un draft ● SUN/Oracle DS implémente la politique avec des attributs différents de ceux définis dans le draft ● SUN/Oracle DS implémente des fonctions supplémentaires par rapport au draft (contrôle sur les majuscules, minuscules, etc.) 9
  • 10. Droits d'accès ● SUN/Oracle DS utilise des ACI (droits définis directement dans les entrées LDAP) ● SUN/Oracle DS permet d'utiliser « accept » ou « deny » ● Attention également : ● Aux relations parent (gestion de la hiérarchie) ● Au dé-référencement d'attribut 10
  • 11. Organiser son projet de migration 11
  • 12. Les grandes étapes 1/2 ● Analyse de l'existant : ● Logs ● Schéma, données ● Applications clientes (avec les extensions LDAP utilisées) ● ACI ● Modules activés ● Installation d'une plate-forme cible ● Conversion des données, des schémas, des ACI en ACL 12
  • 13. Les grandes étapes 2/2 ● Activation des overlays correspondant aux modules activés ● Conversion des données ● Import des données ● Bascule des applications 13
  • 14. Analyse des logs ● Les logs SUN/Oracle sont très proches du format de logs OpenLDAP (même souche logicielle) ● Des scripts existent (voir lien de téléchargement sur http://linid.org) pour analyser ces logs et fournir des statistiques : ● Types d'opération utilisées ● Volumétrie (pics et moyennes) ● L'analyse de ces chiffres permet de dimensionner correctement l'architecture cible 14
  • 15. Exemple de graphique obtenu 3,5 3,0 2,5 Étendue Opérations par seconde Déconnexion 2,0 Authentification Renommage Ajout 1,5 Modification Suppression Recherche 1,0 0,5 0,0 20/08/11 21/08/11 22/08/11 23/08/11 24/08/11 25/08/11 26/08/11 27/08/11 28/08/11 15
  • 16. Conversion des données ● Les données doivent être retravaillées avant d'être injectées dans OpenLDAP (classes d'objet, attributs, encodage des caractères, respect des syntaxes, etc.) ● Un script Perl est disponible sur LTB project ( http://ltb-project.org), nommé convertldif.pl : ● Exclusion de branches ● Exclusion d'attributs ou de valeurs d'attributs ● Mapping d'attributs 16
  • 17. La théorie du big bang ● Une bascule en mode big bang est très risquée et donc fortement déconseillée ● Il est possible de faire vivre les deux systèmes en parallèle le temps de ma migration : ● Première phase : plate-forme SUN/Oracle maître avec synchronisation des données vers OpenLDAP ● Deuxième phase : plate-forme OpenLDAP maître avec synchronisation des données vers SUN/Oracle ● Troisième phase : fin de la bascule de toutes les applications, suppression de la plate-forme SUN/Oracle 17
  • 19. Ministère des Finances (ex-DGCP) ● 150000 entrées ● Migration big-bang des applications d'écriture ● Migration progressive des applications de lecture ● Développements spécifiques dans OpenLDAP pour la gestion de la politique des mots de passe (avant l'existence de l'overlay ppolicy) 19
  • 20. Ministère de l'Agriculture ● Migration d'annuaire incluse dans un projet plus vaste de refonte du système annuaire et messagerie ● Plusieurs centaines de milliers d'entrées ● Synchronisation temps réel des mots de passe d'OpenLDAP vers SUN pendant la durée de la migration (LSC project – http://lsc-project.org) 20
  • 22. De slapd.conf à cn=config ● slapd.conf : ● Depuis la création d'OpenLDAP, la configuration est faite dans slapd.conf ● Toute modification de configuration nécessite un arrêt/relance d'OpenLDAP ● cn=config : ● Depuis OpenLDAP 2.4, la configuration peut être stockée en LDAP, c'est le backend cn=config ● Modifier un paramètre de configuration revient à faire une modification LDAP ● La configuration est prise en compte automatiquement
  • 23. Avantages/inconvénients de cn=config ● Avantages : ● Configuration prise en compte sans redémarrage ● Réplication ● Administration à distance ● Inconvénients : ● Peu intuitif ● Pas de commentaire ● Pas de suppression (pour l'instant) ● Sauvegarde/restauration de la configuration plus complexe
  • 24. Exemple : changer le niveau de log ● Avec slapd.conf : Loglevel 256 ● Avec cn=config : echo "dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: 256" | ldapmodify -x -D cn=manager,cn=config -W
  • 25. LinID OpenLDAP Manager ● LinID OpenLDAP Manager (LinID OM) est basé sur LinID Directory Manager (LinID DM) ● Principales fonctionnalités : ● Gestion des backends ● Gestion des overlays ● Auto détection de la version d'OpenLDAP ● Gestion du cn=monitor ● Configuration de plusieurs instances d'OpenLDAP ● Gestion du schéma
  • 30. La fin est proche... 31
  • 31. Merci ● Merci : ● RMLL et les organisateurs de la session ● Société LINAGORA ● Restons en contact : ● Identica: @coudot ● Twitter: @clementoudot @LinID_FOSS ● IRC: KPTN #LinID@freenode 32
  • 33. Merci de votre attention http://www.linid.org Logiciels et services Open Source 80 rue Roque de Fillol l 92800 PUTEAUX Tel : 0810 251 251 l Fax : +33 1 46 96 63 64 www.linagora.com