Vous êtes sur la page 1sur 29

Lightweight Directory Access Protocol (LDAP)

Thierry Delot Laboratoire PRiSM Universit de Versailles St-Quentin

Thierry Delot, 2000

LDAP : Concepts
u

quest-ce quun annuaire ?


w w w

Stockage et consultation dinformations Ddi la lecture plus qu lcriture Accs se fait par recherche multi-critres

Un annuaire lectronique, cest en plus :


w w w w

un protocole daccs un modle de distribution un modle de duplication de linformation un contenu volutif : des informations complmentaires peuvent tre ajoutes www.prism.uvsq.fr adresse IP correspondante service dannuaire global : contexte largi un intranet ou lInternet par opposition un service local
2

Exemple : DNS
w w

Thierry Delot, 2000

LDAP : Historique
u

X500 (propos par l ISO)


w w

Standard conu par les oprateurs telecom pour interconnecter leurs annuaires tlphoniques Les limites :

performances insuffisantes utilisation des protocoles ISO Modle de donnes de type objet

LDAP (Lightweight Directory Access Protocol)


w

bas sur X500 DAP et adapt lInternet


Mme modle pour le schma, le nommage et la manipulation API facile utiliser TCP/IP au lieu des protocoles ISO La plupart des lments manipuls sont des chanes de caractres standard d annuaire sur TCP/IP : RFC 1487(v1), RFC 1777(v2), RFC 2251(v3) Premire implmentation luniversit du Michigan Plusieurs produits commerciaux (IBM, Microsoft, Netscape, Oracle, Sun, etc).

propos par lIETF (Internet Engineering Task Force) in 1995


Thierry Delot, 2000

Plan

Protocole Modle dinformation Modle de nommage Modle fonctionnel Modle de scurit Modle de duplication Architecture

Thierry Delot, 2000

LDAP : protocole
u

Le protocole dfinit :
w

comment stablit la communication client-serveur

bind, unbind, abandon synchronisation (replication service) liens entre diffrents annuaires (referral service) pas lASCII (http, smtp, ) mais Basic Encoding Rules (BER) Mthodes de chiffrement et dauthentification Mcanismes daccs aux donnes

comment stablit la communication serveur-serveur


Transport des donnes :

Les mcanismes de scurit


Les oprations de base

search, add, delete, etc.

Thierry Delot, 2000

LDAP : modle dinformation


u

Le modle dinformation dfinit le type des donnes pouvant tre stockes dans lannuaire Lentre :
w w w

lment de base de lannuaire Contient les informations sur un objet de lannuaire Ces informations sont reprsentes sous forme dun ensemble de paires (attribut, valeur) Chaque entre doit appartenir une classe particulire A chaque attribut est associ un type et une ou plusieurs valeurs Les attributs dune entre peuvent tre obligatoires ou optionnels

w w w

Thierry Delot, 2000

LDAP : modle dinformation


u

Schma de lannuaire :
w w

dfinit pour le serveur lensemble des dfinitions relatives aux objets quil sait grer dcrit les classes dobjets, leurs types dattributs et leur syntaxe

Vrification de schma :
w

A chaque cration dentre, le serveur vrifie si elle est conforme sa (ses) classe(s) dappartenance

Flexibilit du schma
w w

attributs optionnels attributs multi-valus

Avec LDAPv3, obligation pour un serveur de publier son schma via LDAP en le stockant dans lentre subschema

Thierry Delot, 2000

LDAP : modle dinformation


u

Attributs :
w

caractriss par un nom, un nom alternatif, un type et un Object Identifier (OID)

Le type le plus employ : chanes de caractres, mais galement des champs d octets pour stocker des images ex : creatorsName, modifiyTimestamp,

Attributs oprationnels maintenus par le serveur

Exemple dattributs dfinissant une entre


type dattribut cn: uid: telephonenumber: mail: roomnumber: Valeur dattribut Ltitia Casta lcasta +33 (0) 1 4852 7738 Laetitia.Casta@inria.fr C105

Thierry Delot, 2000

LDAP : modle dinformation


u

Classes dObjets (Object class) :


w w

Spcifie la liste des attributs obligatoires et optionnels 3 Types de classes d objets :


structurelle : description des objets de lannuaire (personnes, groupes, ...) auxiliaire : objets qui permettent d ajouter des infos complmentaires abstraite : objets basiques de LDAP (top, alias)

Ensemble de classes d objets standardises pour assurer lintroprabilit mais possibilit den dfinir de nouvelles selon les besoins. Exemples :

une organisation : Organization (o) ses dpartements : OrganizationUnit (ou)

Thierry Delot, 2000

LDAP : modle dinformation


u

Classes dObjets (Object class) :


w w

La classe dobjet dune entre est spcifie laide de lattribut objectclass Les classes dobjets forment une hirarchie

au sommet de cette hirarchie se trouve lobjet top chaque objet hrite des proprits (attributs) de lobjet dont il est le fils

Exemple :
w

l objet inetOrgPerson a la filiation suivante :


objectclass: top objectclass: person objectclass: OrganizationalPerson objectclass: inetOrgPerson

Thierry Delot, 2000

10

LDAP : modle de nommage


u

Directory Information Tree (DIT)


w w w

Les entres gres par le serveur LDAP sont toutes nommes Lespace de nommage est organis sous la forme dun arbre LDAP ne permet pas de limiter les relations de contenance entre classes dobjets : tout est permis.

Thierry Delot, 2000

11

LDAP : modle de nommage


u

Nommage hirarchique des entres


w

chaque entre gre est nomme de deux manires :

Relative Distinguished Name (RDN) ex : RDN = { O = MicroTech } Distinguished Name (DN) ex : RDN = { C = US, O = MicroTech }

Les hirarchies de classes et dinstances sont orthogonales


w w

lobjectclass person nhrite pas de lobjectclass organization une entre reprsentant une personne peut avoir comme parent une entre reprsentant une organisation

Thierry Delot, 2000

12

LDAP : modle de nommage


u

Exemple dannuaire :
Root C=US O=MicroTech OU=Research CN=Fax Machine CN=Sarah Miles OU=Sales CN=Bill Smith C=GB L=Winslow CN=John Jones O= Graphic Services CN=Laser Printer CN= Zoe Lange

RDN = { O = MicroTech } DN = { C = US, O = MicroTech }

Thierry Delot, 2000

13

LDAP : modle de nommage


u

2 types dobjets particuliers :


w w

Alias Referrals

Alias : rfrence entre entres au sein dun mme annuaire

Alias entry

Object entry Attr, Attr, ...

Thierry Delot, 2000

14

LDAP : modle de nommage


u

Referrals :
w w w

Distribuer la gestion dun annuaire entre plusieurs serveurs LDAP distincts Chaque serveur gre un sous-ensemble du DIT global Permet la monte en charge en gardant de bonnes performances

Gestion de la distribution
w w

La distribution est gre au niveau du client LDAP, il est responsable de toutes les connexions Permet dans lInternet de prserver lautonomie des serveurs car :

La bande passante entre un client et serveur et la mme quentre serveur et serveur Les clients sont suffisamment puissants Limite : tout le travail incombe lutilisateur

Thierry Delot, 2000

15

LDAP : modle de nommage

Root

Root
C=US

O=MicroTech

C=US

C=GB

OU=Research

CN=Fax Machine CN=Sarah Miles OU=Sales

referral ldap://[hostport]/o=Microtech

L=Winslow

CN=John Jones
CN=Bill Smith C=GB

referral ldap://[hostport]/o=Graphic Services

L=Winslow

CN=John Jones O= Graphic Services

O=MicroTech
O= Graphic Services

CN=Laser Printer CN= Zoe Lange

OU=Research

OU=Sales

CN=Fax Machine

CN=Sarah Miles

CN=Bill Smith

CN=Laser Printer

CN= Zoe Lange

Thierry Delot, 2000

16

LDAP : modle fonctionnel


u

Dcrit le moyen daccder aux donnes ainsi que les oprations quon peut leur appliquer Le modle dfinit :
w w w w

les oprations dinterrogation les oprations de comparaison les oprations de mise jour les oprations dauthentification et de contrle

Thierry Delot, 2000

17

LDAP : modle fonctionnel


u

Interrogation
w w

LDAP ne fournit pas dopration de lecture dentre Pour connatre le contenu dune entre, il faut crire une requte

Scope & Filter

Directory

Objects in the Scope Filtered Objects

Thierry Delot, 2000

18

LDAP : modle fonctionnel


u

Scope :
w

3 niveaux diffrents :

base

one

sub

Thierry Delot, 2000

19

LDAP : modle fonctionnel


u

Filter :
w w

Permet de tester lexistence ou les valeurs dattributs Ex :


objectclass = person telephonenumber = 01*

La clause filter dune requte LDAP est compos dun ensemble de conjonctions et/ou de disjonctions de filtres simples

Thierry Delot, 2000

20

LDAP : modle fonctionnel


u

Modle des requtes LDAP


base object dn ? scope ? filter

Exemples de requtes :
// Toutes les personnes de lannuaire ? sub ? objectclass = person // Les dpartements de recherche de lorganisation Microtech c=us, o=microtech ? one ? ou=research // Toutes les personnes qui travaillent pour Microtech et dont le nom commence par Bill et qui ont un email chez aol c=us, o=microtech ? sub ? (&(cn = Bill*) (mail=*@aol.com))

Thierry Delot, 2000

21

LDAP : modle fonctionnel


u

Structure du rsultat dune requte :


w w

Le rsultat dune requte est compos de la liste des entres qui sont concernes par le scope et qui vrifient le filtre Les liens de contenance entre les objets sont perdus dans les rsultats

Des limites sur le temps de recherche ou la taille des rsultats souhaits peuvent tre spcifis LDAP URL : sous-ensemble de lopration de recherche qui peut tre utilis via un browser Web :
ldap://[hostport]/query_expression ldap://nldap.com/c=us?sub?(cn=bill*)

Thierry Delot, 2000

22

LDAP : modle fonctionnel


u

Les limites des fonctionnalits dinterrogation :


w w w

Rsultats de requtes toujours plats Ne permet pas la recherche de chemins

chercher tous les pays qui contiennent une organisation situe Paris Chaining (propagation des requtes entre les serveurs) pas implment car sur lInternet, la bande passante entre clients et serveurs et la mme quentre serveurs Le client rcupre ladresse dun serveur et il lui incombe de linterroger son tour sil est intress par les donnes de ce serveur

Gestion des referrals

Thierry Delot, 2000

23

LDAP : modle fonctionnel


u

Oprations de mise jour :


w w w

add :

ajouter une nouvelle entre dans le DIT supprimer une entre du DIT ajouter des valeurs ou des attributs supprimer des valeurs ou des attributs

delete :

modify :

Des contrles dintgrit sont effectus :


w w w

Attributs obligatoires Intgrit rfrentielle etc

Thierry Delot, 2000

24

LDAP : modle de scurit


u

Dcrit le moyen de protger les donnes de lannuaire des accs non autoriss Plusieurs niveaux :
w

authentification lors de laccs un service


anonymous permet de consulter les donnes accessibles en lecture pour tous administrateur (tous les droits) mot de passe en clair (DN + password transitent en clair sur le rseau) Mot de passe + SSL ou TLS (la session est chiffre) change de certificats SSL (cls publiques/prives) Simple Authentification and Security Layer (SASL) : mcanisme externe dauthentification (Kerberos, S/Key, GSSAPI) dfinit les droits des diffrents utilisateurs sur les donnes

w w

contrle daccs

chiffrement des transactions entre clients et serveurs ou entre serveurs

Thierry Delot, 2000

25

LDAP : modle de duplication


u

Dfinit comment dupliquer lannuaire sur plusieurs serveurs But :


w w

Supporter la monte en charge Rsister une panne dun serveur ou une coupure rseau

La rplication est supporte dans le modle LDAP par le protocole LDUP (standard en cours) Le modle :
w w w

Actuellement, un site matre et des sites esclaves. On duplique tout larbre ou uniquement un sous-arbre Des modles plus compliqus sont ltude

on ne duplique que les objets de type personne

Thierry Delot, 2000

26

LDAP : Architecture

Application Client LDAP Java protocole LDAP

Application Client LDAP C++

Front-end Serveur LDAP Gestionnaire de requtes LDAP Stockage Objets LDAP Back-end

Thierry Delot, 2000

27

Conclusion
u

Avantages de LDAP :
w w w

Flexibilit Simplicit Efficacit (en consultation)

Les lacunes :
w w

Interoprabilit et intgration : Langage dinterrogation relativement limit

Thierry Delot, 2000

28

Bibliographie
u

u u u u

http://www3.innosoft.com/ldapworld (catalogue des serveurs ldap existants) D. Srivastava, Directories : Managing Data for Networked Applications (tutoriel sur LDAP). http://wwww.research.att.com/~divesh LDAPv2, http://www.ietf.org/rfc/rfc1777.txt LDAPv3, http://www.ietf.org/rfc/rfc2251.txt L. Mirtain, Service dannuaire LDAP, 1999. Mark Wilcox , Implementing LDAP , March 1999, Wrox Press Inc; ISBN: 1861002211 Rob Weltman, Tony Dahbura , LDAP Programming with Java (February 2000), Addison-Wesley Pub Co; ISBN: 0201657589

Thierry Delot, 2000

29

Vous aimerez peut-être aussi