Está en la página 1de 173

Service dannuaire LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP u Concepts u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts u Concepts Quest-ce quun annuaire ? Historique LDAP u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : quest-ce quun annuaire ?


Un annuaire est comme une base de donnes...

on peut y mettre des informations et les consulter.


mais il est spcialis. Ses principales caractristiques sont...

ddi la lecture, plus qu l'criture accs aux donnes se fait par recherche multi-critres
Exemples dannuaires carnet dadresses annuaire tlphonique rpertoire des rues post-it

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : quest-ce quun annuaire ?


Un service d'annuaire lectronique, c'est en plus...

un protocole qui permet l'accs au contenu une syntaxe qui permet dinterroger la base
et aussi

un modle de duplication un modle de distribution des donnes

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : quest-ce quun annuaire ?


Un service d'annuaire lectronique, c'est en plus...

u une mise jour dynamique... les donnes consultes sont rgulirement mises jour u un contenu volutif... des informations complmentaires peuvent tre ajoutes u une organisation des donnes plus exible possibilit de crer des index et de faire des recherches avances.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : quest-ce quun annuaire ?


Caractristiques compares des annuaires et base de donnes...

rapport lecture/criture plus lev bases plus facilement extensibles diffusion plus large chelle rpartition des donnes plus clate entre serveurs duplication de linformation importance des standards fortes quantits denregistrements...mais faibles capacits de stockage

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : quest-ce quun annuaire ?


exemple de services d'annuaires que nous utilisons dj www.playboy.com (DNS) deux types de contexte

local : contexte restreint une machine global : contexte largi un intranet ou l'internet

DNS est un exemple d'un service d'annuaire global

il est distribu entre des serveurs cooprants il a un espace de nommage uniforme

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : quest-ce quun annuaire ?


Un annuaire lectronique est une sorte dentrept de donnes. Il les rend disponibles des applications ou des utilisateurs.

des mots de passe ou des certicats dauthentication des adresses email les informations de contact : tlphone, adresse, bureau... des prols de conguration de logiciels ...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

LDAP : concepts : historique


Historiquement sont apparus :

Bases utilisateurs pour systmes multi-utilisateurs (70-80)


Unix /etc/passwd, IBM MVS Profs...

Internet Domain Name System (84) et WHOIS


service de nommage et bases de contacts

Les annuaires ddis aux applications


Lotus cc:Mail Unix sendmail /etc/aliases Microsoft Exchange

Les annuaires Internet


Bigfoot, Yahoos Four11, Schwitboard

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

10

LDAP : concepts : historique Les annuaires systme


Novell NetWare Directory Service (93) Microsoft Active Directory Sun NIS, NIS+

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

11

LDAP : concepts : historique Les annuaires multi-usage


X.500 (88-93-97) WHOIS++ (93) CSO (PH) LDAP (93)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

12

LDAP : concepts : historique u X.500


Standard conu par les oprateurs tlcom pour interconnecter leurs annuaires tlphoniques. Destin devenir LE service dannuaire GLOBAL distribu, normalis et fdrateur. Mais conu aussi pour rpondre tout type de besoin dannuaire grce un modle de donnes de type objet et extensible. Echec (?) du fait de la ncessit dutiliser les protocoles ISO et des logiciels trs lourds, et du fait de lessor de TCP/IP...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

13

LDAP : concepts : historique X.500 (suite)


X.500 dnit : les rgles pour nommer les objets et les entits les protocoles pour fournir le service dannuaire un mcanisme dauthentication.
Master DSA2 DAP (Directory Access Protocol) DSP (Directory System Protocol) DISP (Directory Information Shadowing Protocol) Master DSA1 (Directory System Agent)

DAP

DUA1 (Directory User Agent) DAP DUA2 Shadow DSA1

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

14

LDAP : concepts : historique X.500 (suite)


Exemple dannuaire X.500 : NameFlow Paradise (Piloting An inteRnationAl DIrectory SErvice), SURFNET (nl)... Logiciels DSA X.500 ISODE Consortium/Quipu, NeXor/XT-Quipu, Control Data/Rialto Global Directory Server

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

15

LDAP : concepts : historique WHOIS++ (93)


Whois utilisait une seule base, Whois++ introduit la notion de bases rparties relies par le Whois++ index service.

CSO
Annuaire dadresses lectroniques cr par luniversit de lIllinois, plus connu sous le nom de PH. Popularis par Eudora.

NETFIND, SOLO (Simple Object LOok)...


Des clients capables dinterroger diffrents types de Directory Servers (notion de Meta-Directory Service).

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

16

LDAP : concepts : historique LDAP (93)


Lightweight Directory Access Protocol (LDAP) est n de ladaptation de X.500 DAP au protocole TCP/IP. Deux groupes de travail aboutissent 2 produits fonctionnant comme frontal X.500 : Directory Assistance Service (DAS) : RFC 1202 Directory Interface to X.500 Implemented Efciently (DIXIE) : RFC 1249 qui convergent nalement vers le standard IETF LDAP. LDAPv1 : RFC 1487 LDAPv2 : RFC 1777 LDAPv3 : RFC 2251 LDAP garde beaucoup daspects de X.500 dans les grandes lignes, mais va dans le sens de la simplication.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

17

LDAP : concepts : historique LDAP (suite)


LDAP est initialement un frontal daccs des bases dannuaires X.500 (translateur LDAP/DAP). Devient un annuaire natif (standalone LDAP) utilisant sa propre base de donnes, sous limpulsion dune quipe de lUniversit du Michigan (U-M LDAP 3.2 en 95). (Wengyik Yeong, Steve Kille, Colin Robbins, Tim Howes, Marc Wahl). En 96, apparaissent les premier serveurs commerciaux.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

18

LDAP : concepts : LDAP u Concepts Quest-ce quun annuaire ? Historique LDAP


Protocole Modle dinformation Modle de nommage Modle fonctionnel Modle de scurit Modle de duplication APIs LDIF

u u u u u u

Dployer un service LDAP Les logiciels serveurs Les clients LDAP Les outils de dveloppement Les applications de LDAP aujourdhui et demain Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

19

LDAP : concepts : LDAP u LDAP dnit : le protocole -- comment accder linformation contenue dans lannuaire, un modle dinformation -- le type dinformation contenu dans lannuaire, un modle de nommage -- comment linformation est organise et rfrence, un modle fonctionnel -- comment on accde linformation, un modle de scurit -- comment donnes et accs sont protgs, un modle de duplication -- comment la base est rpartie entre serveurs, des API -- pour dvelopper des applications clientes, LDIF -- un format dchange de donnes.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

20

LDAP : concepts : LDAP : protocole u Le protocole dnit :


Comment stablit la communication client-serveur :

commandes pour se connecter ou se dconnecter, pour rechercher, comparer,


crer, modier ou effacer des entres. Comment stablit la communication serveur-serveur :

changer leur contenu et le synchroniser (replication service) crer des liens permettant de relier des annuaires les uns aux autres (referral
service). Le format de transport de donnes :

pas lASCII (comme pour http, smtp...) mais le Basic Encoding Rules (BER),
sous une forme allge (appele LBER : Lightweight BER)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

21

LDAP : concepts : LDAP : protocole u Le protocole dnit (suite) :


Les mcanismes de scurit :

mthodes de chiffrement et dauthentication mcanismes de rgles daccs aux donnes.


Les oprations de base: interrogation : search, compare mise jour : add, delete, modify, rename connexion au service : bind, unbind, abandon

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

22

LDAP : concepts : LDAP : protocole


Communication client-serveur :

normalise par lIETF : la version actuelle est LDAPv3 (RFC2251).


Communication serveur-serveur :

le referral service est dnit par LDAPv3, le replication service est encore en cours de normalisation sous la dnomination LDAP Duplication Protocol (LDUP) - n 99 -

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

23

LDAP : concepts : LDAP : protocole u possibilit davoir une seule connexion pour passer plusieurs requtes ( http)

1. connexion et authentication 2. rsultat authentication 3. recherche 4. rponse entre #1 5. rponse entre #2 Client LDAP 6. message de rsultat 7. abandon session 8. dconnexion Serveur LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

24

LDAP : concepts : LDAP : protocole u LDAPv3 est conu pour tre extensible sans avoir modier la norme grce 3
concepts :

LDAP extented operations : rajouter une opration, en plus des neuf oprations de base.

LDAP controls : paramtres supplmentaires associs une opration qui en


modient le comportement.

Simple Authentication and Security Layer : couche supplmentaire permettant LDAP dutiliser des mthodes dauthentication externes.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

25

LDAP : concepts : LDAP : modle dinformation u Le modle dinformation dnit le type de donnes pouvant tre stockes dans
lannuaire. Lentre (Entry) = lement de base de lannuaire. Elle contient les informations sur un objet de lannuaire. Ces informations sont reprsentes sous la forme dattributs dcrivant les caractristiques de lobjet. Toute sorte de classe dobjet (rel ou abstrait) peut tre reprsente. Le schma de lannuaire dnit la liste des classes dobjets quil connat.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

26

LDAP : concepts : LDAP : modle dinformation u Schma


Le Directory schema est la charte qui dnit, pour le serveur, lensemble des dnitions relatives aux objets quil sait grer. Le schma dcrit les classes dobjets, leurs types dattributs et leur syntaxe. Chaque entre de lannuaire fait obligatoirement rfrence une classe dobjet du schma et ne doit contenir que des attributs qui sont rattachs au type dobjet en question.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

27

LDAP : concepts : LDAP : modle dinformation u Attributs


Un type dattribut (ou attribut) est caractris par : Un nom, qui lidentie Un Object Identier (OID), qui lidentie galement Sil est mono ou multi-valu Une syntaxe et des rgles de comparaison Un indicateur dusage Un format ou une limite de taille de valeur qui lui est associe
Tableau 1 : Exemple dattributs dune entre

type dattribut

valeur dattribut cn: Ltitia Casta

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

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

28

LDAP : concepts : LDAP : modle dinformation


Les types dattributs ont une syntaxe qui sert dcrire le format de donnes et comment lannuaire compare ces valeurs lors dune recherche sur critre.
Tableau 2 : Exemple de syntaxes dattributs

syntaxe LDAP cis ces tel int dn bin

syntaxe X.500 caseIgnoreMatch caseExactMach telephoneNumberMatch integerMatch distinguishedNameMatch octetStringMatch

description texte, la casse nest pas prise en compte texte, la casse intervient texte reprsentant un numro de tel nombre entier, comparaison numrique nom dentre, rgles spciques donnes binaires, comparaison byte/byte

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

29

LDAP : concepts : LDAP : modle dinformation


2 catgories dattributs : User attributes : attributs normaux manipuls par les utilisateurs (givenname, telephoneNumber), Operational attributes : atttributs systmes utilis par le serveur (modifiersname) Certains serveurs LDAP respectent les standards X.500 de hirarchisation des attributs : permettent de dcrire un attribut comme tant un sous-type dun attribut super-type et dhriter ainsi de ses caractristiques.
Exemple : cn, sn, givenname sont des sous-types de lattribut super-type name

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

30

LDAP : concepts : LDAP : modle dinformation u Classes dobjets


Les classes dobjets modlisent des objets rels ou abstraits en les caractrisant par une liste dattributs optionnels ou obligatoires. Une classe dobjet est dnie par : Un nom, qui lidentie Un OID, qui lidentie galement Des attributs obligatoires Des attributs optionnels Un type (structurel, auxiliaire ou abstrait) Exemples de classes dobjet : une organisation (o), ses dpartements (ou), son personnel (organizationalPerson), ses imprimantes (device), ses groupes de travail (groupofnames).

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

31

LDAP : concepts : LDAP : modle dinformation


Le type dune classe est li la nature des attributs quelle utilise :

Une classe structurelle correspond la description dobjets basiques de


lannuaire : les personnes, les groupes, les units organisationnelles... Une entre appartient toujours au moins une classe dobjet structurelle.

Une classe auxiliaire dsigne des objets qui permettent de rajouter des informations complmentaires des objets structurels.

Une classe abstraite dsigne des objets basiques de LDAP.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

32

LDAP : concepts : LDAP : modle dinformation


Les classes dobjets forment une hirarchie, au sommet de laquelle se trouve lobjet top.
top

organizationalUnit

person

organizationalPerson

inetOrgPerson

Chaque objet hrite des proprits (attributs) de lobjet dont il est le ls. On prcise la classe dobjet dune entre laide de lattribut objectClass. Il faut obligatoirement indiquer la parent de la classe dobjet en partant de
lobjet top et en passant par chaque anctre de lobjet.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 33

LDAP : concepts : LDAP : modle dinformation


Par exemple, lobjet inetOrgPerson la liation suivante :
objectClass: objectClass: objectClass: objectClass: top person organizationalPerson inetOrgPerson

Lobjet person a comme attributs : commonName, surname, description, seeAlso, telephoneNumber, userPassword Lobjet fils organizationalPerson ajoute des attributs comme : organizationUnitName, title, postalAddress... Lobjet petit-fils inetOrgPerson lui rajoute des attributs comme : mail, labeledURI, uid (userID), photo...

Une entre peut appartenir un nombre non limit de classes dobjets. Les attributs obligatoires sont la runion des attributs obligatoires de chaque classe.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

34

LDAP : concepts : LDAP : modle dinformation


Exemples de classes dobjets Entry Type inetOrgPerson (denes entries for a person) Required Attributes commonName (cn) surname (sn) objectClass Optional Attributes businessCategory carLicense departmentNumber description employeeNumber facsimileTelephone Number givenName mail manager mobile organizationalUnit (ou) pager postalAddress roomNumber secretary seeAlso telephoneNumber title labeledURI uid businessCategory description facsimileTelephoneNumber location (l) postalAddress seeAlso telephoneNumber

organizationalUnit (denes entries for organizational units)

ou objectClass

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

35

LDAP : concepts : LDAP : modle dinformation u OIDs


Les classes dobjets et les attributs sont normaliss par le RFC2256 garantir linteroprabilit entre logiciels. Sont rfrences par un object identier (OID) unique dont la liste est tenue jour par lInternet Assigned Numbers Authority (IANA). Un OID est une squence de nombres entiers spars par des points. Les OIDs sont allous de manire hirarchique : seule, lautorit qui a dlgation sur la hirarchie 1.2.3 peut dnir la signication de lobjet 1.2.3.4 . Par exemple :
2.5 2.5.4 2.5.6 1.3.6.1 1.3.6.1.4.1 1.3.6.1.4.1.4203 fait rfrence au service X.500 est la dfinition des types dattributs est la dfinition des classes dobjets the Internet OID IANA-assigned company OIDs, used for private MIBs OpenLDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

36

LDAP : concepts : LDAP : modle dinformation u Dnition des schmas


Les schmas existants sont issus de X.500, plus des ajouts de LDAP ou dautres consortium industriels. Il existe plusieurs formats pour dcrire un schma LDAP :

slapd.conf : chier de conguration utilis par U-M slapd, OpenLDAP et

Netscape Directory.
ASN.1 : grammaire utilise dans les documents dcrivant les standards LDAP

et X.500.
LDAPv3 : LDAPv3 introduit lobligation pour un serveur de publier son schma via LDAP en le stockant dans lentre subschema.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

37

LDAP : concepts : LDAP : modle dinformation


Exemple de syntaxe slapd.conf :
attribute NAME [ALIASES] [OID] SYNTAXID [OPTIONS] attribute cn commonName 2.5.4.3 cis objectclass NAME [oid OID] [superior SUP] [requires REQATTRS] [allows ALLOWATTTRS] objectclass person oid 2.5.6.6 superior top requires sn, cn allows description, seeAlso, telephoneNumber, userPassword

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

38

LDAP : concepts : LDAP : modle dinformation


Exemple de syntaxe ASN.1 :
ub-common-name INTEGER ::= 64 commonName ATTRIBUTE WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax (SIZE (1..ub-common-name)) ::= {attributeType 3} person OBJECT-CLASS ::= { SUBCLASS OF top MUST CONTAIN { commonName, surname} MAY CONTAIN { description, seeAlso, telephoneNumber, userPassword} ::= {objectClass 6}

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

39

LDAP : concepts : LDAP : modle dinformation


Exemple de syntaxe LDAPv3 (attribut cn et objet person)
attributetypes: (2.5.4.3 NAME cn DESC commonName Standard Attribute SYNTAX 1.3.5.1.4.1.1466.115.121.1.15) objectclass: (2.5.6.6 NAME person DESC standard person Object Class SUP top MUST (objectclass $ sn $ cn ) MAY ( description $ seealso $ telephonenumber $ userpassword ) )

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

40

LDAP : concepts : LDAP : modle dinformation u Schema checking


Quand une entre est cre, le serveur vrie si sa syntaxe est conforme sa classe ou ses classes dappartenance : cest le processus de Schema Checking.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

41

LDAP : concepts : LDAP : modle de nommage u Le modle de nommage dnit comment sont organises les entres de
lannuaire et comment elles sont rfrences. Les entres reprsentent des objets. Lorganisation de ces objets se fait suivant une structure logique hirarchique : le Directory Information Tree (DIT). Au sein de ce DIT, lidentication dune entre se fait laide dun nom, le Distinguish Name (DN).

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

42

LDAP : concepts : LDAP : modle de nommage u Le Directory Information Tree (DIT)


Classication des entres dans une arborescence hirarchique (comparable au systme de chier Unix).
Exemple de modlisation dune organisation organisation

personnes

services

salles runions

organisation organisation organisation user1

organisation organisation organisation service1

organisation organisation organisation salle1

Chaque nud de larbre correspond une entre de lannuaire ou directory service entry (DSE). Au sommet de larbre se trouve lentre Sufx ou Root Entry ou BaseDN, qui caractrise une base LDAP.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 43

LDAP : concepts : LDAP : modle de nommage


Le sufx dnit lespace de nommage dont le serveur a la gestion. Un serveur peut grer plusieurs arbres (donc plusieurs sufxes). Il possde une entre spciale, appele root directory specic entry (rootDSE) qui contient la description du DIT.

Avec LDAP, vous tes libres dorganiser vos donnes comme bon vous semble
(design du DIT).

Des contraintes (performance, gestion...) impliqueront de choisir tel ou tel


type de modle (cf dploiement).

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

44

LDAP : concepts : LDAP : modle de nommage u Le Distinguish name (DN)


Rfrence de manire unique une entre du DIT ( path dun chier UNIX).
Form de la suite des noms des entres, en partant de lentre et en remontant vers le suffix, spar par des ",".

Ex : le DN de lentre lcasta vaut :


uid=lcasta, ou=people, dc=inria, dc=fr

Chaque composant du DN est appel Relative Distinguish Name (RDN). Le RDN est constitu dun des attributs de lentre (et de sa valeur). Le choix de cet attribut doit assurer que 2 entres du DIT naient pas le mme DN.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 45

LDAP : concepts : LDAP : modle de nommage u Alias et referral


Deux objets abstraits particuliers : les aliases et les referrals permettent une entre de lannuaire de pointer vers une autre entre du mme ou dun autre annuaire.
o=loria.fr o=inria.fr

Serveur LDAP 1

Serveur LDAP 2

Lattribut aliasObjectName de lobjet alias a pour valeur le DN de


lentre pointe.

Lattribut ref de lobjet referral a pour valeur lURL LDAP de lentre


dsigne.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 46

LDAP : concepts : LDAP : modle fonctionnel u Le modle fonctionnel dcrit le moyen daccder aux donnes et les oprations
quon peut leur appliquer. Le modle dnit : Les oprations dinterrogation. Les oprations de comparaison. Les oprations de mise jour. Les oprations dauthentication et de contrle.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

47

LDAP : concepts : LDAP : modle fonctionnel : Interrogation u Interrogation


LDAP ne fournit pas dopration de lecture dentre. Pour connatre le contenu dune entre, il faut crire une requte qui pointe sur cette entre. Une requte est compose de 8 paramtres :
base object scope derefAliases size limit time limit attrOnly search filter list of attributes lendroit de larbre o doit commencer la recherche la profondeur de la recherche si on suit les liens ou pas nombre de rponses limite temps maxi allou pour la recherche renvoie ou pas la valeur des attributs en plus de leur type le ltre de recherche la liste des attributs que lon souhaite connatre

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

48

LDAP : concepts : LDAP : modle fonctionnel : Interrogation u Le scope

search base = "l=sophia, dc=inria, dc=fr" search scope = base search scope = onelevel search scope = subtree

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

49

LDAP : concepts : LDAP : modle fonctionnel : Interrogation u Les ltres de recherche (RFC 1558)
(<operator>(<search operation>)(<search operation>)...))
Tableau 3 : Exemples de ltres de recherche

(cn=Laurent Mirtain) (cn=*Mart*) (cn~=martin) (employeenumber>=100) (sn=*) (&(sn=Mirtain)(l=sophia)) (|(ou=sophia)(ou=rocquencourt)) (!(tel=*))

galit sous-chane approximation comparaison existance ET OU NON

Nom vaut "Laurent Mirtain" Nom contient "Mart" Nom sonne comme "martin" Numro suprieur 100 Tous les noms propres Nom vaut "Mirtain" ET localisation vaut Sophia ou vaut sophia ou rocquencourt Toutes les entres sans attribut tlphone

Ex : (&(objectclass=inetOrgPerson)(!(mail=*)))Toutes les entres de type utilisateur sans adresse mail

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

50

LDAP : concepts : LDAP : modle fonctionnel : Comparaison u Comparaison


Hritage de X.500 : vrier si lattribut dune entre contient bien une valeur spcie. Le serveur rpond vrai ou faux. Equivalent une recherche, sauf que le serveur renvoie lentre si vrai et ne renvoie rien dans deux cas : si lattribut ne contient pas cette valeur, si lattribut nexiste pas alors que la comparaison renvoie dans ce 2me cas, un code derreur.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

51

LDAP : concepts : LDAP : modle fonctionnel : Mise jour u Mise jour 4 oprations : add,

delete, rename, modify

Ces quatre oprations ncessitent les droits de contrle appropris et des prrequis : add, rename : entre ne doit pas dj exister, entre doit avoir un parent existant add, modify : les attributs doivent tre conformes au schma delete : entre ne doit pas avoir denfant

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

52

LDAP : concepts : LDAP : modle fonctionnel : Mise jour u


rename = modifyRDN plus modifyDN(v3)

changer le RDN sans bouger de place changer le RDN sans bouger de place, en gardant lancien RDN en attribut dplacer lentre dans larbre en gardant le mme RDN dplacer lentre dans larbre en changeant le RDN
o=inria.fr ou=semir uid=lcasta uid=lcasta ou=cdd ou=semir uid=laetitia o=inria.fr ou=cdd ou=semir uid=lcasta uid=lcasta o=inria.fr ou=cdd ou=semir uid=laetitia o=inria.fr ou=cdd

dn: uid=lcasta,ou=semir,o=inria.fr dn: uid=laetitia,ou=semir,o=inria.fr


uid=laetitia o=inria.fr ou=semir uid=lcasta ou=cdd ou=semir o=inria.fr ou=cdd

dn: uid=lcasta,ou=semir,o=inria.fr dn: uid=laetitia,ou=semir,o=inria.fr


uid=lcasta o=inria.fr ou=semir ou=cdd ou=semir o=inria.fr ou=cdd uid=laetitia

uid=lcasta uid=lcasta

dn: uid=lcasta,ou=semir,o=inria.fr dn: uid=lcasta,ou=cdd,o=inria.fr

dn: uid=lcasta,ou=semir,o=inria.fr dn: uid=laetitia,ou=cdd,o=inria.fr

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

53

LDAP : concepts : LDAP : modle fonctionnel : Authentication u Authentication et contrle 3 oprations : bind, unbind,
bind unbind

abandon

= connexion. = dconnexion quil avait envoy. Celui-ci abandonne alors le process.

abandon = le client indique au serveur quil laisse tomber la requte

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

54

LDAP : concepts : LDAP : modle de scurit u Le modle de scurit dcrit le moyen de protger les donnes de lannuaire des
accs non autoriss. La scurit se fait plusieurs niveaux :

par lauthentication pour se connecter au service, par un modle de contrle daccs aux donnes, par le chiffrement des transactions entre clients et serveurs ou entre serveurs.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

55

LDAP : concepts : LDAP : modle de scurit u Lauthentication


LDAP est un protocole avec connexion : il faut sauthentier pour ouvrir la connexion (bind) en fournissant une identit. LDAPv3 propose plusieurs choix dauthentication :

Anonymous authentication - accs sans authentication permettant de consulter les donnes accessibles en lecture pour tous.

Root DN authentication - accs administrateur (tous les droits). Mot de passe en clair - un DN plus un password qui transite en clair sur le
rseau.

Mot de passe + SSL ou TLS - la session est chiffre et le mot de passe ne transite plus en clair.

Certicats sur SSL - change de certicats SSL (clefs publiques/prives). Simple Authentication and Security Layer (SASL) - mcanisme externe
dauthentication.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 56

LDAP : concepts : LDAP : modle de scurit u SASL


Simple Authentication and Security Layer (SASL) est dni par le RFC 2222 et permet dajouter des mcanismes dauthentication des protocoles orients connexion (~ plug-in). SASL est implant dans LDAPv3. Les mcanismes supports par SASL sont Kerberos, S/Key, GSSAPI ou dautres types.

Client LDAP

LDAP Serveur LDAP

SASL plug-in

SASL plug-in

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

57

LDAP : concepts : LDAP : modle de scurit u Le contrle daccs


Le serveur attribue lutilisateur identi, des droits daccs aux donnes (lecture, criture, recherche et comparaison), qui lui ont t dnis par ladministrateur sous la forme dACLs. Pas encore normalis par lIETF donc non compatibles entre serveurs.

Netscape Directory sous la forme dun attribut Access Control Items (aci) OpenLDAP : sous la forme de directives de contrle daccs dans slapd.conf

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

58

LDAP : concepts : LDAP : modle de scurit u Le contrle daccs (suite)


Les ACLs peuvent tre places au niveau des entres, au sommet de larbre ou sur un sous-arbre. Elles agissent sur les entres ou certains de leurs attributs. Elles sappliquent des individus ou des groupes, mais aussi suivant les adresses IP ou les noms de domaine des clients ou les jours et heures. Le placement et la porte des ACLs dpendent des capacits du logiciel.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

59

LDAP : concepts : LDAP : modle de scurit


Ces ACLs sexpriment sous la forme canonique :
<target> <permission> <bind rule> <target> : point dentre de lannuaire auquel sapplique la rgle <permission> : permet ou refuse un type daccs (lecture, criture...) <bind rule> : identifie le bindDN utilis en connexion

<permissions> Read Write Search Compare Selfwrite Add Delete

<bind rules> Un utilisateur Un groupe dutilisateur

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

60

LDAP : concepts : LDAP : modle de scurit u Le chiffrement


LDAPv3 supporte le chiffrement des transactions (entre clients et serveurs ou entre serveurs) via lutilisation de SSL (ldaps) ou de son successeur, TLS (startTLS extended operation). SSL ou TLS servent galement pour lauthentication par certicats : permet au client de prouver son identit au serveur et, en retour, celui-ci den faire de mme vis vis du client.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

61

LDAP : concepts : LDAP : modle de duplication u Le modle de duplication (replication service) dnit comment dupliquer
lannuaire sur plusieurs serveurs. Dupliquer lannuaire peut pallier : une panne de lun des serveurs, une coupure du rseau, surcharge du service. et garantir la qualit de service : temps de rponse et sret de fonctionnement. Permet galement : damliorer les performances en plaant les serveurs prs des clients de rpartir le travail entre plusieurs serveurs (load balancing) de grer les entres localement et de les diffuser sur plusieurs sites. Pas encore standard, mais est propos par la plupart des serveurs. LIETF prpare le protocole LDUP.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

62

LDAP : concepts : LDAP : modle de duplication


La duplication met en jeu plusieurs serveurs : les supplier servers fournissent les donnes, les consumer servers les reoivent. Les informations de conguration dcrivant les suppliers, les consumers et quelles donnes ils changent, forment le replication agreement.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

63

LDAP : concepts : LDAP : modle de duplication


On peut dupliquer

larbre entier ou seulement un sous arbre, une partie des entres et de leurs attributs quon aura spcis via un ltre du
genre : on ne duplique que les objets de type personne on ne duplique que les attributs non condentiels (annuaire interne vs. annuaire externe) Plusieurs manires de synchroniser les serveurs : mise jour totale ou incrmentale... Plusieurs stratgies de duplications : single-master replication, multiple-master replication, cascading replication.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

64

LDAP : concepts : LDAP : modle de duplication


La duplication se fait en temps-rel ou heure xe (scheduling replication). Deux prcautions : les serveurs doivent tous utiliser le mme schma de donnes, les rgles daccs aux donnes dupliques doivent tre dupliques. La mise en uvre du replication service ncessite de le prvoir au moment du design du DIT.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

65

LDAP : concepts : LDAP : APIs


Ces Bibliothques de programmation permettent de crer des applications annuaire-compatibles. Les APIs disponibles actuellement :

U-M LDAP SDK -- C (UMICH, OpenLDAP) Innosoft LDAP Client SDK (ILC-SDK) -- C (InnoSoft) Netscape Directory SDK -- Java, C (Netscape) PerLDAP Modules -- Perl (Netscape) Net- LDAPapi -- PERL (GNU) Java Naming and Directory Interface (JUNI) -- Java (SUN) Active Directory Service Interface (ADSI) -- COM (Microsoft)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

66

LDAP : concepts : LDAP : LDIF u LDAP Data Interchange Format (LDIF) est le standard de reprsentation des
entres sous forme texte. Utilis pour afcher ou modier les donnes de la base suivant deux modes : faire des imports/exports de base, faire des modications sur des entres. Le format utilis est lASCII. Toute valeur dattribut ou tout DN qui nest pas ASCII, est cod en base 64.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

67

LDAP : concepts : LDAP : LDIF u Mode import


La forme gnrale est :
dn: <distinguished name objectClass: <object class> objectClass: <object class> [...] attribute type:<attribute value> attribute type:<attribute value> [...]

Un entre de type personne se prsente de la manire suivante :


dn: cn=June Rossi, ou=accounting, o=Ace Industry, c=US objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson cn: June Rossi sn: Rossi givenName: June mail: rossi@aceindustry.com userPassword: {sha}KDIE3AL9DK dn: cn=Walter Scott, ou=accounting, o=Ace Industry, c=US objectClass: top objectClass: person objectClass: organizationalPerson

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

68

LDAP : concepts : LDAP : LDIF u Mode commande


La forme gnrale est :
dn: distinguished name changetype identifier change operation identifier list of attributes... change operation identifier list of attributes ... Le caractre - spcifie le sparateur entre 2 instructions Pour Pour Pour Pour crer un dtruire renommer modifier nouvel enregistrement un enregistrement une entre un enregistrement changetype: changetype: changetype: changetype: add delete modrdn modify

-> Un oprateur de modification doit alors tre spcifi. add replace delete : ajouter des attributs et leurs valeurs. : remplacer des valeurs dattributs par dautres. : dtruire lattribut spcifi.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

69

LDAP : concepts : LDAP : LDIF u Mode commande (suite)


Exemple :

Ajouter le numro de tlphone et le nom du manager pour la personne Lisa


Jangles.
dn: cn=Lisa Jangles, ou=Sales, o=Ace Industry, c=US changetype: modify add: telephonenumber telephonenumber: (408) 555-2468 add: manager manager: cn=Harry Cruise, ou=Manufacturing, o=Ace Industry, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

70

LDAP : concepts : LDAP : LDIF


Le format utilis dans LDIF est lASCII. Toute donne non ASCII doit tre encod en base 64. Dans ce cas le sparateur entre le type et la valeur de lattribut est :: .
jpegPhoto:: /9j/4AAQSkZJRgABAQAAAQABAAD//gBHQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEwI CBSZXY6IDEyLzE2Lzk0ICBRdWFsaXR5ID0gNzUsIFNtb290aGluZyA9IDAK/9sAQwAIBgYHBgUIB wcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/

LDAP utilise le jeu de caractres Unicode Transformation Format-8 (UTF-8) pour les attributs de type texte et les DNs. UTF- 8 englobe tous les jeux de caractres (isoLatin, Shift- JLS...), annuaires multilingues : avec loption language code de lattribut (extension propose par lIETF) ().
description,lang-fr : texte en franais description,lang-ja : le mme en japonais (le code suit de standard ISO 639)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

71

LDAP : concepts : les URLs LDAP u Les URLs LDAP (RFC-1959) permettent aux clients Internet davoir un accs
direct au protocole LDAP.
syntaxe : ldap[s]://<hostname>:<port>/<base_dn>?<attributes>?<scope>?<filter> <base_dn> : DN de lentre qui est le point de dpart de la recherche <attributes> : les attributs que lon veut consulter <scope> : la profondeur de recherche dans le DIT partir du <base_dn> - base : sarrte au niveau courant (par dfaut) - one : descend dun niveau - sub : parcourt tous les sous-niveaux <filter> : filtre de recherche, par dfaut (objectClass=*) exemples : ldap://ldap.netscape.com/ou=Sales,o=Netscape,c=US ldap://ldap.loria.fr/cn=Laurent%20Mirtain,ou=Moyens%20Informatiques,o=loria.fr ldap://ldap.loria.fr/o=loria.fr?mail,uid?sub?(sn=Mirtain)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

72

LDAP : dploiement u Concepts u Dployer un service LDAP Dterminer les besoins en service dannuaire et ses applications Dterminer quelles donnes sont ncessaires Choisir son schma Concevoir son espace (modle) de nommage Dnir la topologie de son service Mettre en service la duplication Mettre en uvre le partitionnement Scuriser le service Gestion des donnes u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

73

LDAP : dploiement
Dployer un service dannuaire LDAP, cest rchir :

la nature des donnes que lon y met, la manire dont on les rcupre, lutilisation que lon compte en faire, la faon de grer le tout.

La mise en place dun annuaire LDAP met donc en jeu plusieurs phases de conception que lon va passer en revue.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

74

LDAP : dploiement : besoins en service dannuaire


Un annuaire LDAP = entrept dinformations facilement accessibles aux utilisateurs ou aux applications. Dployer un systme dannuaire se fait gnralement sous la contrainte de la mise en place ou du remplacement dune application. Se poser la question dlargir le service dautres types dapplications Envisager toutes les applications possibles, actuelles ou futures, dun annuaire LDAP.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

75

LDAP : dploiement : donnes ncessaires


Il sagit :

dinventorier, suivant les applications, la liste des donnes inclure dans le


systme dinformation et leurs caractristiques : format taille nombre doccurrence droits daccs dynamiques ou statiques partages ou spciques une application

de dterminer par quelle source les obtenir et les maintenir jour.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

76

LDAP : dploiement : donnes ncessaires


Les sources de donnes courantes : autre service dannuaire ou bases systmes (Unix NIS, DNS, NT domain controler...) bases de donnes de lorganisation (base du personnel, base du PABX...) chiers textes ou feuilles de calcul dutilisateurs des bases propres des applications (chier htpasswd dApache, carnet dadresses...) Les mcanismes de mise jour envisageables : synchronisation avec un SGBD batches saisie manuelle

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

77

LDAP : dploiement : choisir son schma u Choisir, en fonction des donnes retenues, quels classes dobjets et types dattributs utiliser. Les schmas standards ou fournis avec les serveurs conviennent en gnral aux besoins. En rgle gnrale, viter de modier le schma existant car risque de rendre son annuaire inutilisable par les applications clientes ou les autres serveurs. Prfrable de rajouter une classe dobjet et exploiter le mcanisme dhritage dattributs des classes objets.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

78

LDAP : dploiement : choisir son schma


Par exemple cration de la classe dobjet inriaPerson lle de inetOrgPerson dans laquelle on dnira les attributs ncessaires ses besoins :
objectclass inriaPerson superior inetOrgPerson requires sn, cn allows uidNumber, gidNumber, homeDirectory, loginShell, dateArrive, dateDepart

Dans tous les cas :

documenter son schma pour en faciliter la maintenance et lvolution. viter de dsactiver loption de schema checking.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 79

LDAP : dploiement : concevoir son modle de nommage u Consiste dnir comment les entres de lannuaire vont tre organises, nommes et accdes. Dans cette phase, les paramtres quil faut prendre en compte sont : Le nombre dentres prvu et son volution ? La nature (type dobjet) des entres actuelles et futures ? Vaudra-t-il mieux centraliser les donnes ou les distribuer ? Seront-elles administres de manire centrale ou faudra-t-il dlguer une partie de la gestion ? La duplication est-elle prvue ? Quelles applications utiliseront lannuaire et imposent-elles des contraintes particulires ? Quel attribut utiliser pour nommer les entres et comment garantir son unicit ? En fonction de ses priorits, on privilgiera tel ou tel espace de nommage.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

80

LDAP : dploiement : concevoir son modle de nommage u Design du Directory Information Tree
Le DIT X.500 est conu dans loptique dun service global : il part du pays (top level) puis lorganisation, puis ventuellement la localisation...et il utilise lattribut cn pour nommer les entres.
g3. Exemple de DIT la X.500

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

81

LDAP : dploiement : concevoir son modle de nommage u Design du DIT (suite)


Le modle LDAP, nimpose pas une racine universelle du DIT car il renonce tre un service dannuaire mondial. Dans ce cadre, le DIT peut tre organis de diffrentes faons :

plat, dcoup pour reter lorganisation interne, branch par type dobjet, branch en vue de faciliter la duplication entre serveurs, la dlgation de gestion, ou la dnition de rgles daccs spciques une branche.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

82

LDAP : dploiement : concevoir son modle de nommage u Design du DIT (suite)


Exemple : arbre plat (source Perotsystems)

DIT Design: Flat Tree


c=US

o=Acme

ou=People

cn=Mike Smith #1 cn=Mike Smith #2

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

83

LDAP : dploiement : concevoir son modle de nommage u Design du DIT (suite)


Exemple : branchage par service (source Perotsystems)

DIT Design: People By Department


c=US

o=Acme

ou=Sales

ou=R&D

ou=Engineering

ou=Accounting

ou=Mfg.

cn=Mike Smith

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

84

LDAP : dploiement : concevoir son modle de nommage u Design du DIT (suite)


Exemple : branchage par localisation (source Perotsystems)

DIT Design: By Location


c=US

o=Acme

l=Headquarters

l=New York

l=Chicago

l=Dallas

l=Los Angeles

cn=Mike Smith

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

85

LDAP : dploiement : concevoir son modle de nommage u Design du DIT (suite)


Exemple : branchage par type dobjet (source Perotsystems)

DIT Design: Perot Systems DIT


c=US

o=Acme

ou=People

ou=Groups

ou=Locations

ou=Apps

ou=Systems

ou=Schema

cn =SmithET cn=Directory User site=TX-SD cn =AikmanTA cn=Mail Admin site=TX-RI cn =SandersDJ cn=Medical Admin site=SW-BK cn = GonzalesJ cn=Medical User site=NY-AA cn =ModanoMW

ou=Web Sites

ou=Medical

ou=Resumes

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

86

LDAP : dploiement : concevoir son modle de nommage u Design du DIT (suite)


Exemple : branchage fort (source Perotsystems)

DIT Design: Deep Tree


c=US o=Acme ou=People

l=North America

cn=Joe Boss

l=Asia

ou=Sales

ou=Engineering cn=Clara Jordan

ou=MFG

ou=Engineering

ou=R&D

l=DFW

l=LA

l=NYC

cn=Mike Smith

cn=Mike Smith

cn=Soopy Sales

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

87

LDAP : dploiement : concevoir son modle de nommage u Design du DIT : branchage fort ou faible ?
Fort : les plus Relte lorganisation interne. Minimise le problme de DNs identiques. Facilite le partitionnement des donnes entre plusieurs serveurs. Fort : les moins Longueur du DN. Problme si lorganisation change. Dure de recherche augmente. Faible : les plus Pas de soucis de classication des entres DN courts stabilit du DIT Meilleurs rapidit de recherche. Faible : les moins Risque de DNs identiques. Mal adapt au listage des entres

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

88

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN
Exemple : utilisation du canonicalname (source Perotsystems)

DIT Design: Selecting a Distinguished Name


c=US

o=Perot Systems

- DN Changes if a female marries - DN Changes if I change my nickname - Name may not be unique.

ou=People

cn = Mike Smith

cn=Mike Smith,ou=People, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

89

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation dun pseudo cn (source Perotsystems)

DIT Design: Selecting a Distinguished Name


c=US

o=Perot Systems

+ DN Guaranteed to be unique + DN Never Changes + More robust searching using name components - Browser shows useless information - Microsoft and Netscape mail clients expected a real name in the commonName(cn) field.

ou=People

cn = 0175387 givenName = Michael nickname = Mike surname = Smith

cn=0175387, ou=People, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

90

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation de luid (source Perotsystems)

DIT Design: Selecting a Distinguished Name


c=US

o=Perot Systems

+ DN Guaranteed to be unique + DN Never Changes + More robust searching using name components + commonName(cn) field contains a real name to work well with other LDAP applications. - Browser shows useless information

ou=People

uid = 0175387 cn = Mike Smith givenName = Michael nickname = Mike surname = Smith uid=0175387, ou=People, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

91

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation du login (source Perotsystems)

DIT Design: Selecting a Distinguished Name


c=US

o=Perot Systems

+ DN Guaranteed to be unique + More robust searching using name components + commonName(cn) field contains a real name + Browser shows more useful information (although not as ideal as a full name) + Directly maps to a users logon ID (can be used for single signon) - DN has the potential to change if the name or UID changes - Entrust product requires thecommonName(cn) to be part of the DN.

ou=People

uid = smithMJ cn = Mike Smith givenName = Michael nickname = Mike surname = Smith

uid=smithMJ , ou=People, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

92

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation du cn et de uid (source Perotsystems)

DIT Design: Selecting a Distinguished Name


c=US

o=Perot Systems

ou=People

+ DN Guaranteed to be unique + More robust searching using name components + Directly maps to a users logon ID (can be used for single signon) + commonName(cn) field contains a real name + commonName(cn) is part of the DN - DN has the potential to change - Very hokey way of achieving uniqueness

cn = Mike Smith + uid = smithMJ givenName = Michael - Complicated DN syntax nickname = Mike - More complicated Directory surname = Smith

Logon procedures - This syntax may not be accepted as standard in . the future

cn=Mike Smith +uid=smithMJ , ou=People, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

93

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation du login dans le cn (source Perotsystems)

DIT Design: Selecting a Distinguished Name


c=US

o=Perot Systems

ou=People

+ DN Guaranteed to be unique + More robust searching using name components + Directly maps to a users logon ID (can be used for single signon) + commonName(cn) field contains a real name + commonName(cn) is part of the DN - DN has the potential to change - Data is duplicated in several areas (uid and cn) - Value displayed for commonNamemay vary.

cn = smithMJ cn = Mike Smith givenName = Michael nickname = Mike surname = Smith uid = smithMJ

cn=smithMJ , ou=People, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

94

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation dun alias (source Perotsystems)

DIT Design: Selecting a Distinguished Name


+ DN Guaranteed to be unique + More robust searching using name components + Directly maps to a users logon o=Perot Systems ID (can be used for single signon) ou=People ou=Certificates + commonName(cn) field contains a real name + commonName(cn) is part of the DN cn = smithMJ uid = smithMJ - DN has the potential to change ALIAS POINTER cn = Mike Smith - Problems with X.500 aliases: givenName = Michael - no built-in referential integrity nickname = Mike - will LDAPv3 support them? surname = Smith
c=US

cn=smithMJ , ou=People, o=Perot Systems, c=US uid=smithMJ , ou=Certificates, o=Perot Systems, c=US

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

95

LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (conclusion)
Exemple : recommendations de lIETF (source Perotsystems)

DIT Design: An IETF DIT Naming Proposal


http://www. imc.org/draftietf-ids-dirnaming

dc=com

dc=acme

dc=Corporate dc=DalSite

uid = mike.smith@acme.com cn = Mike Smith givenName = Michael surname = Smith

The dc named attribute stands for domain component The idea is to map the upper levels of the tree with registered DNS Names (in this case acme.com) Lower levels of the tree will also use the dc named attribute Each user is identified with the uid named attribute containing the email address.

uid = jane.doe@acme.com cn = Jane Doe givenName = Jane surname = Doe

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

96

LDAP : dploiement : concevoir son modle de nommage u Choix du sufxe


Le sufxe = identiant de lannuaire. Mme si la base na quune vocation interne , elle peut terme sexternaliser. Choisir, si possible, un sufxe unique au monde. Dans X.500 le top level est le pays, vient ensuite le nom de lorganisation, et ventuellement la localisation. Ce qui donne par exemple comme sufxe : o=INRIA, c=FR Aucun organisme de contrle dattribution des sufxes : Pas de garantie de lunicit de celui-ci. Entre temps, lInternet sest dvelopp : NIC gre lattribution des noms de domaines DNS. Le choix du nom de domaine DNS comme sufxe de son annuaire est recommand par lIETF IDS group.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

97

LDAP : dploiement : concevoir son modle de nommage u Choix du sufxe (suite)


Il pourra sexprimer sous deux formes : utilisation de lattribut organization (o) :
o=inria.fr

utilisation de lattribut Domain Component (dc) dni par le RFC 2377 :


dc=inria, dc=fr

Cette dernire forme est prconise par lIETF. Couple avec le Service Record du DNS (SRV), permet de dterminer automatiquement le serveur LDAP contacter, partir du DN utilis dans une requte.
le DN uid=mirtain,ou=people,dc=inria,dc=fr renvoie sur le domaine DNS inria.fr. Requte sur lentre SRV du DNS de _ldap._tcp.inria.fr. IN SRV Dduction : serveur :

inria.fr
0 0 389 ldap.inria.fr - port :

ldap.inria.fr

389

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

98

LDAP : dploiement : concevoir son modle de nommage u Choix du sufxe (conclusion)


Pas de standard de design et pas de solution universelle : faire des compromis visant prendre la moins mauvaise solution, en essayant de dnir les facteurs les plus contraignants. Prendre en compte son organisation : sa structure, sa taille, son volution Prendre en compte lusage de lannuaire : type de donnes leur mode de gestion type dapplications accdant aux donnes

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

99

LDAP : dploiement : dnir la topologie du service u Analyser la manire dont le service dannuaire LDAP va tre rendu en termes
de performance, de abilit et de facilit de gestion. Prendre en compte : Les applications qui vont utiliser lannuaire et leur nombre dutilisateurs. Les capacits du logiciel serveur qui va tre choisi. La topologie de son rseau. Le design de son espace de nommage. Dterminer : si la base sera centralise ou rpartie sur plusieurs serveurs. le nombre de serveurs redondants dployer et leur emplacement sur le rseau physique.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

100

LDAP : dploiement : dnir la topologie du service u Le partitionnement


Consiste clater les donnes de lannuaire sur plusieurs serveurs.
serveur A

serveur A serveur B serveur C

serveur B

serveur C

Il peut tre impos par : le volume dentres grer, leur gestion rpartie sur plusieurs sites, les types daccs au rseau physique, le mode dorganisation de la socit. Sparer les donnes ne veut pas dire forcment les dissocier : les standards LDAP et X.500 dnissent des moyens de les relier (re-coller). Ces moyens sont les services referral service et replication service.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 101

LDAP : dploiement : dnir la topologie du service u Le referral service


La rsolution de nom est le mcanisme par lequel un serveur dtermine quel objet de sa base dsigne le DN quun client lui fournit.

Si le DN est bien dans son contexte de nommage, il excute la requte du


client (search, modify, bind...),

sinon il renvoie un signal object not found.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

102

LDAP : dploiement : dnir la topologie du service u Le referral service (suite)


Les mthodes permettant de crer des liens virtuels entre des partitions dannuaires sont appeles les knowledge references.
dc=inria,dc=fr

ou=nancy ou=rennes ou=sophia subordinate reference immediate superior knowledge reference ou=sophia contexte de nommage

ou=people ou=groups ou=printers

Les knowledge references permettent un serveur de faire suivre les requtes des utilisateurs lorsque lobjet recherch nappartient pas larbre quil gre.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

103

LDAP : dploiement : dnir la topologie du service u Le referral service (suite)


Les serveurs LDAP utilisent deux mthodes pour faire suivre les requtes le long de ces liens :

Le Referral est une information que retourne au client le serveur LDAP, lorsque lentre recherche nappartient pas son arborescence, lui indiquant vers quel serveur il doit re-formuler sa requte (via un URL LDAP). Le mcanisme de referral est standardis dans le protocole LDAPv3.

Le chanage (chaining) est un mcanisme o cest le serveur qui se charge de


contacter un autre serveur pour le compte du client et lui retourne la rponse. Le chanage nest pas un standard du protocole LDAP, il est plutt utilis dans les logiciels X.500. Le choix entre lune ou lautre mthode dpend essentiellement des fonctionnalits du serveur choisi.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

104

LDAP : dploiement : dnir la topologie du service u Le referral service (suite)


les serveurs ne les positionnent pas tous les referral au mme endroit. Netscape Directory utilise deux types de referral : le default referral le smart referral. Le default referral est indiqu au niveau de la racine du serveur et agit comme une redirection par dfaut pour toute requte hors espace de nommage. Le smart referral est plac dans une entre quelconque et agit comme un lien symbolique vers une autre entre dun autre serveur. Les deux utilisent les URLs LDAP pour re-diriger la requte.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

105

LDAP : dploiement : dnir la topologie du service u Le referral service (suite)


Le default referral est positionn dans le chier slapd.conf de Netscape Directory ou OpenLDAP sous la forme dune ligne :
referral ldap://ldap.airius.com:389/o=airius.com

Les smart referrals sont stocks dans lattribut ref de lobjet auquel on a rajout la classe dobjet referral. Exemple en LDIF :
dn: ou=sophia, dc=inria, dc=fr objectclass: top objectclass: organization objectclass: referral ou: Sophia description: UR Sophia l: Sophia Antipolis ref: ldap://sophia-ldap.inria.fr:389/ou=sophia

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

106

LDAP : dploiement : dnir la topologie du service u Le replication service


La duplication consiste recopier le contenu de tout ou partie de son arbre sur un autre serveur (voir LDAP-Concepts) Son but : rapprocher le service du rseau physique des clients (performances), rpartir la charge sur plusieurs serveurs (load balancing), assurer une redondance en cas de panne (disponibilit), grer localement des entres et les diffuser dans lorganisation (partitionnement). Le replication service est LE moyen dassurer un service dannuaire able, hautement disponible, et performant.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

107

LDAP : dploiement : mettre en service la duplication u Les diffrents modes de duplication.


Duplication de larbre entier sur 1 ou plusieurs consumers (source Netscape)

Le supplier (read-write) duplique sur un ou plusieurs consumers (read-only).


26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 108

LDAP : dploiement : mettre en service la duplication


Duplication de larbre entier en cascade (source Netscape)

Le supplier duplique sur un consumer qui lui-mme duplique sur un autre. Cas o les liaisons rseau entre sites sont de qualit variable.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

109

LDAP : dploiement : mettre en service la duplication


Duplication dune partie de larbre (source Netscape)

Le supplier coup de lextrieur ne duplique quune branche publique de larbre sur un consumer accessible depuis linternet.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

110

LDAP : dploiement : mettre en service la duplication


Duplications croises 1 (source Netscape)

La socit Airius a deux agences NY et LA qui grent chacune leur branche du serveur dannuaire. Duplication est mise en uvre pour ramener les branches distantes localement (performance) et assurer une redondance de tout larbre en local (disponibilit).

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

111

LDAP : dploiement : mettre en service la duplication


Duplications croises 2 (source Netscape)

Les branches sont dupliques rciproquement sur chaque site. De plus, larbre entier est dupliqu en local.
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 112

LDAP : dploiement : mettre en service la duplication u Rpartir la charge en utilisant le DNS round robin
Ce mcanisme du DNS permet de congurer plusieurs adresses IP pour un mme hostname. Le service DNS fait une rotation de lordre des numros IP, lorsquil retourne le rsultat dune requte sur le nom du serveur LDAP.

u Choisir la stratgie de duplication


Consiste dnir le ux de mise jour des donnes entre les serveurs de duplication. Plusieurs mthodes existent : Single-master replication Floating-master replication Multi-master replication

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

113

LDAP : dploiement : mettre en service la duplication u Single-master replication


un serveur en lecture-criture (master) et tous les serveurs replicas sont read-only. Les modications des clients sont re-dirigs par des knowledge references sur le master. Cette solution prsente une faiblesse si le master est en panne.
master server (read-write) replica server (read-only) replica server (read-only)

updates

modications

search

Client LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

114

LDAP : dploiement : mettre en service la duplication u Floating-master replication


Nouveau master en secours en cas de panne du master. Mcanisme de synchronisation lorsque le serveur repart. Utilis par Windows NT 4.0 pour ses contrleurs de domaines (PDC, SDC). Il nest pas encore adopt par les logiciels serveurs LDAP.
master server (read-write) replica server (read-only) New master server (read-write)

updates

search modications Client LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

115

LDAP : dploiement : mettre en service la duplication u Multi-master replication


Plusieurs serveurs read-write sur lesquels les clients peuvent faire les modications. Des mcanismes de synchronisation se chargent de grer les conits (rgle du dernier arriv lemporte en utilisant lattribut timestamp des entres). Ces 2 derniers modes de replication sont en cours dtude lIETF pour intgrer au standard LDAP.
master server (read-write) master server (read-write)

synchro.

modications

modications

Client LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

116

LDAP : dploiement : mettre en service la duplication u Duplication totale/incrmentale


La synchronisation peut tre totale ou incrmentale. Dans ce cas, le processus de synchronisation utilise un historique des mises jours.

u Duplication heures xes


Certains logiciels permettent de diffrer les mises jours certains horaires. Utile dans le cas de liaisons rseau non permanentes ou charges par priodes.

u Duplication base sur les attributs


X.500 prvoit la possibilit de ltrer les donnes dupliques par une slection dattributs. slection dobjets via ltre sur lattribut objectclass, slection de certains attributs (uid, password...) pour ltrer les donnes condentielles, par ex.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

117

LDAP : dploiement : mettre en service la duplication u Schma et duplication


A partir du moment o ils partagent les mmes donnes, il est impratif que supplier servers et consumer servers utilisent le mme schma.

u Contrle daccs et duplication


Le contrle daccs se fait via des ACLs. Il est ncessaire de dupliquer ces ACLs pour que les mmes protections sappliquent sur les donnes dupliques et originales... ...Consumers et suppliers doivent interprter de la mme manire ces ACLs (pas normalises...) : donc utiliser le mme logiciel... Pratiquement tous les logiciels stockent les ACLs en tant quattribut dentres de lannuaire. Parfois ces ACLs sappliquent aux entres infrieures (scope)... ...Vrier que ces ACLs sont bien dans la partie dupliques du DIT ou comment cest pris en compte par le logiciel.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

118

LDAP : dploiement : mettre en service la duplication u Mthodologie de mise en uvre Connatre la topologie du rseau physique. Connatre lemplacement des applications clientes et la charge gnre. Choisir la mthode de duplication en fonction des capacits du logiciel synchronisation totale ou incrmentale single/multi-master replication scheduling replication ou pas outils daudit de la duplication Positionner au mieux sur le rseau les serveurs LDAP replicas en fonction des
caractristiques du logiciel, du rseau et de lemplacement des clients. Attention : le sufx doit toujours tre le mme entre les serveurs replicas.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

119

LDAP : dploiement : mettre en uvre le partitionnement


Rappel : le partitionnement est une solution pour les trop gros volumes dentres (> 10000), ou des organisations clates en units autonomes. Les mcanismes de referral peuvent tre une alternative la duplication. Quelques prcautions : limiter les referrals des sufxes ou des branches principales de larbre (ne pas sen servir comme alias pour des entres), maintenir la cohrence des liens... et vrier la disponibilit du serveur distant, attention au contrle daccs et lauthentication : les authentications et les rgles daccs du serveur initial ne sappliquent plus aux donnes du serveur point, attention au temps de rponse : traverse de rseaux WAN, problme de scurit : les donnes transitent sur les rseaux WAN...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

120

LDAP : dploiement : mettre en uvre le partitionnement


Cas dune organisation large : multi-site, multi-sufxe, multi-serveur (source Netscape)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

121

LDAP : dploiement : mettre en uvre le partitionnement


Cas dun changement de sufx : un serveur, plusieurs sufxes (source Netscape)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

122

LDAP : dploiement : scuriser le service


Les aspects scurit et condentialit doivent tre pris en compte ds la phase de conception. Quels sont les aspects tudier ? Les accs non autoriss. Les attaques de type denial-of-service. Les droits daccs aux donnes. Le gros du travail est de dterminer les rgles daccs aux donnes. Le serveur peut tre de type read-only ou read-write. Dans les deux cas il faut dterminer pour chaque attribut :

Quel est son niveau de condentialit (un numro de scurit sociale est une
donne plus sensible quune adresse mail) ?

Quel utilisateur ou quelle application pourra y accder en lecture (tout le


monde, certains utilisateurs, uniquement les administrateurs...) ou en criture (utilisateur, manager, administrateur) ?

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

123

LDAP : dploiement : scuriser le service


Les mcanismes qui peuvent tre mis en uvre sont ceux que lon retrouve dans nombre de services/serveur de lInternet : Lauthentication Les signatures lectroniques Le chiffrement Le ltrage rseau Les rgles daccs (ACLs LDAP) aux donnes Laudit des journaux

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

124

LDAP : dploiement : scuriser le service u Mettre en place des rgles de contrle daccs Etape 1 : analyser pour chaque attribut son mode daccs :
Attribut Personne Droit daccs

cn,sn,givenname administrateur uid telephoneNumber


utilisateurs authentis administrateur tous propritaire administrateur tous manager administrateur

tous

lecture lecture/modication lecture lecture/modication lecture lecture/modication lecture/modication lecture lecture/modication lecture/modication

employeeNumber

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

125

LDAP : dploiement : scuriser le service u Mettre en place des rgles de contrle daccs Etape 2 : traduire ces rgles en aci (LDIF)
Exemple pour attribut telephoneNumber
rgle pour tous aci: (target="ldap:///ou=people,dc=inria,dc=fr) (targetattr="telephonenumber") (version 3.0;acl "anonymous read-search access"; allow (read,search,compare) (userdnattr="manager");) rgle pour administrateur aci: (target="ldap:///dc=inria,dc=fr) (targetattr="*") (version 3.0;acl "Admin write access"; allow (write) (userdn="ldap:///cn=Directory Manager");) rgle pour propritaire aci: (target="ldap:///ou=people,dc=inria,dc=fr) (targetattr="telephonenumber||roomnumber||userpassword") (version 3.0;acl "self write access"; allow (write) (userdn="ldap:///self");)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

126

LDAP : dploiement : scuriser le service u Mettre en place des rgles de contrle daccs Etape 2 : traduire ces rgles en aci (suite)
Exemple pour attribut employeeNumber
rgle pour manager aci: (target="ldap:///ou=people,dc=inria,dc=fr) (targetattr="employeenumber") (version 3.0;acl "manager write access"; allow (read,write) (userdnattr="manager");) avec lattribut

manager

indiquant le DN du manager de lentre

dn: cn=Laetitia Casta,ou=people,dc=inria,dc=fr objectclass: top objectclass: person cn: cn=Laetitia Casta manager: cn=Laurent Mirtain, ou=people,dc=inria,dc=fr ...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

127

LDAP : dploiement : scuriser le service u Mettre en place des rgles de contrle daccs Etape 2 : traduire ces rgles en aci (suite)
Exemple dutilisation dun filtre (targetfilter) permettant aux membres du groupe Servadm Manager de modifier une partie des attributs des personnes membres du service administratif. rgle pour membre du groupe Servadm Manager aci: (target="ldap:///dc=inria,dc=fr) (targetattr != "uid||mail") (targetfilter="(&(ou=servadm)(objectclass=person))") (version 3.0;acl "Servadm group permissions"; allow (write) (groupdn="ldap:///cn=servadm manager,ou=groups,dc=inria,dc=fr");)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

128

LDAP : dploiement : scuriser le service u Mettre en place des rgles de contrle daccs
Le placement des ACLs inue sur leur porte.
ACLs sappliquant tout larbre dc=inria,dc=fr

ou=people

ou=groups ACLs sappliquant au sous-arbre groups

uid=mirtain ACLs sappliquant lentre mirtain

cn=semir

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

129

LDAP : dploiement : gestion des donnes u Etablir une mthode de gestion des donnes, selon la nature des attributs, pour
dterminer qui administre quels attributs et dans quelle partie du DIT. On distingues plusieurs catgories de gestion :

attributs maintenus par ladministrateur de lannuaire (contrle daccs...) attributs maintenus par les fournisseurs de donnes (service du personnel...) attributs maintenus par lutilisateur nal (photo, tlphone...) attributs maintenus par les applications (prfrences...) attributs maintenus par le service dannuaire lui-mme

Pour chacune, il faut dnir la mthode et la frquence de mise jour, valuer la qualit des donnes et valuer lincidence sur les performances du serveur.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

130

LDAP : dploiement : gestion des donnes


A terme, les attributs maintenus par les applications deviendront majoritaires. Ces applications doivent respecter certaines rgles pour optimiser les performances du serveur :

minimiser les connexions en groupant les oprations optimiser le nombre dopration : rechercher plusieurs attributs dun coup,
ne rcuprer que les attributs ncessaires, faire des recherches efcaces

minimiser les mises jours

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

131

LDAP : dploiement : gestion des donnes


Les attributs maintenus de manire centralises font lobjet des choix suivants :

mise jour par commande ou par import de chier protger les transactions de mises jours de donnes sensibles qui fait les mises jour (personnes, scripts...) quelle frquence vrier les donnes en amont

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

132

LDAP : dploiement : gestion des donnes


Les attributs maintenus par lutilisateur prsentent les caractristiques suivantes :

source dinformation, do des donnes plus jour (bureau, tlphone...) implication des utilisateurs risque de saisies errones ou invalides disposer dune interface spcique de mise jour attention la frquence globale de mise jour et son impact sur les performances

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

133

LDAP : logiciels serveurs u Concepts u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

134

LDAP : logiciels serveurs


A cette date, les logiciels les plus connus sont : OpenLDAP server, Innosofts Distributed Directory Server, Netscape Directory Server, Sun Microsystemss Directory Services, IBMs DSSeries LDAP Directory, University of Michigans SLAPD. Dautres annuaires supportent les requtes au format LDAP : Novells NetWare Directory Services (NDS) 3.0, Microsofts Active Directory (AD), Lotus Domino.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

135

LDAP : logiciels serveurs u Choisir un logiciel serveur : quelques critres de choix le prix dachat les cot de maintenance et de support ladquation du logiciel avec le type dapplications envisages : dtermine
limportance accorder aux critres dvaluations (performances, nombre dentres supports, niveau de scurisation...)

la facilit de prise en main ladquation entre son choix de design et les fonctionnalits du logiciel
(schma, replication, referral...)

la compatibilit avec le logiciel antrieur (rutilisabilit)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

136

LDAP : logiciels serveurs u Choisir un logiciel serveur : quelques critres dvaluation les fonctionnalits de base
les plates-formes hardware/software supportes le schma et ses extensions les oprations LDAP standards et tendues les possibilits de duplication le support de la distribution (referral, chaining) outils dimport-export, de backup

les outils de gestion


procdure dinstallation outils de conguration et dadministration (interface web, commandes en ligne pour automatisation...) interfaces de gestion de la base (clients natifs, web, commandes en ligne...) possibilit dadministrer distance

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

137

LDAP : logiciels serveurs u Choisir un logiciel serveur : quelques critres dvaluation (suite) Les outils de dveloppement
API SDK logiciels clients

la abilit
sauvegardes et modications de conguration chaud mcanismes de replication multi-master outils de monitoring qualit de la base de donnes utilise en cas de darrt intempestif

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

138

LDAP : logiciels serveurs u Choisir un logiciel serveur : quelques critres dvaluation (suite) performance et volutivit
temps de latence nombre doprations par seconde nombre de connexions simultanes nombre dentres, dattributs et taille supports nombre de replicas et de partitions supports benchmark DirectoryMark (http://www.mindcraft.com/benchmarks/dirmark)

scurit
mthodes de contrle daccs gestion des droits daccs mthodes dauthentication chiffrement des transactions, de la duplication

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

139

LDAP : logiciels serveurs u Choisir un logiciel serveur : quelques critres dvaluation (suite) conformit aux standards
LDAPv2 core : RFC1777-1779 LDAPv3 core : RFC2251-2256 LDAPv3 extension LDIF API SSL/TLS, certicats X509 schmas standards standards X.500

interoprabilit
Le respect des standards est une premire garantie dinteroprabilit

Y2K compliant...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

140

LDAP : logiciels serveurs u Choisir un logiciel serveur : valuation comparer les fonctionnalits tester les softs sur une base pilote faire quelques benchmarks

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

141

LDAP : logiciels clients u Concepts u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

142

LDAP : clients LDAP u Accs natif :


Netscape Communicator Microsoft Outlook, NetMeeting Netscape SuiteSpot (les serveurs mail, news, web...) Oblix (gestionnaire dannuaire) Navigateur Web : URLs LDAP U-Mich xaX.500 GQ (GTK-based LDAP client) LDAP Browser/Editor (Java-based LDAP client) Applications dveloppes avec un SDK LDAP

u Accs via passerelle :


LDAP vers X.500 et X.500 vers LDAP HTTP vers LDAP (web500gw) WHOIS++ vers LDAP FINGER vers LDAP PH/CSO vers LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

143

LDAP : clients LDAP u Appels systmes LDAP


Microsoft Windows NT NT 5 utilise une base LDAP la place des bases SAM PADL software : ypldapd : a gateway between NIS/YP and LDAP NSS LDAP : Nameservice switch library module PAM LDAP : Pluggable authentication module Sun Solaris NSS : Nameservice switch library module Linux Linux Directory Services : projet de remplacement de NIS par LDAP

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

144

LDAP : les outils de dveloppement u Concepts u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement Netscape C SDK Netscape PerLDAP SDK Netscape JAVA SDK SUN JNDI ADSI SDK Netscape Directory Server Plug-Ins Les autres... u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

145

LDAP : les outils de dveloppement : Netscape C SDK


Connexion/Dconnexion
#include <stdio.h> #include "ldap.h" #define HOST "ldap.inria.fr" #define PORT "389" LDAP *ld; int rc; /* LDAP Data Structure */

if ( (ld = ldap_init("ldap.inria.fr",389)) == NULL) { rc = ldap_get_lderrno(ld,NULL,NULL); fprintf(stderr, "erreur %s\n",ldap_err2string(rc); return(rc); } [...] if ( ldap_unbind(ld) != LDAP_SUCCESS) { rc = ldap_get_lderrno(ld,NULL,NULL); fprintf(stderr, "erreur %s\n",ldap_err2string(rc); return(rc); }

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

146

LDAP : les outils de dveloppement : Netscape C SDK


Bind/Unbind
[...] #define DN NULL/* anonymous dn */ #define PW NULL/* anonymous dn */ [...connexion...] if ( (rc = ldap_simple_bind_s(ld,DN,PW)) != LDAP_SUCCESS ) { fprintf(stderr, "erreur %s\n",ldap_err2string(rc); } else { printf("authentification russie\n"); } [...] ldap_unbind(ld) ;

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

147

LDAP : les outils de dveloppement : Netscape C SDK


Search
[...] #define SEARCHBASE "ou=people,dc=inria,dc=fr" #define SCOPE LDAP_SCOPE_SUBTREE #define FILTER "(uid=mirtain)" LDAPMessage *result, *e; BerElement *ber; char *attribute, **vals; [...connexion...] /* recherche */ rc = ldap_search_ext_s(ld, SEARCHBASE, SCOPE, FILTER, NULL, 0, NULL, NULL, LDAP_NO_LIMIT, 0, &result); /* affichage */ for (e = ldap_first_entry(ld, result); e != NULL; e = ldap_next_entry(ld,e)) { printf("dn: %s\n", ldap_get_dn(ld, e)); for (attribute = ldap_first_attribute(ld, e, &ber); attribute != NULL ; attribute = ldap_next_attribute(ld, e, ber)) { if ( (vals = ldap_get_values(ld, e, attribute) != NULL ) { for (i = 0; vals[i] != NULL; i++) { printf("%s: %s\n",attribute, vals[i]); } } } }
26-11-99 JRES 99 - LDAP - L. Mirtain - LORIA-INRIA 148

LDAP : les outils de dveloppement : Netscape C SDK


Add entry
[...] #define DN "cn=laetitia casta,ou=people,dc=inria,dc=fr" LDAPMod attribut1, attribut2, attribut3, mods[]; char objectclass_values[] = {"top", "person", "organizationalperson", NULL}; char cn_values[] = {"Laetitia Casta", NULL}; char ou_values[] = {"people", "semir", NULL}; [...connexion...] /* cration de lentre */ attribut1.mod_op = LDAP_MOD_ADD; attribut1.mode_type = "cn"; attribut1.mode_value = cn_values; attribut2.mod_op = LDAP_MOD_ADD; attribut2.mode_type = "ou"; attribut2.mode_value = ou_values; ... mods[0] = &attribute1 ; mods[1] = &attribute2 ; /* ajout de lentre */ rc = ldap_add_ext_s(ld, DN, mods, NULL, NULL); [...deconnexion...]

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

149

LDAP : les outils de dveloppement : Netscape C SDK


Delete entry
[...] #define DN "cn=laetitia casta,ou=people,dc=inria,dc=fr" [...connexion...] [...authentification...] /* destruction de lentre */ rc = ldap_delete_ext_s(ld, DN, NULL, NULL); [...deconnexion...]

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

150

LDAP : les outils de dveloppement : Netscape PerLDAP SDK


Connexion/Dconnexion/Bind
use Mozilla::LDAP::Conn; use Mozilla::LDAP::Utils; my $ldap = "ldap.inria.fr"; my $port = "389"; my $base = "dc=inria,dc=fr"; # cas 1 : authentification anonyme my $bind = "NULL"; my $passwd = "NULL"; # cas 2 : authentification utilisateur my $bind = "uid=mirtain,ou=people,dc=inria,dc=fr"; my $passwd = "toto"; # cas 3 : authentification administrateur my $bind = "cn=Directroy Manager"; my $passwd = "le_chef"; # connexion et authentification my $conn = new Mozilla::LDAP::Conn("$ldap","$port","$bind","$passwd","$cert"); die "Couldt connect to LDAP server $ld{host}" unless $conn; [...] # dconnexion $conn->close if $conn;

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

151

LDAP : les outils de dveloppement : Netscape PerLDAP SDK


Search
use Mozilla::LDAP::Conn; use Mozilla::LDAP::Entry; my $base = "ou=people,dc=inria,dc=fr"; my $scope = "subtree"; my $filter = "(&(objectclass=person)(ou=semir))" ; [...connexion...] # search my $entry = $conn->search($base, $scope, $filter); $conn->printError() if $conn->getErrorCode(); # affichage du rsultat if (! $entry ) { print "Recherche infructueuse.\n"; } else { while ($entry) { $entry->printLDIF(); $entry = $conn->nextEntry; } }

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

152

LDAP : les outils de dveloppement : Netscape PerLDAP SDK


Add entry
[...] # DN de lentre my $dn = "cn=laetitia casta,ou=people,dc=inria,dc=fr"; [...connexion...] # construction de lentre my $newentry = new Mozilla::LDAP::Entry(); $newentry->setDN($dn); $newentry->{objectclass} = [ "top", "person", "organizationalPerson" ]; $newentry->{manager} = [ "uid=mirtain,ou=people,dc=inria,dc=fr" ]; $newentry->{cn} = [ "Laetitia Casta" ]; $newentry->{description} = [ "indescriptible !" ]; $newentry->{ou} = [ "people", "semir"]; $newentry->addValue("o", "INRIA Sophia Antipolis"); $newentry->addValue("seeAlso", "http://www.inria.fr/~laetitia"); # ajout de lentre $conn->add($newentry); if ($conn->getErrorCode()) { print $conn->printError(); }

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

153

LDAP : les outils de dveloppement : Netscape PerLDAP SDK


Delete entry
use Mozilla::LDAP::Conn; use Mozilla::LDAP::Utils; use Mozilla::LDAP::Entry; # DN de lentre my $dn = "cn=laetitia casta,ou=people,dc=inria,dc=fr"; [...connexion...] # destruction de lentre $conn->delete($dn); if ($conn->getErrorCode()) { print $conn->printError(); } else { print "Utilisateur supprim.\n"; }

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

154

LDAP : les outils de dveloppement : Netscape Java SDK


Connexion/Dconnexion/Bind
import netscape.ldap.*; import java.io.*; import java.util.*; [...] LDAPConnection ldap = new LDAPConnection(); /* connexion */ ldap.connect("ldap.inria.fr",389); /* authentification anonyme */ ldap.authenticate("",""); /* authentification utilisateur */ ldap.authenticate("uid=mirtain,ou=people,dc=inria,dc=fr","toto"); /* connexion et authentification en un coup */ ldap.connect("ldap.inria.fr",389,"uid=mirtain,ou=people,dc=inria,dc=fr","toto"); /* dconnexion */ ldap.disconnect();

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

155

LDAP : les outils de dveloppement : Netscape Java SDK


Search
[...connexion...] String base = "dc=inria,dc=fr"; int scope = LDAPConnection.SCOPE_SUB; String filter = "(objectclass=person)"; [...] /* search */ LDAPSearchResults res = ldap.seach(base,scope,filter,null,false); /* affichage */ while (res.hasMoreElements()) { LDAPEntry findEntry = (LDAPEntry) res.next(); System.out.println("dn: " + findEntry.getDN()); LDAPAttributeSet attributeSet = findEntry.getAttributeSet(); for (int i=0;i<attributeSet.size();i++) { LDAPAttribute attribute = (LDAPAttribute)attributSet.elementAt(i); String attrName = attribute.getName(); System.out,println(attrName + " :"); Enumeration enumVals = attribute.getStringValues(); while (enumVals.hasMoreElements()) { String nextValue = (String)enumVals.nextElement(); System.out,println(nextValue); } } }

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

156

LDAP : les outils de dveloppement : Netscape Java SDK


Add entry
[...connexion...] String dn = "cn=laetitia casta,ou=people,dc=inria,dc=fr"; String objectclass_values[] = {"top", "person", "organizationalperson"}; String cn_values[] = {"Laetitia Casta"}; String ou_values[] = {"people", "semir"}; [...] LDAPAttributeSet attrib_set = new LDAPAttributeSet(); LDAPAttribute attribute = null; attribute = new LDAPAttribute("objectclass", objectclass_values); attrib_set.add(attribute);attribute = new LDAPAttribute("cn", cn_values); attrib_set.add(attribute);attribute = new LDAPAttribute("ou", ou_values); attrib_set.add(attribute); /* cration de lobjet */ LDAPEntry entry = new LDAPEntry(dn,attrib_set); /* ajout de lentre */ ld.add(entry); [...]

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

157

LDAP : les outils de dveloppement : Netscape Java SDK


Delete entry
[...connexion...] String dn = "cn=laetitia casta,ou=people,dc=inria,dc=fr"; [...] /* destruction de lentre */ ldap.delete(dn); [...]

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

158

LDAP : les outils de dveloppement : les autres


U-M LDAP SDK -- C (UMICH, OpenLDAP) le premier SDK Innosoft LDAP Client SDK (ILC-SDK) -- C (InnoSoft) proche du prcdent LDAP Command Line Tools -- packages LDAP (U-M, OpenLDAP, Netscape) ldapsearch
ldapsearch -h ldap.inria.fr -b "dc=inria,dc=fr" -s sub "&((objectclass=person)(ou=semir))" cn,uid,mail,telephonenumber

ldapmodify
ldapmodify -h ldap.inria.fr -b "dc=inria,dc=fr" -D "cn=Directory Manager" -w "toto" dn: uid=mirtain, ou=people, dc=inria, dc=fr changetype: modify replace: roomnumber roomnumber: C105 add: description description: newsmaster delete: title \n\n

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

159

LDAP : les outils de dveloppement : les autres


Java naming and Directory Interface (JNDI) -- Java (SUN) conu comme interface diffrents protocoles de type annuaire (LDAP, Sun NIS/NIS+, Novell NDS...). Active Directory Service Interfaces - COM (Microsoft) concept similaire JNDI. Net- LDAPapi -- PERL (GNU) comme PerLDAP mais entirement en Perl. LDAP API to Python -- Python (University of Queensland) langage orient dveloppement dinterface graphique. LDAP API to PHP (http://www.php.net) langage de script orient Web - server-side dynamic HTML. DSML -- Directory Service Markup Language (http://www.dsml.org/) standard pour reprsenter des informations issues de service dannuaire en XML.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

160

LDAP : les outils de dveloppement : les autres


PS Enlist - ODBC interface to LDAP (http://www.pspl.co.in/PSEnList) accs LDAP via ODBC (i.e. accder LDAP depuis MS Ofce !). Server-Side Javascript LDAP SDK -- JavaScript (Netscape) module orient Web - dynamic HTML pour les serveurs Web Netscape SuiteSpot. ColdFusion (Allaire) Langage/outil de dveloppement orient Web - database, sinterfaant avec LDAP.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

161

LDAP : les applications de LDAP u Concepts u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

162

LDAP : les applications de LDAP u Les diffrents domaines dapplication possibles des annuaires LDAP : Les applications systme Les applications Intranet/Extranet Les applications Internet Les bases de donnes

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

163

LDAP : les applications de LDAP : applications systmes u Les applications systmes


Lannuaire utilis pour servir aux besoins des services rseaux tels que lauthentication, le contrle daccs, la localisation des imprimantes ou des serveurs de chier. Dans ce cas, il est troitement li au systme dexploitation. De plus en plus de fabricants se tournent vers le standard LDAP pour limplanter dans leur systme. Exemple : Windows 2000, Novell, Solaris, Linux...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

164

LDAP : les applications de LDAP : applications intranet u Les applications Intranet


Le service dannuaire sert typiquement aux applications utiles lutilisateur nal : accs des pages Web, annuaire tlphonique ou pour la messagerie lectronique, prols de conguration... (Netscape suitespot, Lotus Domino...)

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

165

LDAP : les applications de LDAP : applications extranet u Les applications Extranet


Lannuaire peut servir de base dinformation entre un fournisseur et ses sous-traitant, une banque et ses clients... Ce sont celles mises en uvre par les ISPs ou les grandes entits industrielles ou universitaires. Lannuaire sert grer les abonnes, les hbergements de services comme le Web et la messagerie.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

166

LDAP : les applications de LDAP : bases de donnes u Les bases de donnes


Lannuaire peut remplacer un SGBD traditionnel dans le cas de donnes simples, intensivement interroges, distribues large chelle et utilises par des multiples applications (chier clientle, catalogues de fournitures...). Il peut pauler un SGBD, en tant synchronis avec lui, pour faciliter la consultation des donnes ou la mise jour de certains champs. Parfois, lorganisation possde plusieurs bases de donnes dconnectes et grant des informations redondantes : la paye le bureau du personnel les comptes informatiques les badges daccs les cartes de restaurants... Un annuaire LDAP peut fdrer les donnes communes (informations sur les employs), les donnes sensibles tant gres dans les SGBD => Meta-Directory.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

167

LDAP : les applications de LDAP : exemples u Gestion centralise de lauthentication et des droits daccs Remplacer les multiples mots de passe applicatifs/systmes par une authentication LDAP centralise. Netscape Directory Server - synchronisation des bases utilisateurs Windows NT4 avec base LDAP Netscape SuiteSpot - serveur de Mail, de News, Web utilisant LDAP pour lauthentication Cyrus IMAP/POP3 pwcheck_ldap.c - programme externe dauthentication LDAP pour les serveurs IMAP/POP3 de Cyrus. Apache::AuthLDAP - module dauthentication et de gestion des autorisations daccs au serveur Web Apache via LDAP. PADL Softwares PAM (Pluggable Authentication Module) & NSS (Name Service Switch) Modules - authentication/lookup redirigs sur LDAP sous Solaris et Linux

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

168

LDAP : les applications de LDAP : exemples u Gestion des mailing-lists et des aliases mail par LDAP
Netscape Messenger Server - Serveur de Mail full LDAP . Sendmail 8.9.x : peut utiliser LDAP pour les rsolutions dadresses. Sympa : gestionnaire de listes de diffusions LDAP capable

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

169

LDAP : les applications de LDAP u Mobilit utilisateur : accs distant des applications aux options, congurations
et prfrences permettre lutilisateur de retrouver son environnement applicatif indpendamment de sa localisation Netscape Communicator Roaming Access. Netscape Calendar nscalUser object class.

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

170

LDAP : les applications de LDAP u Annuaires...


Annuaire du personnel Inventaire du matriel Stockage des certicats (X509) et des listes de rvocation (CLRs) - pour des infrastructures base de clefs publiques -

u Directory Enabled Networks Initiative (DEN) Consortium pour dnir un modle dinformation standard facilitant le
dveloppement dapplications reseaux Directory-Enabled interoprables. Faciliter laccs des utilisateurs aux services rseaux : authentication, droits daccs...

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

171

LDAP : bibliographie u Concepts u Dployer un service LDAP u Les logiciels serveurs u Les clients LDAP u Les outils de dveloppement u Les applications de LDAP aujourdhui et demain u Bibliographie

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

172

LDAP : bibliographie
Linuxworld LDAP in action:
http://linuxworld.com/linuxworld/lw-1999-07/lw-07-ldap_1.html

Linux LDAP services:


http://www.rage.net/ldap/

OPenLDAP.org:
http://www.openldap.org

Netscape Deployment Guide:


http://developer.netscape.com/docs/manuals/directory/deploy30/index.htm

LDAP FAQ:
http://www.critical-angle.com/ldapworld/ldapfaq.html

LDAP roadmap and FAQ:


http://www.kingsmountain.com/ldapRoadmap.shtml

LDAP Central
http://www.ldapcentral.com/

Vous retrouverez ce document sur le web ladresse :


http://www-sop.inria.fr/semir/personnel/Laurent.Mirtain/LDAP.html

26-11-99

JRES 99 - LDAP - L. Mirtain - LORIA-INRIA

173

También podría gustarte

  • Apprenez A Programmer en C Sur Net
    Apprenez A Programmer en C Sur Net
    Documento131 páginas
    Apprenez A Programmer en C Sur Net
    Pape Bassirou
    Aún no hay calificaciones
  • Maven Guide FR
    Maven Guide FR
    Documento430 páginas
    Maven Guide FR
    Pape Bassirou
    Aún no hay calificaciones
  • WSDL
    WSDL
    Documento41 páginas
    WSDL
    Naho Algérienne
    Aún no hay calificaciones
  • Cours Pls QL
    Cours Pls QL
    Documento41 páginas
    Cours Pls QL
    Pape Bassirou
    Aún no hay calificaciones
  • Cours XSLT
    Cours XSLT
    Documento46 páginas
    Cours XSLT
    Pape Bassirou
    100% (1)
  • Philosophe S
    Philosophe S
    Documento2 páginas
    Philosophe S
    Pape Bassirou
    Aún no hay calificaciones
  • Web Services
    Web Services
    Documento17 páginas
    Web Services
    Pape Bassirou
    Aún no hay calificaciones
  • Fonctionnement MI
    Fonctionnement MI
    Documento12 páginas
    Fonctionnement MI
    Pape Bassirou
    Aún no hay calificaciones