JDLL 2014 - Introduction aux annuaires LDAP

23
Introduction aux annuaires LDAP Clément OUDOT JDLL 2014

description

 

Transcript of JDLL 2014 - Introduction aux annuaires LDAP

Page 1: JDLL 2014 - Introduction aux annuaires LDAP

Introduction aux annuaires LDAP

Clément OUDOTJDLL 2014

Page 2: JDLL 2014 - Introduction aux annuaires LDAP

2

Clément OUDOT

Pro

10

Logiciel Libre

Page 3: JDLL 2014 - Introduction aux annuaires LDAP

Les annuaires

Page 4: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 5: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 6: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 7: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 8: JDLL 2014 - Introduction aux annuaires LDAP

Ce que définit le protocole● Les 9 opérations de base :

– bind– unbind– abandon– search– compare– add– delete– modify– ModifyDN

Page 9: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 10: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 11: JDLL 2014 - Introduction aux annuaires LDAP

Le modèle d'information

Attribut Attribut

AttributAttribut

Entrée

Attribut

Valeur

Valeur

Valeur

Page 12: JDLL 2014 - Introduction aux annuaires LDAP

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)

Page 13: JDLL 2014 - Introduction aux annuaires LDAP

OpenLDAP

Page 14: JDLL 2014 - Introduction aux annuaires LDAP

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)

Page 15: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 16: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 17: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 18: JDLL 2014 - Introduction aux annuaires LDAP

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.

Page 19: JDLL 2014 - Introduction aux annuaires LDAP

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

Page 20: JDLL 2014 - Introduction aux annuaires LDAP

20

C'est la fin...

Page 21: JDLL 2014 - Introduction aux annuaires LDAP

21

Merci● Merci aux organisateurs des JDLL !● Contact:

● Twitter: @clementoudot ● IRC: KPTN #linagora@freenode● Web: http://coudot.blogs.linagora.com

Page 22: JDLL 2014 - Introduction aux annuaires LDAP

22

Questions ?

Page 23: JDLL 2014 - Introduction aux annuaires LDAP

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