5. Les annuaires électroniques
● Même principe que les annuaires papiers,
mais avec les avantages du numérique :
● Puissants : recherches multi-critères complexes
● Dynamiques : mises à jour plus faciles
● Souples : possibilité d’évolution de la structure
des données
● Sûrs : authentification, contrôles d’accès
● Personnalisables : affichage en fonction de
l’utilisateur
6. Ce qu'un annuaire n'est pas
● Une base de données :
● Rapport lecture/écriture beaucoup plus élevé
● Structure plus facilement extensible
● Diffusion à plus grande échelle (scalabilité)
● Duplication des données plus simple
● Respect des standards (LDAP)
● Un serveur de stockage :
● Entrées de petite taille
● Optimisé pour la lecture
8. Ce que définit le protocole
● Les 9 opérations de base :
– bind
– unbind
– abandon
– search
– compare
– add
– delete
– modify
– ModifyDN
9. Ce que définit le protocole
● Des règles d’extensibilité :
● Opérations étendues :
– Offrir de nouvelles opérations par rapport aux
opérations de base
– Par exemple : changement de mot de passe, test
d'identité...
● Contrôles :
– Ajouter de nouveaux paramètres aux opérations
existantes
– Par exemple : sélection de la plage d'enregistrements
dans les recherches
10. Exemple de flux LDAP
Client Annuaire
Connexion
Authentification
Authentification réussie
Recherche
Résultat de la recherche
Modification d'une entrée
Erreur lors de la modification
Ajout d'une entrée
Entrée ajoutée
Déconnexion
14. Historique
● Issu du serveur LDAP de l'université du
Michigan, dont dérive également Netscape
Directory Server (devenu SUN/Oracle
Directory Server et Fedora Directory Server)
● Projet initié en 1998 (OpenLDAP v1), avec
support LDAPv2
● Conforme LDAPv3 en 2000 (OpenLDAP v2)
● Version stable actuelle : OpenLDAP 2.4
(octobre 2007)
15. Fonctionnalités
● Serveur LDAP Open Source
● Contient :
● Serveur indépendant (slapd)
● Bibliothèques de connexion (libldap, liblber)
● Commandes LDAP (ldapsearch, ldapadd,
ldapmodify, ldapdelete, …)
● Commandes de gestion du contenu (slapadd,
slapcat, slapindex, …)
● API (C, C++, TCL, Java)
● Supporte :
● LDAPv2 et LDAPv3
● Réplication complète et différentielle
16. Particularités
● Choix de backends :
● BerkeleyDB (stockage)
● LDAP et meta (mandataire)
● Monitor (supervision)
● SQL, Perl, Shell (langages de programmation)
● Choix d'overlays :
● Politique des mots de passe
● Groupes dynamiques
● Intégrité référentielle
● Réécriture des requêtes à la volée
18. Le backend de configuration
La configuration de slapd est maintenant stockée dans un annuaire LDAP
spécial avec un schéma et un DIT prédéfinis.
→ Les paramètres de configuration sont maintenant des entrées de
l'annuaire.
19. Les bons outils
● Distribution OpenLDAP du projet LDAP Tool
Box (RPM et DEB) :
http://www.ltb-project.org
● Apache Directory Studio :
https://directory.apache.org/studio/
● LinID OpenLDAP Manager :
http://www.linid.org/projects/linid-om/wiki
● Connecteurs de synchronisation :
http://www.lsc-project.org