LDAP : Une Présentation Rapide
Maybe your like
- Quelques liens utiles
- Présentation de LDAP
- Caractéristiques de LDAP
- Utilisation de LDAP
- Structure de LDAP
- L'attribut particulier dn
- L'attribut particulier objectclass
- Les attributs classiques
- Le langage de requête
- Création d'attributs et de classes
- Définition d'un attribut
- Définition d'une classe
Quelques liens utiles
JNDI chez Oracle Guide JNDI Le tutorial JNDI package javax.naming package javax.naming.directory Un cours complet sur LDAP (en français) http://www-sop.inria.fr/.../ldap-livre.html Un tutorial LDAP (en anglais) http://yolinux.com/TUTORIALS/LinuxTutorialLDAP.htmlPrésentation de LDAP
f LDAP : Lightweight Directory Access Protocol.
- C'est un protocole d'accès à un annuaire.
- Il n'y a donc pas de contrainte d'implantation.
- Un annuaire propriétaire peut (et doit) fournir une interface LDAP (comme ODBC pour les S.G.B.D.R.).
- Il existe des annuaires LDAP natifs (openLDAP).
Caractéristiques de LDAP
f Caractéristiques :
- Accès rapide mais mises à jour plus lentes
- Structure arborescente
- Langage de recherche
- l'échange de données se fait par le format LDIF Annuaire Requête Fichier Ajout Annuaire LDAP ------> LDIF ------> LDAP
- Il existe des opérations de duplication et de synchronisation
- Il est donc facile de maintenir des copies
Utilisation de LDAP
f Quelques exemples :
- Annuaire d'entreprise,
- Annuaire Active Directory (Windows 2000).
- Alternative à NIS et NIS+.
- Représentation des paramètres du Système d'Information (J2EE).
- Annuaire de l'université (http://annuaire.univ-amu.fr).
Structure de LDAP
f Un annuaire LDAP est un arbre (DIT pour Directory Information Tree).
f Chaque noeud corresponds à une série d'affectations d'attributs.
- On associe une ou plusieurs valeurs à chaque attribut.
- Les valeurs sont des chaînes de caractères ou des données binaires.
- Exemples :
L'attribut particulier dn
f dn pour distinguished name.
f Le DN est l'identifiant d'une entrée LDAP. C'est un chemin dans l'arborescence de l'annuaire.
dc=youpi,dc=com | dc=magasin,dc=youpi,dc=com | | user=jean,dc=magasin,dc=youpi,dc=com | | user=bob,dc=magasin,dc=youpi,dc=com | | ... | dc=usine,dc=youpi,dc=com | | user=jean,dc=usine,dc=youpi,dc=com | | user=marcel,dc=usine,dc=youpi,dc=com | | ..L'attribut particulier objectclass
f L'attribut objectclass désigne la ou les classes associées au noeud.
f Une classe définie les attributs obligatoires et optionnels d'un noeud.
f Les attributs et les classes sont définis dans des schémas LDAP.
f Dans un serveur LDAP il existe un jeu de schémas de base qui définissent des classes et des attributs.
dn: dc=my-domain,dc=com objectclass: dcObject objectclass: organization ... dn: cn=massat,dc=my-domain,dc=com objectclass: person ..Les attributs classiques
f cn Le common name ou nom commum.
f gn given name c'est à dire le prénom.
f sn surname.
f l Le locality name.
f st state or province name.
f ou organisational unit.
f dc domain component.
f o organization name.
Le langage de requête
- Les tests élémentaires de la valeur d'un attribut :
(attribut=valeur) égalité (attribut~=valeur) approximation (attribut!=valeur) différence (attribut>=valeur) supérieur (attribut<=valeur) inférieur - La valeur peut être une chaîne combinée au caractère joker * et au symbole de neutralisation \c. Exemples :
(cn=user1*) cn débute par user1 (cn=*) cn a une valeur
- Les conditions élémentaires peuvent être composées :
(|(cond1)(cond2)) condition 1 ou condition 2 (&(cond1)(cond2)) condition 1 et condition 2 (!(cond1)) négation de la condition 1 - Un exemple plus réaliste : (|(sn=A*)(&(cn=user1)(dc=dil*)))
Création d'attributs et de classes
Si les classes et les attributs prédéfinis ne suffissent pas, il est possible de :
- définir de nouveaux attributs,
- à partir de rien,
- à partir d'autres attributs.
- définir de nouvelles classes
- à partir de rien,
- à partir de classes existantes.
Définition d'un attribut
Définition d'un attribut dans un schéma LDAP :
attributetype ( 2.5.4.41 NAME 'name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} ) attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' ) DESC 'RFC2256: last (family) name(s) for which the entity is known by' SUP name ) attributetype ( 2.5.4.6 NAME ( 'c' 'countryName' ) DESC 'RFC2256: ISO-3166 country 2-letter code' SUP name SINGLE-VALUE ) attributetype ( 2.5.4.10 NAME ( 'o' 'organizationName' ) DESC 'RFC2256: organization this object belongs to' SUP name )Définition d'une classe
Définition d'une classe dans un schéma LDAP :
objectclass ( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) ) objectclass ( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' SUP top STRUCTURAL MUST c MAY ( searchGuide $ description ) ) objectclass ( 1.3.6.1.4.1.1466.344 NAME 'dcObject' DESC 'RFC2247: domain component object' SUP top AUXILIARY MUST dc )Un exemple plus réaliste :
objectclass ( 2.5.6.4 NAME 'organization' DESC 'RFC2256: an organization' SUP top STRUCTURAL MUST o MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ description ) )Tag » Cn Ou Dn
-
What Are CN, OU, DC In An LDAP Search? - Stack Overflow
-
[ActiveDirectory]différence OU/DC/CN Par Tot94 - Page 1
-
Distinguished Names - IBM
-
Distinguished Names And Relative Distinguished Names
-
About LDAP Binding Component - Oracle Help Center
-
LDAP Binding Strings
-
What Is The Difference Between CN And DN?
-
What Is The Difference Between An RDN, A DN, And A CN In LDAP?
-
Distinguished Names | Microsoft Docs
-
LDAP DNs And RDNs
-
LDAP Namespace Structure | Understanding Active Directory Services
-
The Meaning Of The CN, OU, DC In LDAP - Alibaba Cloud Topic Center
-
Convertir CN En DN (Centinewton En Décinewton)