Documentos de Académico
Documentos de Profesional
Documentos de Cultura
26-11-99
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
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
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
un protocole qui permet l'accs au contenu une syntaxe qui permet dinterroger la base
et aussi
26-11-99
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
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
local : contexte restreint une machine global : contexte largi un intranet ou l'internet
26-11-99
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
26-11-99
10
26-11-99
11
26-11-99
12
26-11-99
13
DAP
26-11-99
14
26-11-99
15
CSO
Annuaire dadresses lectroniques cr par luniversit de lIllinois, plus connu sous le nom de PH. Popularis par Eudora.
26-11-99
16
26-11-99
17
26-11-99
18
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
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
20
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
21
26-11-99
22
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
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
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.
Simple Authentication and Security Layer : couche supplmentaire permettant LDAP dutiliser des mthodes dauthentication externes.
26-11-99
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
26
26-11-99
27
type dattribut
uid: lcasta telephonenumber: +33 (0)1 4852 7738 mail: Laetitia.Casta@inria.fr roomnumber: C105
26-11-99
28
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
29
26-11-99
30
26-11-99
31
Une classe auxiliaire dsigne des objets qui permettent de rajouter des informations complmentaires des objets structurels.
26-11-99
32
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
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
34
ou objectClass
26-11-99
35
26-11-99
36
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
37
26-11-99
38
26-11-99
39
26-11-99
40
26-11-99
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
42
personnes
services
salles runions
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
Avec LDAP, vous tes libres dorganiser vos donnes comme bon vous semble
(design du DIT).
26-11-99
44
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
Serveur LDAP 1
Serveur LDAP 2
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
47
26-11-99
48
search base = "l=sophia, dc=inria, dc=fr" search scope = base search scope = onelevel search scope = subtree
26-11-99
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
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
26-11-99
50
26-11-99
51
LDAP : concepts : LDAP : modle fonctionnel : Mise jour u Mise jour 4 oprations : add,
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
52
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
uid=lcasta uid=lcasta
26-11-99
53
LDAP : concepts : LDAP : modle fonctionnel : Authentication u Authentication et contrle 3 oprations : bind, unbind,
bind unbind
abandon
26-11-99
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
55
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
Client LDAP
SASL plug-in
SASL plug-in
26-11-99
57
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
58
26-11-99
59
26-11-99
60
26-11-99
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
62
26-11-99
63
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
64
26-11-99
65
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
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
67
26-11-99
68
-> 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
69
26-11-99
70
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
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
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
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
74
26-11-99
75
26-11-99
76
26-11-99
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
78
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
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
81
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
82
o=Acme
ou=People
26-11-99
83
o=Acme
ou=Sales
ou=R&D
ou=Engineering
ou=Accounting
ou=Mfg.
cn=Mike Smith
26-11-99
84
o=Acme
l=Headquarters
l=New York
l=Chicago
l=Dallas
l=Los Angeles
cn=Mike Smith
26-11-99
85
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
86
l=North America
cn=Joe Boss
l=Asia
ou=Sales
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
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
88
LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN
Exemple : utilisation du canonicalname (source Perotsystems)
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
26-11-99
89
LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation dun pseudo cn (source Perotsystems)
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
26-11-99
90
LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation de luid (source Perotsystems)
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
91
LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation du login (source Perotsystems)
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
26-11-99
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)
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
26-11-99
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)
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
26-11-99
94
LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (suite)
Exemple : utilisation dun alias (source Perotsystems)
cn=smithMJ , ou=People, o=Perot Systems, c=US uid=smithMJ , ou=Certificates, o=Perot Systems, c=US
26-11-99
95
LDAP : dploiement : concevoir son modle de nommage u Nommage des entres : choix du RDN (conclusion)
Exemple : recommendations de lIETF (source Perotsystems)
dc=com
dc=acme
dc=Corporate dc=DalSite
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.
26-11-99
96
26-11-99
97
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
98
26-11-99
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
100
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
26-11-99
102
ou=nancy ou=rennes ou=sophia subordinate reference immediate superior knowledge reference ou=sophia contexte de nommage
Les knowledge references permettent un serveur de faire suivre les requtes des utilisateurs lorsque lobjet recherch nappartient pas larbre quil gre.
26-11-99
103
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.
26-11-99
104
26-11-99
105
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
106
26-11-99
107
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
109
Le supplier coup de lextrieur ne duplique quune branche publique de larbre sur un consumer accessible depuis linternet.
26-11-99
110
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
111
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.
26-11-99
113
updates
modications
search
Client LDAP
26-11-99
114
updates
26-11-99
115
synchro.
modications
modications
Client LDAP
26-11-99
116
26-11-99
117
26-11-99
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
119
26-11-99
120
26-11-99
121
26-11-99
122
Quel est son niveau de condentialit (un numro de scurit sociale est une
donne plus sensible quune adresse mail) ?
26-11-99
123
26-11-99
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
tous
lecture lecture/modication lecture lecture/modication lecture lecture/modication lecture/modication lecture lecture/modication lecture/modication
employeeNumber
26-11-99
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
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
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
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
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
cn=semir
26-11-99
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
130
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
26-11-99
131
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
132
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
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
134
26-11-99
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...)
26-11-99
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
26-11-99
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
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
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
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
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
142
26-11-99
143
26-11-99
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
145
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
146
26-11-99
147
26-11-99
149
26-11-99
150
26-11-99
151
26-11-99
152
26-11-99
153
26-11-99
154
26-11-99
155
26-11-99
156
26-11-99
157
26-11-99
158
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
159
26-11-99
160
26-11-99
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
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
163
26-11-99
164
26-11-99
165
26-11-99
166
26-11-99
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
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
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
170
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
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
172
LDAP : bibliographie
Linuxworld LDAP in action:
http://linuxworld.com/linuxworld/lw-1999-07/lw-07-ldap_1.html
OPenLDAP.org:
http://www.openldap.org
LDAP FAQ:
http://www.critical-angle.com/ldapworld/ldapfaq.html
LDAP Central
http://www.ldapcentral.com/
26-11-99
173