jdll 2014 - introduction aux annuaires ldap
DESCRIPTION
TRANSCRIPT
Introduction aux annuaires LDAP
Clément OUDOTJDLL 2014
2
Clément OUDOT
Pro
10
Logiciel Libre
Les annuaires
Définition d'un annuaire● © Le Petit Robert :
● Recueil publié annuellement et qui contient des renseignements remis à jour tous les ans
● Principales caractéristiques :● Ensemble de données● Beaucoup d’enregistrements de petite taille● Souvent lus, rarement mis à jour● Recherches simples
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
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
Exemples d'annuaires● Annuaires papiers :
● Annuaire téléphonique (botin)● Carnet d'adresses● Dictionnaire
● Annuaires électroniques :● Annuaire de personnes (pages blanches)● Annuaire d’entreprise (pages jaunes)● Annuaire d’authentification (certificats, PKI, …)● DNS
Ce que définit le protocole● Les 9 opérations de base :
– bind– unbind– abandon– search– compare– add– delete– modify– ModifyDN
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
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
Le modèle d'information
Attribut Attribut
AttributAttribut
Entrée
Attribut
Valeur
Valeur
Valeur
Exemple de DITdc=linagora,dc=com
ou=personnesou=groupes
ou=structures
ou=administratif
ou=formation
ou=assistance
uid(inetOrgPerson)
ou(organizationalUnit)
ou(organizationalUnit)
cn(groupOfUniqueNames)
cn(alias)
cn(alias)
cn(alias)
OpenLDAP
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)
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● Délégation d’authentification SASL / GSSAPI● Internationalisation UTF-8 via Unicode
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
Fonctionnement interne
Contrô le du s chém
a
Librairi e BE
R
BDB
DNSRV
HDB
LDAP
MDB
META
MONITOR
NULL
PASSWD
PERL
RELAY
SHELL
SQL
Interce pteur
search
compare
add
delete
modify
modrdn
bind
unbind
abandon
extended
Analysedu filtre
Overla ys
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.
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
20
C'est la fin...
21
Merci● Merci aux organisateurs des JDLL !● Contact:
● Twitter: @clementoudot ● IRC: KPTN #linagora@freenode● Web: http://coudot.blogs.linagora.com
22
Questions ?
Merci
http://www.linid.org
Logiciels et services Open Source80 rue Roque de Fillol l 92800 PUTEAUXTel : 0810 251 251 l Fax : +33 1 46 96 63 64www.linagora.com