Windows 2000

Vorbild für das Active Directory: X.500

19.03.1999

X.500 wurde 1988 von dem Normierungsgremium CCITT spezifiziert als "eine Menge offener Systeme, die gemeinsam eine Datenbank halten, in der Informationen über Objekte der realen Welt abgelegt sind". Das viel zitierte LDAP bietet eine Möglichkeit, über das Internet auf die Daten in einer X.500-Struktur zuzugreifen. Informationen über die Objekte werden in sogenannten Attributen gespeichert. So enthält beispielsweise ein Objekt der Klasse "Person" ein Attribut "Name". Um die Erweiterbarkeit des Systems zu sichern, können zu jeder Objektklasse auch andere, beliebige Attribute hinzugefügt werden. So kann man die Klasse "Person" mit dem Attribut "Adresse" ergänzen. Eine beliebige Attributdefinition würde natürlich in kürzester Zeit zu einem Chaos in der Verwaltung von Objektklassen führen, deshalb müssen für jede Objektklasse alle erforderlichen und optionalen Attribute vorher in einem Schema angegeben werden. Die Angabe in einem Schema sichert außerdem, daß Objekte aus der gleichen Klasse auch die gleichen Attribute enthalten.

Die Identifizierung der Objekte erfolgt in X.500 und dem Active Directory über den Distinguished Name (DN), welcher weltweit eindeutig ist. Der Aufbau eines Namens ist dabei hierarchisch: Beispielsweise besitzt Herr Maier, welcher in der Abteilung 1 (Organizational Unit) der Firma Acme in Deutschland arbeitet, den Namen "CN=Maier/OU= Abt1/O=Acme/C=de". Wird Herr Maier nun innerhalb des Verzeichnisknotens "OU=Abt1/O=Acme/C=de" aufgerufen, kann als Relative DN (RDN) nur "CN=Maier" verwendet werden, um Schreibarbeit zu sparen. Alle Objektnamen spannen einen Baum, den sogenannten Directory Information Tree (DIT), auf.

Ein X.500 Directory Information Tree besteht aus zwei Objekttypen: Objekten und Containern. Während Objekte konkrete Dinge repräsentieren, bezeichnen Container "Hilfsobjekte". Diese werden benötigt, um in einem Baum Knoten, die keine Blätter sind, darstellen zu können. Container sind Knoten, die darunterliegende Teilbäume "enthalten" (daher der Name Container).

In einem X.500-Baum können damit weltweit verschiedene Directory- Bäume zusammengefügt werden: So kann ein Microsoft Active Directory irgendwo in seine Baumstruktur einen entfernten LDAP- Verzeichnisbaum als Virtual Container einbinden und diesen somit zum Teil seiner Struktur machen. Objekte, deren Strukturen und Funktionen dem Active Directory bekannt sind, können dort auch bearbeitet werden. So lassen sich über das Active Directory beispielsweise für Benutzer Operationen wie "Hinzufügen" und "Rechte zuweisen" anwenden. Diese Funktionalität ist - wie dies in der Microsoft-Welt üblich ist - über eine offengelegte COM- Schnittstelle, das Active Directory Service Interface (ADSI), für jeden Programmierer zugänglich.