Vous êtes sur la page 1sur 19

Active Directory Wikipedia

PDF gnrs en utilisant latelier en source ouvert mwlib . Voir http://code.pediapress.com/ pour plus dinformations. PDF generated at: Mon, 24 Dec 2012 11:04:50 UTC

Contenus
Articles
Active Directory Lightweight Directory Access Protocol 1 7

Rfrences
Sources et contributeurs de larticle Source des images, licences et contributeurs 15 16

Licence des articles


Licence 17

Active Directory

Active Directory
Active Directory (AD) est la mise en uvre par Microsoft des services d'annuaire LDAP pour les systmes d'exploitation Windows. L'objectif principal d'Active Directory est de fournir des services centraliss d'identification et d'authentification un rseau d'ordinateurs utilisant le systme Windows. Il permet galement l'attribution et l'application de stratgies, la distribution de logiciels, et l'installation de mises jour critiques par les administrateurs. Active Directory rpertorie les lments d'un rseau administr tels que les comptes des utilisateurs, les serveurs, les postes de travail, les dossiers partags, les imprimantes, etc. Un utilisateur peut ainsi facilement trouver des ressources partages, et les administrateurs peuvent contrler leurs utilisations grce des fonctionnalits de distribution, de duplication, de partitionnement et de scurisation des accs aux ressources rpertories. Si les administrateurs ont renseign les attributs convenables, il sera possible d'interroger l'annuaire pour obtenir par exemple : Toutes les imprimantes couleurs cet tage du btiment . Le service d'annuaire Active Directory peut tre mis en uvre sur Windows 2000 Server, Windows Server 2003 et Windows Server 2008, il rsulte de l'volution de la base de compte plane SAM. Un serveur informatique hbergeant l'annuaire Active Directory est appel contrleur de domaine . Active Directory stocke ses informations et paramtres dans une base de donnes centralise. La taille d'une base Active Directory peut varier de quelques centaines d'objets pour de petites installations plusieurs millions d'objets pour des configurations volumineuses. Dans les premiers documents Microsoft mentionnant son existence, Active Directory s'est d'abord appel NTDS (pour NT Directory Services, soit Services d'annuaire de NT en franais). On peut d'ailleurs encore trouver ce nom dans la littrature couvrant le sujet ainsi que dans certains utilitaires AD comme NTDSUTIL.EXE par exemple, ou le nom du fichier de base de donnes NTDS.DIT.

Historique
Active Directory fut prsent pour la premire fois en 1996, mais sa premire utilisation remonte Windows 2000 Server dition en 1999. Il fut mis jour dans Windows Server 2003 pour tendre ses fonctionnalits et amliorer son administration. Des amliorations supplmentaires lui ont depuis t adjointes dans Windows Server 2003 R2, Windows Server 2008 et Windows Server 2008 R2. Active Directory est le rsultat de l'volution de la base de donnes de comptes de domaine (principaux de scurit) SAM (Security Account Manager) et une mise en uvre de LDAP, protocole de hirarchie. Sa technologie de stockage est fonde sur le stockage du registre Windows, la base SAM constituant elle seule une ruche, ce qui physiquement correspond un fichier portant le nom sam, tout comme les fichiers system et software. D'un point de vue smantique, Active Directory est un annuaire LDAP, tout comme l'annuaire d'Exchange 5.5. Exchange 5.5 n'est pas pour autant le seul antcdent technologique Active Directory, citons galement l'annuaire Novell NDS, qui a galement constitu un bond technologique en comparaison avec le prcdent systme NetWare Bindery. Active Directory peut donc tre considr comme la rponse technologique aux technologies d'annuaire Novell, les deux systmes tant drivs de X.500. Active Directory revoit compltement le stockage des informations de scurit du domaine, de la structure de la base jusqu'au niveau smantique. Tout d'abord, le moteur de base de donnes retenu pour sa mise en uvre est le moteur de stockage extensible ESENT, driv de ESE98 galement connu sous le nom de Jet Blue, pour lever l'ambigut avec les bases de donnes Microsoft Access utilisant le moteur Jet Red. Le prdcesseur d'ESE98, ESE97, tait le moteur de base de donnes utilis pour l'annuaire Exchange 5.5. La diffrence principale entre ESENT et ESE98 est la taille des pages utilises et la taille des journaux de transaction.

Active Directory Active Directory est galement conu pour garantir un niveau de performance et de scurit adquat : la base de donnes ESENT est journalise et rpond la contrainte ACID. Le moteur est conu pour supporter des bases dimensionnes pour stocker des millions d'objets.

Structure
Objets
Active Directory est un service d'annuaire utilis pour stocker des informations relatives aux ressources rseau sur un domaine. Une structure Active Directory (AD) est une organisation hirarchise d'objets. Les objets sont classs en trois grandes catgories : les ressources (par exemple les imprimantes), les services (par exemple le courrier lectronique) et les utilisateurs (comptes utilisateurs et groupes). L'AD fournit des informations sur les objets, il les organise et contrle les accs et la scurit. Chaque objet reprsente une entit unique utilisateur, ordinateur, imprimante ou groupe ainsi que ses attributs. Certains objets peuvent galement tre des conteneurs pour d'autres objets. Un objet est identifi de manire unique dans l'AD par son nom et possde son propre jeu d'attributs les caractristiques et les informations que l'objet peut contenir dfini par un schma, qui dtermine galement le type d'objets qui peuvent tre stocks dans l'AD. Chaque objet attribut peut tre utilis dans plusieurs classes d'objets de schma diffrents. Ces objets de schma existent pour permettre au schma d'tre tendu ou modifi si ncessaire. Cependant, comme chaque objet de schma est intgral la dfinition des objets de l'AD, la dsactivation ou la modification de ces objets peut avoir de graves consquences car elle entrane des modifications fondamentales dans la structure de l'AD. Un objet de schma, lorsqu'il est modifi, est automatiquement propag dans Active Directory et une fois cr, il ne peut plus tre supprim (il peut seulement tre dsactiv). Pour cette raison, une modification du schma doit tre mrement rflchie et planifie[1]. Le nombre de types d'objets disponibles dans un Active Directory n'est pas limit, en voici quelques exemples: OU (Organisational Unit): L'Unit d'Organisation Dans l'arborescence, ce sont des conteneurs qui permettent de crer une hirarchie d'objets au sein d'un domaine. Ces OU sont principalement utilises pour permettre la dlgation de droits et pour l'application de GPO. Les OU sont parfois confondues avec les groupes, qui sont des objets et non des conteneurs. Ordinateur Utilisateur Groupe : il est principalement destin tablir des listes d'utilisateurs pour leur attribuer des droits ou des services. On distingue trois types de groupes : Le groupe local : il peut contenir des utilisateurs de tous les domaines mais ne peut tre plac que sur des ressources de son domaine. Le groupe global : au sein d'un domaine, il est principalement utilis pour affecter des droits des ressources dans un domaine. Il peut comprendre des utilisateurs, des groupes globaux ou universels, issus du mme domaine.

Types de groupes et rgles d'affectation d'utilisateurs

Le groupe universel : disponible depuis la version 2000, permet d'inclure des groupes et utilisateurs d'autres domaines. Active Directory tant un annuaire objet, la notion de schma dfinit les contraintes concernant la drivation et l'hritage des objets, sensiblement de la mme manire qu'en programmation objet. Cela introduit galement la

Active Directory notion d'extension, permettant d'ouvrir l'annuaire toutes sortes d'applications souhaitant stocker des objets personnaliss au niveau du ou des domaines constituant la fort Active Directory.

Unit organisationnelle
Une Unit organisationnelle (Organizational Unit ; OU ; UO) est un objet conteneur qui permet de hirarchiser Active Directory. Cette notion tait inexistante dans les "versions prcdentes" d'AD, telle que la base de donnes SAM. L'AD permet une hirarchisation des domaines. l'intrieur de ces domaines, il existe maintenant des possibilits de structuration et de hirarchisation des utilisateurs. Les OU sont le meilleur moyen de crer ces structures hirarchiques dans Active Directory. Outre la structuration d'informations, qui offre une clart accrue dans les annuaires complexes notamment, les OU prsentent un avantage important : elles tiennent lieu de frontire pour la dlgation d'autorisations administratives. Il est donc possible de personnaliser les droits des diffrents utilisateurs/groupes de faon cible (gestion des mots de passe ; droits d'accs : autorisations concernant les installations...).

Forts, arborescences et domaines


Active Directory introduit la notion de hirarchie, inhrente aux annuaires objets drivs de X.500, sous la forme d'une arborescence dans laquelle les utilisateurs et les ordinateurs sont organiss en groupes et sous groupes afin de faciliter l'administration des droits et restrictions utilisateur. C'est aussi Active Directory qui gre l'authentification des utilisateurs sur le rseau Windows. Active Directory exploite cette notion de hirarchie intensivement, puisque l'entit de scurit appele domaine est galement hirarchise dans un ensemble partageant un espace de nom commun, appel arborescence , enfin, l'entit de plus haut niveau regroupant les arborescences de domaines constitue la fort Active Directory. Active Directory permet une rplication multi-matre, c'est--dire que chaque contrleur de domaine peut tre le sige de modifications (ajout, modification, suppression) de l'annuaire, sous rserve de permission accorde par ACL, qui seront rpliques sur les autres contrleurs de domaine. SAM ne disposait que d'une seule base en criture, les autres rpliquas tant en lecture seule. Le mcanisme de rplication de ces modifications peut profiter de RPC (liaisons TCP/IP rapides et disponibles) ou SMTP dans les autres cas. La topologie de rplication est gnre automatiquement mais elle peut tre personnalise par l'administrateur, tout comme sa planification. noter que les ensembles d'espaces de nom correspondant aux arborescences d'Active Directory formant la fort Active Directory sont superposables l'espace de nom form par les zones DNS. DNS est un service indispensable pour le bon fonctionnement de toute l'architecture Active Directory, localisation des contrleurs de domaine, rplication, etc. Une arborescence Active Directory est donc compose de : La fort : structure hirarchique d'un ou plusieurs domaines INDEPENDANTS (ensemble de tous les sous domaines Active Directory). L'arbre ou l'arborescence : domaine de toutes les ramifications. Par exemple, dans l'arbre domaine.tld, sous1.domaine.tld, sous2.domaine.tld et photo.sous1.domaine.tld sont des sous-domaines de domaine.tld. Le domaine : constitue les feuilles de l'arborescence. photo.sous1.domaine.tld peut-tre un domaine au mme titre que domaine.tld. Le modle de donnes Active Directory est driv du modle de donnes de la norme X.500 : l'annuaire contient des objets reprsentant des lments de diffrents types dcrits par des attributs. Les stratgies de groupe (GPO) sont des paramtres de configuration appliqus aux ordinateurs ou aux utilisateurs lors de leur initialisation, ils sont galement grs dans Active Directory.

Active Directory Le protocole principal d'accs aux annuaires est LDAP qui permet d'ajouter, de modifier et de supprimer des donnes enregistres dans Active Directory, et qui permet en outre de rechercher et de rcuprer ces donnes. N'importe quelle application cliente conforme LDAP peut tre utilise pour parcourir et interroger Active Directory ou pour y ajouter, y modifier ou y supprimer des donnes.

Rles uniques
Certaines fonctions, - on parle de rles - ne peuvent tre prises en charge que par un serveur unique, le matre d'oprations (Operation master en anglais). Ces rles, appels FSMO (abrviation de Flexible Single Master Operations) peuvent tre pris en charge par n'importe quel contrleur de domaine (mais un seul la fois), ils sont au nombre de 5:
Nom du rle Position Description

Matre de schma (Schema Master) 1 par fort Contrle les modifications apportes au schma de donnes Active Directory. Matre d'attribution de noms de domaine (Domain Naming Master) 1 par fort Contrle l'ajout et la suppression des noms de domaines dans une fort afin de garantir leur unicit. Se comporte comme un contrleur de domaine NT4 pour permettre le support de clients NT4 (par exemple pour grer les changements de mots de passe), ce contrleur fournit galement l'horloge de rfrence du domaine. Fournit des tranches d'identifiants uniques aux autres contrleurs de domaine.

mulateur de PDC (PDC Emulator) 1 par domaine

Matre RID (RID Master)

1 par domaine 1 par domaine

Matre d'infrastructure (Infrastructure Master)

Synchronise les changements inter-domaines.

Nomenclature
Active Directory prend en charge l'utilisation de noms UNC (\), URL (/), et LDAP pour l'accs aux objets. En interne, AD utilise la version LDAP de la structure de noms de X.500. Chaque objet possde un identifiant unique, le nom unique (DN pour Distinguished name), ainsi un objet imprimante appel HPLaser3 dans l'OU Marketing et faisant partie du domaine foo.org aura comme DN : CN=HPLaser3,OU=Marketing, DC=foo, DC=org o CN est le nom commun (Common Name en anglais) et DC un composant de domaine. Un DN peut tre constitu de bien plus de quatre lments. L'objet peut ainsi galement possder un nom canonique (Canonical name), gnralement le DN invers, sans identifiants, et utilisant la barre oblique (slash) comme sparateur : foo.org/Marketing/HPLaser3. Afin d'identifier l'objet l'intrieur de son conteneur, AD utilise un nom unique relatif (RDN pour Relative distinguished name) : CN=HPLaser3. Chaque objet possde galement un identifiant global unique (GUID, pour Globally Unique Identifier) qui est une chane de caractres de 128 bits unique et non modifiable, utilis par AD pour les oprations de recherche et de rplication. Certains objets possdent galement un nom utilisateur principal (UPN, pour User principal name), se prsentant sous la forme nom_objet@nom_domaine.

Relations d'approbation
Afin de permettre aux utilisateurs d'un domaine d'accder aux ressources d'un autre domaine, AD utilise un mcanisme de relations d'approbation. Les relations d'approbation au sein d'une mme fort sont automatiquement cres au moment de la cration des domaines. Les limites par dfaut des relations d'approbation sont fixes au niveau de la fort, et non du domaine, elles sont implicites, et automatiquement transitives pour tous les domaines d'une mme fort. Toutes les relations d'approbation au sein d'une fort sont bidirectionnelles et transitives. Cependant, afin de se connecter d'autres forts ou des domaines non-AD, AD met en uvre d'autres types de

Active Directory relations d'approbation : les approbations de type raccourci (shortcut) (jointures de deux domaines appartenant des arborescences diffrentes, transitives, uni ou bidirectionnelles), fort (forest) (transitives, uni ou bidirectionnelles), royaume (realm) (transitives ou intransitives, uni ou bidirectionnelles) ou externe (intransitives, uni ou bidirectionnelles).

Approbations dans Windows 2000 (mode natif)


Unidirectionnelle - Lorsqu'un domaine permet aux utilisateurs d'accder un autre domaine, mais que cet autre domaine n'autorise pas l'accs aux utilisateurs du premier domaine. Bidirectionnelle - Lorsque deux domaines permettent leurs utilisateurs l'accs l'autre domaine. Domaine d'approbation - Le domaine qui autorise l'accs aux utilisateurs d'un domaine approuv. Domaine approuv - Le domaine qui est approuv, dont les utilisateurs ont accs au domaine d'approbation. Approbation transitive - Approbation qui peut s'tendre au-del des deux domaines aux autres domaines approuvs de la mme arborescence. Approbation non transitive - Approbation unidirectionnelle non tendue au-del des deux domaines. Approbation explicite - Approbation cre par un administrateur. Non transitive et unidirectionnelle uniquement. Approbation croise - Approbation explicite entre domaines de diffrentes arborescences ou faisant partie de la mme arborescence lorsqu'aucune relation descendant/anctre (enfant/parent) n'existe entre les deux domaines. Windows 2000 - prend en charge les types d'approbation suivants: Approbations transitives bidirectionnelles. Approbations non transitives unidirectionnelles. D'autres types d'approbations peuvent tre crs par les administrateurs. Ces approbations peuvent tre de type: Raccourci

Approbation supplmentaire dans Windows 2003 (mode natif)


Windows Server 2003 introduit un nouveau type d'approbation appel approbation de fort. Ce type d'approbation permet tous les domaines d'une fort d'approuver de manire transitive tous les domaines dune autre fort. Pour que cette nouvelle fonctionnalit soit disponible, il faut absolument que les deux forts mises en relations aient un niveau fonctionnel Windows Server 2003. L'authentification travers ce type d'approbation doit tre base sur Kerberos (et non NTLM). Les approbations de fort sont transitives pour tous les domaines appartenant aux forts approuves.

ADAM
ADAM (pour Active Directory Application Mode) est une version plus lgre d'Active Directory spcifiquement ddie une utilisation au niveau applicatif. ADAM peut tre excut en tant que service sur des ordinateurs quips de Windows Server 2008, Windows Server 2003, Windows XP Professionnel, ou des ditions Professionnelle, Entreprise ou Intgrale de Windows Vista. Dvelopp sur la mme base de code qu'Active Directory, ADAM fournit les mmes fonctionnalits qu'AD, ainsi qu'une API identique, mais il ne requiert pas la cration de domaines et ne ncessite pas de contrleur de domaine pour fonctionner. Tout comme Active Directory, ADAM fournit un espace de stockage utilis pour stocker les donnes d'annuaire (le Data Store) ainsi qu'un service d'annuaire muni d'une interface de service d'annuaire LDAP. la diffrence d'Active Directory, plusieurs instances d'ADAM peuvent tre excutes simultanment sur le mme serveur, chaque instance tant spcifiquement adapte aux besoins des applications auxquelles elle est destine et utilisant le service d'annuaire ADAM.

Active Directory

Intgration d'Unix dans Active Directory


De nombreux diteurs proposent des solutions d'intgration Active Directory pour les plates-formes Unix (UNIX, GNU/Linux, Mac OS X, ainsi que nombre d'applications Java et UNIX). On peut citer ADmitMac de Thursby Software Systems, Vintela Authentication Services de Quest Software, DirectControl de Centrify et Likewise de Centeris Software. Microsoft propose galement un produit gratuit, Microsoft Windows Services for UNIX. Les versions rcentes des systmes d'exploitation Linux et Unix fournissent des niveaux d'interoprabilit varis avec Active Directory comme la prise en charge des stratgies de groupe[2]. Une alternative possible est d'utiliser un autre service d'annuaire comme par exemple 389 Directory Server (ex-Netscape Directory Server) capable d'effectuer une synchronisation bidirectionnelle avec Active Directory et fournir ainsi une intgration "dvie" consistant faire s'authentifier sur 389DS les machines Unix et Linux tout en conservant l'authentification Active Directory native pour les machines Windows.

Articles connexes
Active Directory Service Interfaces Matre d'oprations Open directory Novell Directory Service

Apache Directory Server

Rfrences externes
Portail administrateurs Active Directory [3] Complments d'informations sur Active Directory [4] Attention au choix de son nom de domaine DNS et de son nom de domaine NETBIOS [5] Dossier Active Directory sur le site de Microsoft [6] Architecture Active Directory sur le site de Microsoft [7] Site de Microsoft [8] Rplication d'un active directory sur deux sites distants [9] Approfondissement des groupes Active Directory [10]

Notes
[1] Planification, mise en oeuvre et maintenance d'une infrastructure Active Directory Microsoft Windows Server 2003, Microsoft Press, 2004 (ISBN978-2-10-007742-7), p.1-8 1-9 [2] http:/ / www. centrify. com/ directcontrol/ grouppolicy. asp [3] http:/ / www. active-directory. fr [4] http:/ / msreport. free. fr/ ?page_id=148 [5] http:/ / msreport. free. fr/ ?p=149 [6] http:/ / www. microsoft. com/ france/ technet/ produits/ Win2000s/ adcomp. mspx [7] http:/ / www. microsoft. com/ france/ technet/ produits/ Win2000s/ adarch. mspx [8] http:/ / www. microsoft. com/ france/ technet/ produits/ Win2000S/ ch_09. mspx [9] http:/ / matu. tv/ 2009/ 11/ 12/ 1061/ [10] http:/ / www. alexwinner. com/ index. php?option=com_content& view=article& id=9:groupead& catid=1:win2008& Itemid=3

Lightweight Directory Access Protocol

Lightweight Directory Access Protocol


Lightweight Directory Access Protocol (LDAP) est l'origine un protocole permettant l'interrogation et la modification des services d'annuaire. Ce protocole repose sur TCP/IP. Il a cependant volu pour reprsenter une norme pour les systmes d'annuaires, incluant un modle de donnes, un modle de nommage, un modle fonctionnel bas sur le protocole LDAP, un modle de scurit et un modle de rplication. Un annuaire LDAP respecte gnralement le modle X.500 dict par l'UIT-T : c'est une structure arborescente dont chacun des nuds est constitu d'attributs associs leurs valeurs. Le nommage des lments constituant l'arbre (racine, branches, feuilles) reflte souvent le modle politique, gographique ou d'organisation de la structure reprsente. La tendance actuelle est d'utiliser le nommage DNS pour les lments de base de l'annuaire (racine et premires branches, domain components ou dc=). Les branches plus profondes de l'annuaire peuvent reprsenter des units d'organisation ou des groupes (organizational units ou ou=), des personnes (common name ou cn= voire user identifier uid=), L'assemblage de tous les composants (du plus prcis au plus gnral) d'un nom forme son distinguished name, l'exemple suivant en prsente deux : cn=ordinateur,ou=machines,dc=EXEMPLE,dc=FR cn=Jean,ou=gens,dc=EXEMPLE,dc=FR dc=FR | dc=EXEMPLE / ou=machines / cn=ordinateur \ ou=gens \ cn=Jean

La dernire version en date du protocole est LDAPv3. Cette version est dfinie par l'IETF dans plusieurs RFC en commenant par la RFC 4510.

Origine et influences
LDAP a t initialement conu pour accder de manire lgre aux annuaires X.500. Ces annuaires taient traditionnellement interrogs travers le protocole X.500 Directory Access Protocol (DAP) qui ncessitait l'utilisation de la pile de protocoles du modle OSI. L'utilisation d'une passerelle LDAP/DAP permettait d'accder un serveur DAP en tant sur un rseau TCP/IP. Ce modle d'annuaire est driv de DIXIE et de Directory Assistance Service. L'apparition d'annuaires LDAP natifs (standalone LDAP directory) a suivi rapidement, tout comme celle de serveurs prenant en charge la fois DAP et LDAP. Les annuaires sont devenus populaires dans les entreprises car il n'tait plus ncessaire de dployer un rseau OSI. De nos jours, les protocoles d'accs aux annuaires X.500 (incluant DAP) peuvent tre directement utiliss sur TCP/IP. Le protocole fut cr par Tim Howes de l'Universit du Michigan, Steve Kille du ISODE et Wengyik Yeong de Performance Systems International en 1993. Les dveloppements qui suivirent, furent mens par lInternet Engineering Task Force (IETF). Initialement le protocole avait pour nom Lightweight Directory Browsing Protocol (LDBP), car il ne permettait que la recherche de donnes. Il fut renomm lors de l'ajout de nouvelles possibilits (ajout, modification). LDAP a influenc un certain nombre de protocoles d'Internet, incluant les dernires versions de X.500 : XML Enabled Directory (XED), Directory Services Markup Language (DSML), Service Provisioning Markup Language

Lightweight Directory Access Protocol (SPML), et Service Location Protocol (SLP).

Vue d'ensemble
Un client dbute une session LDAP en se connectant sur le port TCP 389 du serveur. Le client envoie ensuite des requtes d'opration au serveur. Le serveur envoie des rponses en retour. part quelques exceptions, le client n'a pas besoin d'attendre de rponse du serveur pour envoyer de nouvelles requtes, et le serveur peut envoyer ses rponses dans n'importe quel ordre. Une fois la connexion au serveur tablie, les oprations classiques sont : Start TLS : utilisation de la couche Transport Layer Security (TLS) pour scuriser la connexion ; Bind : indique la version du protocole utilise, et authentifie l'utilisateur. Il est possible de faire un bind anonyme en ne fournissant ni nom d'utilisateur ni mot de passe ; Search : recherche dans l'annuaire et rapatriement des donnes ; Compare : test qui dtermine si une entre contient un attribut avec une valeur donne ; Add : ajout d'une nouvelle entre ; Delete : suppression d'une entre ; Modify : modification d'une entre ; Modify DN : dplacement ou renommage d'une entre ; Abandon : annulation d'une requte prcdente ; Extended Operation : opration qui permet de dfinir d'autres oprations ; Unbind : clture la connexion.

De plus, le serveur peut envoyer des notifications non sollicites Unsolicited Notifications qui ne sont pas des rponses des requtes, par exemple avant de clturer une connexion inactive. Une mthode pour scuriser les communications LDAP est d'utiliser un tunnel TLS/SSL. Lors de l'emploi d'URL cet usage est traduit par le nom du protocole ldaps en remplacement de ldap. Le port TCP standard pour ldaps est 636. Le protocole LDAP employant la notation ASN.1 et les messages sont cods avec le format binaire BER. Cependant il utilise une reprsentation textuelle pour un certain nombre d'attributs et de types d'ASN.1.

Structure de l'annuaire
Les annuaires LDAP suivent le modle X.500 : Un annuaire est un arbre d'entres. Une entre est constitue d'un ensemble d'attributs. Un attribut possde un nom, un type et une ou plusieurs valeurs. Les attributs sont dfinis dans des schmas. Le fait que les attributs puissent tre multi-valus est une diffrence majeure entre les annuaires LDAP et les SGBDR. De plus, si un attribut n'a pas de valeur, il est purement et simplement absent de l'entre. Chaque entre a un identifiant unique, le Distinguished Name (DN). Il est constitu partir de son Relative Distinguished Name (RDN) suivi du DN de son parent. C'est une dfinition rcursive. On peut faire l'analogie avec une autre structure arborescente, les systmes de fichiers ; le DN tant le chemin absolu et le RDN le chemin relatif un rpertoire. En rgle gnrale le RDN d'une entre reprsentant une personne est l'attribut uid : dc=org | dc=example / ou=people \ ou=groups

Lightweight Directory Access Protocol | uid=toto Le RDN de toto est rdn:uid=toto, son DN est dn:uid=toto,ou=people,dc=example,dc=org. Une entre peut ressembler la reprsentation suivante lorsqu'elle est formate en LDIF : dn: cn=John Doe,dc=example,dc=org cn: John Doe givenName: John sn: Doe telephoneNumber: +1 555 6789 telephoneNumber: +1 555 1234 mail: john@example.com manager: cn=Barbara Doe,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top dn est le nom de l'entre, ce n'est pas un attribut de l'entre. "cn=John Doe" est le RDN de l'entre et "dc=example,dc=org" est le DN de son parent. Les autres lignes montrent les attributs de l'entre. Les noms des attributs sont parfois des abrviations pour les plus courants : "cn" pour common name, "dc" pour domain component, "sn" pour surname. Un serveur contient un sous-arbre dont la racine est une entre spcifique et tous ses enfants, par exemple : "dc=example,dc=org". Les serveurs peuvent galement contenir des rfrences vers d'autres serveurs, ainsi l'accs une entre ("ou=un service,dc=example,dc=org") peut retourner une rfrence (referral) un autre serveur qui contient le sous-arbre voulu. Le client peut alors contacter (automatiquement ou pas) l'autre serveur. Certains serveurs prennent en charge le chanage (chaining) qui permet au serveur d'interroger d'autres serveurs pour renvoyer l'information voulue au client. Les rsultats renvoys par le serveur ne sont pas tris, que ce soit pour les entres, pour les attributs des entres ou pour les valeurs des attributs.

Oprations
Le client donne chaque requte un identifiant Message ID, le serveur rpond la requte avec le mme identifiant. La rponse inclut un code de rsultat numrique indiquant l'tat de la requte (succs, chec, ). La rponse inclut galement les donnes ventuelles qui peuvent rsulter d'une recherche. Il inclut aussi un code ID.

Bind (authentification)
L'opration bind authentifie le client au sein du serveur. Le simple bind envoie le DN de l'utilisateur et son mot de passe en clair, c'est pourquoi la connexion doit tre scurise par TLS. Le serveur vrifie le mot de passe en le comparant avec l'attribut userPassword (en gnral) de l'entre correspondante. La valeur de l'attribut contenant le mot de passe commence avec le nom entre accolades de l'algorithme utilis pour coder le mot de passe (par exemple : userPassword: {md5}aGZh5). Le bind anonyme, c'est--dire sans fournir d'identifiant ni de mot de passe, met la connexion dans un tat anonyme. Ds lors le client ne pourra plus effectuer certaines oprations sur tout ou une partie de l'annuaire, en fonction des ACL mises en place. Le SASL bind permet d'utiliser d'autres mcanismes d'authentification : Kerberos, certificat client, etc.

Lightweight Directory Access Protocol L'tape de bind permet galement au client et au serveur de se mettre d'accord sur la version du protocole utiliser. En gnral la version 3 est utilise. Il est mme possible au serveur de refuser de communiquer avec des clients dans un protocole infrieur au sien.

10

StartTLS
L'opration StartTLS tablit une connexion scurise entre le client et le serveur en utilisant la technique TLS, hritire de SSL. Cette scurisation opre sur deux points : la confidentialit (un tiers ne peut pas comprendre l'change) et l'intgrit des donnes (les donnes sont valides par une signature). Pendant la ngociation TLS, le serveur envoie son certificat X.509 au client pour prouver son identit. Le client peut rpondre en envoyant son certificat mais l'identification du client est facultative. Il est gnralement possible de configurer clients et serveurs pour savoir si les certificats sont facultatifs ou essentiels. Les serveurs prennent en charge gnralement le protocole non standard LDAPS (LDAP over SSL). Ce protocole utilise le port 636 contrairement au TLS qui utilise le port 389 (le mme que le LDAP non scuris). Le protocole LDAPS diffre du LDAP sur deux points : 1. la connexion, le client et le serveur tablissent une connexion TLS avant que n'importe quelle autre commande LDAP ne soit envoye (sans envoyer d'opration StartTLS), 2. la connexion LDAPS doit tre ferme lors de la clture de TLS (alors qu'avec StartTLS, il est possible de passer d'une connexion scurise une connexion non scurise, et inversement).

Search et Compare
L'opration Search est utilise la fois pour faire une recherche et rapatrier des entres. Ses paramtres sont : baseObject : le DN (Distinguished Name) de l'entre partir de laquelle effectuer la recherche ; scope : base pour l'entre baseObject elle-mme, one pour effectuer une recherche au niveau des entres immdiatement rattaches au baseObject, sub pour une recherche dans le sous-arbre de l'entre ; filter : les critres qui dterminent si une entre fait partie des rsultats ou non, par exemple (&(objectClass=person)(|(givenName=John)(mail=john*))) - recherche les personnes qui ont pour prnom John ou dont le courriel commence par john ; derefAliases : indique si la recherche doit suivre les alias dans les entres (entre qui font rfrence d'autres entres) ; attributes : liste des attributs ramener l'issue de la recherche ; sizeLimit : limitation du nombre d'entres ramenes l'issue de la recherche ; timeLimit : limitation du dlai de recherche, exprim en secondes ; typesOnly : ne renvoie que les types d'attribut et non les valeurs. Le serveur renvoie les entres qui correspondent, suivies par le code retour de la commande (code de retour). L'opration Compare prend en argument un DN, un nom d'attribut et une valeur d'attribut, puis vrifie si l'entre correspondante contient bien un attribut ayant cette valeur. Remarque : Il n'existe pas d'opration du type Read. C'est l'opration Search qui est utilise pour l'accs direct une entre. Dans ce cas, le paramtre baseObject est le DN de l'entre que l'on veut lire, et le paramtre scope est utilis avec la valeur base.

Lightweight Directory Access Protocol

11

Mise jour
Les oprations de mise jour Add (ajout), Delete (suppression), Modify (modification) prennent en argument le DN de l'entre mettre jour. La modification a besoin en plus de la liste des attributs modifier ainsi que la modification apporter : suppression de l'attribut ou de certaines valeurs de l'attribut (les attributs peuvent tre multi-valus), ajout d'une valeur, remplacement d'une valeur. L'ajout d'une entre peut galement contenir une liste d'attributs et de valeurs associer avec l'entre. La modification de DN (dplacement/renommage) prend en argument le RDN de l'entre et, de faon facultative, le DN du nouveau parent, ainsi qu'un marqueur qui indique s'il faut ou non effacer l'ancien RDN. La prise en charge du renommage d'un sous-arbre en entier dpend des serveurs. Une opration de mise jour est atomique, c'est--dire que les autres oprations verront soit la nouvelle entre soit l'ancienne. Toutefois, le protocole LDAP ne dfinit pas de principe de transaction, ce qui permet plusieurs clients de modifier une entre en mme temps. Cependant, les serveurs peuvent utiliser des extensions pour le supporter.

Oprations tendues
Les oprations tendues sont des oprations gnriques qui permettent de dfinir de nouvelles oprations. Par exemple les oprations Cancel, Password Modify et StartTLS. Abandon L'opration Abandon envoie une requte au serveur pour lui dire d'abandonner une opration en lui fournissant son identifiant. Le serveur n'a pas obligation d'honorer la requte. Malheureusement, l'opration Abandon ainsi que l'abandon effectif d'une opration renvoie une rponse. C'est pourquoi l'opration tendue Cancel a t dfinie, pour ne pas renvoyer de rponse, mais tous les serveurs ne la prennent pas en charge.

Unbind
L'opration Unbind abandonne toute opration en cours et ferme la connexion. Il n'y a aucune rponse. Son nom a des raisons historiques, ce n'est pas l'opration contraire Bind. Les clients peuvent terminer une session en fermant la connexion, mais il est plus propre d'utiliser Unbind. Le serveur peut ainsi diffrencier les erreurs rseau des clients discourtois.

URI
Il existe un format d'URI LDAP, mais tous les clients ne le prennent pas en charge. Les serveurs l'utilisent pour indiquer aux clients les rfrences vers d'autres serveurs. Le format est le suivant : ldap://hte:port/DN?attributs?profondeur?filtre?extension avec : DN : le DN partir duquel effectuer la recherche ; attributs : liste contenant les attributs renvoyer, spars par des virgules ; profondeur : base (par dfaut), one ou sub pour la profondeur de la recherche ; filtre : le filtre de recherche ; extension : extensions ventuelles du format d'URL LDAP.

Comme dans tous les URI, les caractres spciaux doivent tre chapps en suivant l'algorithme prvu par la RFC 3986. On peut aussi rencontrer des URI utilisant le schma non normalis ldaps .

Lightweight Directory Access Protocol Par exemple : ldap://ldap.example.com/cn=John%20Doe,dc=example,dc=com retourne tous les attributs de l'entre John Doe , ldap:///dc=example,dc=com??sub?(givenName=John) recherche l'entre ayant comme prnom John dans l'annuaire partir de la racine.

12

Schma
Le contenu des entres d'un annuaire LDAP est rgi par des schmas. Les schmas dfinissent les types d'attribut que les entres d'un annuaire peuvent contenir. La dfinition d'un attribut inclut une syntaxe, la plupart des attributs non binaires dans LDAPv3 utilisent la syntaxe des chanes de caractres UTF-8. Par exemple, l'attribut mail peut contenir "utilisateur@example.org", l'attribut jpegPhoto peut contenir une photographie au format binaire JPEG, l'attribut member peut contenir le DN d'une entre de l'annuaire. La dfinition d'un attribut indique galement si l'attribut est mono-valu ou multi-valu, selon quelles rgles se feront les recherches/comparaisons (sensible la casse ou pas, recherche de sous-chane ou pas). Les schmas dfinissent des classes d'objets. Chaque entre de l'annuaire doit avoir au moins une valeur pour l'attribut objectClass, qui soit une classe d'objets dfinie dans les schmas. Gnralement, l'attribut objectClass est multi-valu et contient la classe top ainsi qu'un certain nombre d'autres classes. Tout comme dans la programmation oriente objet, les classes permettent de dcrire un objet en lui associant des attributs. Les classes LDAP reprsentent des personnes, des organisations... Le fait qu'une entre appartienne une classe (donc que l'attribut objectClass contienne le nom de la classe) lui permet d'utiliser les attributs de cette classe. Certains attributs sont obligatoires et d'autres facultatifs. Par exemple, si l'entre utilise la classe person, elle doit avoir obligatoirement une valeur pour les attributs sn et cn, et peut avoir facultativement une valeur pour les attributs userPassword et telephoneNumber. Les entres ayant gnralement plusieurs classes, la diffrenciation entre attributs obligatoires et facultatifs peut tre assez complexe. Les lments d'un schma ont un nom et un identifiant unique nomm Object identifier (OID). Beaucoup de serveurs exposent les schmas de l'annuaire comme des entres LDAP accessibles partir du DN cn=schema. Il est possible pour les administrateurs de dfinir leur propre schma en plus des schmas standard.

Variations d'un serveur l'autre


Certaines oprations possibles sont laisses l'apprciation du dveloppeur ou de l'administrateur. Par exemple, le stockage des donnes n'est pas spcifi par le protocole. Le serveur peut utiliser des fichiers plat, ou un SGBDR, ou bien tre simplement une passerelle vers un autre serveur. Les contrles d'accs (ACL) ne sont pas non plus normaliss, bien qu'un usage commun merge. LDAP est un protocole extensible, ce qui provoque l'apparition de nouvelles oprations sur certains serveurs et pas sur d'autres. Par exemple, le tri des rsultats.

Lightweight Directory Access Protocol

13

Utilisation
L'intrt principal de LDAP est la normalisation de l'authentification. Il est trs facile de programmer un module d'authentification utilisant LDAP partir d'un langage possdant une API LDAP. C'est l'opration Bind qui permet d'authentifier un utilisateur. De plus en plus d'applications Web possdent un module d'authentification prenant en charge LDAP. Sur les systmes GNU/Linux rcents, on voit de plus en plus l'adoption d'une base de donnes utilisant LDAP la place des fichiers plat passwd et shadow. Les donnes peuvent tre accdes par les modules PAM et NSS.

Serveurs LDAP
Apache Directory Server Open Directory d'Apple Critical Path [1] Directory Server et Meta Directory Server 389 Directory Server Red Hat Directory Server [2] OpenLDAP Novell eDirectory [3] Sun Directory Server Enterprise Edition [4] OpenDS a Sun Open Source Directory Server [5] IBM SecureWay Directory IBM Tivoli Directory Server (prcdemment IBM Directory Server) IBM Lotus Domino Active Directory de Microsoft Siemens [6] DirX View500 [7] Oracle Internet Directory tinyldap [8] un serveur LDAP minimaliste Mandriva Directory Server offre une interface web pour administrer Samba et LDAP

Clients LDAP
Jxplorer [9] : un client dvelopp sous Java et donc indpendant du systme d'exploitation. LDAPBrowser [10] : un client dvelopp sous Java et donc indpendant du systme d'exploitation. LDAP Admin [11] : un autre client pour Windows Apache Directory Studio [12] : un client multiplateforme, dvelopp en Java, par Apache Software Foundation GQ [13] : un client dvelopp en GTK+/GTK2 sous licence GPLpour GNU/Linux Luma [14]: une application cliente pour linux dveloppe en QT4. Sa notion de "plugin" permet de grer facilement des comptes utilisateur, des carnets d'adresses... phpLDAPadmin [15]: un client Web multiplateforme sous licence GPL dvelopp en PHP permettant de grer facilement son annuaire LDAP. FusionDirectory [16] : une application web sous licence GPL dvelopp en PHP permettant de grer facilement son annuaire LDAP et tous les services associs.

Lightweight Directory Access Protocol

14

Rfrences
[1] http:/ / www. criticalpath. net/ [2] http:/ / www. redhat. com/ directory_server/ [3] http:/ / www. novell. com/ products/ edirectory/ [4] http:/ / www. sun. com/ dsee [5] http:/ / www. opends. org/ [6] http:/ / www. siemens. com [7] http:/ / www. view500. com [8] http:/ / www. fefe. de/ tinyldap/ [9] http:/ / www. jxplorer. org [10] http:/ / www. ldapbrowser. com/ download. htm [11] http:/ / ldapadmin. sourceforge. net [12] http:/ / directory. apache. org/ studio/ [13] http:/ / sourceforge. net/ projects/ gqclient/ [14] http:/ / luma. sourceforge. net/ [15] http:/ / phpldapadmin. sourceforge. net/ [16] http:/ / www. fusiondirectory. org/ fr

Sources et contributeurs de larticle

15

Sources et contributeurs de larticle


Active Directory Source: http://fr.wikipedia.org/w/index.php?oldid=85388845 Contributeurs: -Nmd, A2, AntonyB, Arno., Ayack, BZP, Baril, Bub's, Calico, Coyote du 86, David Latapie, DocteurCosmos, EdBever, Epommate, Fragma, G.meyer91, Gribeco, Gronico, Haypo, Jef-Infojef, Jmax, K90, Koko90, LD, Laurent Nguyen, Le gorille, Leag, Letartean, Lomita, Macsscam, Maxxtwayne, Mro, Nanoxyde, Narsh, Ner0lph, Neustradamus, Nicolas Ray, Nuloop, Nutsy, Pascal.KOTTE, Philippe Giabbanelli, Pitit Pousin, Poulos, Remy34, Romanc19s, Sadhu-Gnu, Shawn, Silex6, StoneWolf, Storm1122, Supernes, Tieno, Tradok, Vincnet, Wargloup, Yf, YoGa, YolanC, Zandr4, Zil, 108 modifications anonymes Lightweight Directory Access Protocol Source: http://fr.wikipedia.org/w/index.php?oldid=84270995 Contributeurs: Almtesh, AnhPhong, Aoineko, Ayack, BMR, Badmood, Bahar, Benoitb, Bilbo-the-hobbit, BrightRaven, Bub's, Cv, Denis Dordoigne, Elg, Foxandpotatoes, Francois Trazzi, Fredb24, GLec, GaMip, Gaillarde, Goldkey, Guim.info, Gzen92, Hacketiwack, Hashar, Haypo, Herman, Hlm Z., Howard Drake, Hthouzard, Isaac Sanolnacov, JackPotte, Ji-Elle, Jordav, Laddo, Leafcat, Leag, Lucmoco, Luzmael, Mahmoud zouari, MetalGearLiquid, Mirgolth, Mro, MrsChocobo, NaSH, Nakor, Neogrifter, Neustradamus, NicoV, Nono64, Ohmgueil, Orthogaffe, Orthomaniaque, Oz, Petrus, Poterealpopolo, Poulos, Rangzen, Romanc19s, Slasher-fun, Stphane33, SuDForcE, Thomas.belot, Tieno, 94 modifications anonymes

Source des images, licences et contributeurs

16

Source des images, licences et contributeurs


Fichier:AD2003.JPG Source: http://fr.wikipedia.org/w/index.php?title=Fichier:AD2003.JPG Licence: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contributeurs: Pascal.kotte

Licence

17

Licence
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/