JDLL 2014 - Introduction aux annuaires LDAP

Post on 29-Nov-2014

2.545 views 2 download

description

 

Transcript of JDLL 2014 - Introduction aux annuaires LDAP

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