Présentation d'Active Directory
Par Ali NEDJIMI (Laboratoire Technologies Microsoft)


Introduction
Les services d'annuaire
Le concept utilisé jusqu'à Windows NT 4.0
Infrastructure de Active Directory
Unités Organisationnelles
Objets Feuille
Forêts
Le Directory Information Tree
Le Catalogue Global

Introduction

Certainement la nouvelle fonction la plus importante de Windows 2000, Active Directory est le nouveau service d'annuaire de Windows 2000 qui va permettre d'élargir le modèle de domaine utilisé jusqu'à présent.
Il permet d'éliminer les domaines maîtres et les domaines de ressources, les comptes d'administrateurs non sélectifs et les nombreuses relations d'approbation. Microsoft a repris certains éléments du modèle de domaine pour faciliter la migration mais a aussi pris en compte le modèle X500 qui est utilisé par les services d'annuaire actuels.

Les services d'annuaire

Un annuaire est un référentiel distribué d'informations ou de pointeurs vers des informations (ex:utilisateurs, groupes …). Même si aujourd'hui il existe un grand nombre de services d'annuaire, leur structure fondamentale présente une structure commune :


L'on peut voir les services d'annuaire comme des bases de données optimisées pour stocker les données d'annuaire.
C'est ce qui ce passe avec NDS (Novell Directory Services qui est l'annuaire de Novell) et Active Directory.
La base de données d'un service d'annuaire est généralement répartie sur plusieurs systèmes et les informations sont dupliquées entre ces bases. Les mécanismes de duplication sont généralement propriétaires.
L'organisation de la base de données du service d'annuaire répond à un schéma précis qui définit les objets et propriétés à enregistrer dans la base (ex : un objet serait l'utilisateur et ses propriétés seraient son nom, prénom …).
Pour les services d'annuaires plus anciens, la structure interne était figée et non modifiable.
C'est le cas pour le modèle de domaine utilisé par NT 4.

Les services d'annuaire modernes reposent sur un schéma évolutif qui donne l'utilisateur la possibilité d'enregistrer des informations complémentaires.
En plus d'une base de donnée, un service d'annuaire est constitué de protocoles qui se répartissent en 2 groupes :
ceux permettant d'accéder aux infos de l'annuaire
les protocoles de communication au niveau du service d'annuaire (ex : les protocoles assurant la duplication).

Parmi les protocoles, l'on fait une distinction entre les mécanismes propriétaires qui son liés à un service d'annuaire particulier et, d'autre part, les normes ouvertes.
LDAP (LightWeight Directory Access Protocol) a introduit une norme ouverte pour l'accès aux informations des annuaires. Cependant, les mécanismes propriétaires restent d'actualité pour le processus de duplication.
Les types d'objets que peut contenir un annuaire est quasi illimité.
Le protocole X500, la norme ISO la plus connue pour les annuaires, spécifie un schéma par défaut décrivant des classes d'objets et leurs attributs associés. Les annuaires X500 ont plusieurs ont plusieurs caractéristiques en commun, dont la plus importante est l' Unité Organisationnelle (OU = Organisational Unit).
L'OU est un objet conteneur dans l'annuaire car elle peut contenir d'autres objets qui peuvent être des feuilles ou d'autres objets conteneurs.
Les annuaires X500 peuvent supporter les relations hiérarchiques et permettent de créer des arborescences d'OU.
Dans Active Directory, cette fonction permet de déléguer des tâches d'administration à des sous-ensembles d'utilisateurs dans un domaine Windows 2000. L'OU assure un contrôle de délégation granulaire des ressources du domaine.
Dans Windows 2000, c'est l'OU qui est l'unité de délégation alors que dans NT4, c'est le domaine.
Le schéma est un autre élément essentiel d'un service d'annuaire puisqu'il est la structure interne et définit les relations entre les classes d'objets.
A chaque classe d'objets est associé un jeu d'attributs. Par exemple, la classe baptisée Personne peut avoir un attribut baptisé prénom, ce qui signifie que les objets de cette classe contiennent des informations sur le Prénom.
Comme dans un modèle orienté objet, les classes héritent d'autres classes, formant une hiérarchie.
Le schéma de AD est extensible. On peut le modifier pour créer de nouvelles classes et de nouveaux attributs dans les classes existantes.

Le concept utilisé jusqu'à Windows NT 4.0

Toutes les versions de Windows NT (3.1 à 4.0) ont utilisé le modèle de domaine.

Plusieurs serveurs peuvent fonctionner dans un domaine de Windows NT 4.0 avec une base de données de comptes d'utilisateur commune, l'annuaire.
La saisie et la modification des données se font de façon centralisée sur un contrôleur de domaine principal (PDC).
A partir de là, les données sont dupliquées vers les autres contrôleurs de domaines (BDC).
Pour les clients, ces contrôleurs de domaine assurent les même fonctions que les contrôleurs de domaine principaux et peuvent donc prendre le relais.
Toutefois, le modèle de domaine ne répond plus à toutes les exigences imposées de nos jours aux services d'annuaire moderne : l'absence de schéma évolutif empêche ce service d'annuaire de servir à d'autres applications, ce qui rend difficile voir impossible toute intégration d'applications sur ce service.
Le modèle de domaine ne peut être structuré de façon hiérarchique que sur deux niveau. Il est donc difficile de modéliser les structures complexe d'une grande entreprise.
Les normes ouvertes ne sont pas prises en charge. Les mécanismes d'accès et de duplication entre contrôleurs de domaines sont propriétaires. Dans le modèle de domaine, il n'est possible de créer que des hiérarchies à deux niveaux.

Par rapport au modèle initial de LAN Manager (dont il est inspiré), le modèle utilisé avec Windows NT autorise une hiérarchie à 2 niveaux, en introduisant le concept de domaines approuvés.
Cependant, les possibilités de délégation d'autorisations administratives, par exemple, sont très limités.
Dans le modèle de domaine approuvés, si A approuve B et que B approuve C alors A n'approuve par forcement C (non transitivité). Un tel modèle à plusieurs niveaux d'approbation n'est par réalisable dans le modèle de Windows NT 4.

Infrastructure de Active Directory

Deux notions du modèle de domaine ont été reprises : Active Directory utilise lui aussi des domaines et des contrôleurs de domaines. Le domaine est toujours une entité structurelle fondamentale du service d'annuaire. Les contrôleurs de domaines ont également été reprise et gèrent les informations de l'annuaire à l'intérieur d'un domaine.

Domaines

Dans AD, il est possible d'organiser les domaines au sein d'une structure hiérarchique .
Les domaines constituent toujours l'élément central et servent de conteneurs au sein de la structure globale d'Active Directory.
Les conteneurs sont des objets qui permettent de stocker d'autres objets, ils sont l'ossature du système. Dans AD, le conteneur le plus important est le domaine.
Un domaine peut contenir des machines , des utilisateurs et d'autres informations. Il s'agit de la structure logique modélisant l'entreprise. Ils servent à regrouper des systèmes similaires. Lors de la mise en place d'AD, ils doivent avoir été considérés du point de vue logique, puisqu'ils doivent regrouper des objets formant un ensemble.

Contrôleurs de domaine

Windows 2000 utilise également les contrôleurs de domaine. A l'inverses de l'ancienne structure de Windows NT 3.x/4, tous les contrôleurs ont la même importance (plus de distinction PDC/BDC). Il est dorénavant possible d'appliquer des modifications à n'importe quel contrôleur de domaine, Windows 2000 répercute ensuite automatiquement ces modifications sur les autres contrôleurs du réseau.

Arborescence de domaines

C'est une des nouveautés du système . Il s'agit d'une structure à l'intérieur de laquelle sont organisés les domaines.
Dans une arborescence, les domaines peuvent être organisés entre eux selon différents niveaux de hiérarchie.
Contrairement aux versions précédentes de Windows NT, la nouvelle version prend également en charge les relations d'approbation transitives.
Si le domaine C est un enfant du domaine B et si le domaine B est à son tour un enfant du domaine A, les utilisateurs du domaine A pourront accéder, en fonction de leurs autorisations d'accès, aux ressources du domaine C et réciproquement.

A présent il est donc possible de créer des structures plus complexes.La gestion des relations d'approbation par le système est désormais transparente.
Une arborescence de domaine doit disposer d'un espace de noms homogène (ou contigu). A cet effet, on utilise des noms DNS.
Si une arborescence s'appelle esi.fr, elle peut comporter des entités qui s'appelleront par exemple administration.esi.fr ou laboratoires.esi.fr .
En revanche, il est impossible d'intégrer dans cette arborescence un domaine situé dans esi.com.
Pour pouvoir administrer conjointement des domaines portant des noms différents, il existe une autres structure : la forêt.

Une arborescence de domaine est un ensemble de domaines qui s'approuvent mutuellement et appartiennent à un seul espace de noms contigue.

 

Unités Organisationnelles

A l'intérieur des domaines, il existe maintenant des possibilités de structuration.
Les unités organisationnelles servent à hiérarchiser les domaines qui sont très vastes.
Les structures hiérarchiques à plusieurs niveaux d'une entreprise peuvent être représentés par une imbrication d'unités organisationnelles.

Les OU (Organisational Units) sont le meilleur moyen de créer des structures hiérarchiques dans Active Directory. Outre le structuration d'informations, qui offre une clarté accrue dans les annuaires complexes notamment, les OU présentent un avantage important : elles tiennent lieu de frontière pour la délégations d'autorisations administratives.
Les autorisations peuvent à présent être déléguées de façon ciblée jusqu'au niveau de chaque unité organisationnelle.
La délégation peut être ciblée à un degré tel qu'il est par exemple possible de ne déléguer à une personne donnée que le droit de réinitialiser les mots de passe au sein d'une OU.

Une Unité organisationnelle est un objet conteneur qui permet de hiérarchiser Active Directory

Objets feuille

Les domaines et les unités organisationnelles constituent 2 types de conteneurs dans Active Directory. Ces conteneurs permettent dès lors de construire la structure hiérarchique du répertoire. Chaque conteneur peut ensuite contenir des objets enfants. L'objet feuille n'est en lui même pas un contenant.
Les principaux objets feuilles sont :
L'objet utilisateur : il définit un utilisateur précis dans un domaine
L'objet File d'impression : Cet objet sert à localiser une imprimante
L'objet Ordinateur : Cet objet identifie des systèmes qui appartiennent à un domaine.

Forêts

Une forêt est une arborescence de domaines ayant des espaces de noms contigus séparés. Une forêt est donc le regroupement de plusieurs arborescences parallèles de domaines ou de plusieurs domaines isolés.
A l'intérieur d'une forêt, des relations d'approbation transitives sont appliquées entre les domaines.

Les forêts présentent cependant 1 inconvénient : dans Active Directory tous les domaines d'une forêt doivent avoir le même schéma, Windows 2000 ne permet pas de fusionner plusieurs forêts ou schémas.

Une forêt est constituée d'une ou plusieurs arborescences de domaines ne formant pas d'espace de noms contigu mais partageant un schéma, une configuration et un catalogue global commun.

Le Directory Information Tree

Dans NT 4.0, la base de données SAM (Security Accounts Manager) contient toutes les informations sur les utilisateurs, les ordinateurs et les groupes pour un domaine.
La base de données SAM étant une ruche de la base de Registre, elle se trouve limitée par l'évolutivité même du registre.
Dans les contrôleurs de domaines Windows 2000, le Directory Information Tree (DIT) ou arborescence d'information d'annuaire remplace la SAM. Le DIT est basé sur le moteur de base de donnée Microsoft Jet et est identique à celui qu'utilise Exchange Server.
Le fichier ntds.dit, qui se trouve dans le dossier %systemroot%\ntds est l'équivalent Windows 2000 du fichier SAM. C'est lui qui stocke la plupart des données de l'annuaire.
En général, le DIT est plus grand que la SAM car Active Directory contient plus d'informations et de types d'objets que le service d'annuaire de NT 4.0 . Dans un domaine, le contenu du fichier ntds.dit se duplique dans tous les contrôleurs de domaines.

Le DIT stocke la plupart des informations de l'annuaire dans le fichier ntds.dit. Il est répliqué sur les contrôleurs de domaine.

 

Le catalogue global

La recherche d'informations dans Active Directory peut s'avérer complexe. En principe, un utilisateur doit savoir à quel endroit de l'annuaire se trouvent les informations. Il doit par exemple savoir que l'utilisateur Oysel_p se trouve dans esi.fr et, au sein de cette arborescence, dans administration.
Le catalogue global permet donc de trouver rapidement les informations. Il s'agit d'un index de toutes les arborescences de domaines d'une forêt.
Les informations sont ainsi très facilement localisables. Le catalogue global mémorise l'endroit exact où se trouvent les informations.
En règle générale, le catalogue global est stocké sur une à deux serveurs par site. Ainsi, la recherche d'informations dans l'annuaire peut s'effectuer dans tous les cas par le biais de requêtes locales.

Le catalogue global est une index d'objets dans une forêt et permet aux utilisateurs de trouver rapidement les objets dans l'annuaire.