Windows 2000/Active Directory ersetzt NT-Domänenmodell

Microsofts Verzeichnisdienst wird Schaltstelle in PC-Netzen

19.03.1999
Mit Windows 2000 will Microsoft das bisherige flache NT- Domänenmodell in einen hierarchisch aufgebauten Verzeichnisdienst überführen. Das "Active Directory" unterstützt offene Standards wie X.500 oder LDAP und soll in PC-Netzen zur Schaltstelle für die Verwaltung von Benutzern, Netzressourcen und Anwendungen werden. Michael Beigl* und Christian Segor* beschreiben das ehrgeizige Vorhaben der Gates-Company.

Microsoft erhebt mit dem Active Directory den Anspruch, die Verwaltung von PC-Netzen unter Windows 2000 zu erleichtern und gleichzeitig die Sicherheit durch einheitlichen Zugriff und größere Transparenz zu erhöhen. Wie bei anderen namhaften Netzbetriebssystem-Herstellern, beispielsweise Novell, sollen X.500-Strukturen und das Lightweight Directory Access Protocol (LDAP) als Basis dienen. X.500 bildet dabei den neuen Rahmen für bisherige Werkzeuge und proprietäre Strukturen.

In X.500 werden nicht nur Dateien und Verzeichnisse hierarchisch benannt und eingeordnet, auch alle anderen Objekte im Betriebssystem wie Benutzer oder Dienste bekommen einen eindeutigen Platz im X.500-Baum zugewiesen (siehe Kasten "Vorbild für das Active Directory: X.500").

Diese Vereinheitlichung für die diversen Systemobjekte in Windows (Dateien, Benutzer und Drucker etc.) in Verbindung mit der einfachen Möglichkeit, per Programm oder Script darauf zuzugreifen, erlaubt es, viele bislang mühsame Verwaltungsarbeiten einfacher und schneller zu erledigen.

Offensichtlich unterscheiden sich X.500-Namen von Namen, wie sie im Internet gängig sind. Sie enthalten in der Regel mehr Strukturinformationen, so daß eine Abbildung immer von X.500- in Internet-Namen erfolgt. Microsoft definiert deshalb im Active Directory Umsetzungsfunktionen, die eine solche Abbildung der X.500-Namen auf die Internet-Konvention ermöglichen. Beispielsweise müssen für Mail-Adressen die Namen von Personen innerhalb einer Firma auf einen flachen, für die Organisation einheitlichen Namensraum abgebildet werden. Dafür hat Microsoft den User Principal Name (UPN) eingeführt: Herr A. Maier erhält zum Beispiel in der Firma Acme den unternehmensweit eindeutigen und von der Abteilung unabhängigen UPN AMaier und ist damit via E- Mail-Namen AMaieracme.de erreichbar.

Auch Internet-Domänen-Namen der Domain-Name-Service-(DNS- )Nomenklatur müssen ihre Entsprechung auf X.500 erhalten: Für diese Umsetzung wird das Internet vom Active Directory als eine Organisation mit einer hierarchischen Struktur von Domain Components (DCs) gesehen. Firma X, die den Namen X unter der Top- Level Domäne "de" besitzt, verfügt also den Internet-Namen "X.de" und den X.500-Namen "O=Internet/DC=de/DC=X".

Active Direcory hält sich auch in seinem hierarchischen Aufbau an die Logik des Internet: "Domain1.X.de" besitzt den Namen "O=Internet/DC=de/DC=X/DC= Domain1". Daraus folgt, daß für jede neue Windows-2000-Domäne ein neuer Name belegt werden muß. Möchte Firma X jetzt eine weitere, von Domäne1 unabhängige Domäne mit Namen "Domäne2" einrichten, so erhält diese dann den Namen "O=Internet/ DC=de/DC=X/DC=Domäne2" oder "Domäne2.X.de". Eine Domäne3, die wiederum von Domäne2 abhängig sein soll (also im DIT "unter" der Domäne2 zu liegen kommt), heißt "O=Internet/ DC=de/DC=X/DC=Domäne2/ DC=Domäne3" oder "Domäne3.Domäne2.X.de". Jeder Domänenbetreiber muß daher seine Domänen selbständig verwalten. Dabei hat er zwei Möglichkeiten: Entweder er besitzt einen eigenen, bei der zuständigen Internet-Behörde eingetragenen Domain Name Server (DNS), oder er richtet für sich sein "privates" Internet mit eigenem, nicht nach außen sichtbaren DNS ein. Auch im letzteren Falle entstehen ihm keine großen Nachteile: Rechner, die im Internet sichtbar sein sollen (etwa der Web-Server der Firma) können ja noch einen zweiten, vom Provider verwalteten Namen und Internet-Adresse bekommen und sind somit weiterhin im Internet präsent.

Schema definiert Verzeichnisobjekte

Der wichtigste Bestandteil des Active Directory (neben den Daten im Verzeichnis selbst) ist das Schema. Wie bereits oben beschrieben, handelt es sich dabei um die Menge aller Objektattribute und Objektklassen, die im Verzeichnis gespeichert werden können. Eine Klasse besteht aus einer Liste zulässiger Attribute und den erlaubten Vorgängern im Verzeichnisbaum - somit wird festgelegt, wo eine Instanz einer Klasse gespeichert werden darf und wo nicht. Ein Beispiel für eine Klasse ist "User", die dazugehörende Attributsliste umfaßt unter anderem "Common Name" und "profilePath", und der erlaubte Vorgänger ist "organizationalPerson".

Das Active-Directory-Schema kann vom Administrator bei Bedarf erweitert werden. Es können sowohl einzelne Attribute als auch neue Objektklassen hinzugefügt werden. Das Löschen ist allerdings nicht mehr möglich, eine Klasse oder ein Attribut können allenfalls deaktiviert werden. Der Grund dafür liegt in der zentralen Rolle, die ein Schema in einem Verzeichnisdienst spielt: Hier wird letztendlich die Struktur des Verzeichnisses beschrieben. Würde man das Löschen von Schema-Einträgen erlauben, müßte dann das vollständige Verzeichnis nach Instanzen der betroffenen Klassen durchsucht und die entsprechenden Werte entfernt werden - im Zweifelsfall nach Rückfrage beim Benutzer.

Ferner können in jeder Klasse alle Attribute als optional oder mandatory gekennzeichnet werden. Nachträgliche Änderungen dieser Einstellung sind allerdings - zumindest bei nicht selbst eingerichteten Klassen - mit äußerster Vorsicht zu genießen. Setzt man beispielsweise eines der vielen Attribute der Klasse "User" auf mandatory und versucht danach, einen neuen Benutzer anzulegen, wird man kläglich scheitern, zumindest in der von uns verwendeten Betaversion (Build 1877). In der endgültigen Ausführung von Windows 2000 wird Microsoft voraussichtlich das Ändern dieser Attributeinstellung bei vordefinierten Klassen unterbinden.

Zukünftig sollen Directory-Server die bisherigen Domain Controller ersetzen. Damit scheint sich auch das unter Windows NT gültige, flache Domänenkonzept zu ändern. Begriffe wie "Baumdomänen" und "Domänenbäume" sowie die Integration von X.500-Konzepten vermitteln den Eindruck eines hierarchischen Ansatzes. Das ist allerdings nur bedingt richtig: Weiterhin stellt eine Domäne die Grenze für Sicherheitsrichtlinien dar ("Security Boundary"). Das bedeutet, daß in jeder Domäne eigene Sicherheitseinstellungen gelten können und somit Benutzernamen domänenweit eindeutig sein müssen. Folglich beschreibt der Begriff Baumdomäne weniger eine architektonische als eine kosmetische Eigenschaft von Windows 2000: Es ist möglich, Domänenobjekte in Baumstrukturen zu gliedern, indem Unterverzeichnisse (sogenannte Organizational Units in X.500-Nomenklatur) eingerichtet werden. Der Namensraum hingegen bleibt flach. Ein Benutzer Maier in der Domäne Test bleibt "test

maier", egal ob er im (Unter)ordner /O=Internet/ DC=de/DC=X/DC=test/OU= users/OU=Verkauf oder .../OU= users/OU=Einkauf angelegt wurde. Folglich können für zwei Abteilungen innerhalb einer Domäne keine Objekte gleichen Namens angelegt werden, obwohl ja der X.500-konforme Distinguished Name für beide Objekte unterschiedlich ist. Die Baumdomäne ist somit nur eine mehr oder weniger nützliche neue Sichtweise auf das herkömmliche Domänenkonzept.

Ganz im Gegensatz dazu steht der Begriff des Domänenbaums. Es ist mit dem Active Directory möglich, Domänen hierarchisch anzuordnen. Sie greifen auf ein gemeinsames Schema und eine Konfiguration zurück. Ein solcher Domänenbaum bildet einen durchgehenden Namensraum und setzt eine Vertrauensstellung unter den Mitgliedsdomänen voraus. Das bedeutet, daß Benutzerkonten in allen Domänen des ganzen Baums gültig sind, unabhängig von ihrer Ursprungsdomäne.

Um das Active Directory und dessen Baumstruktur effizient nutzen zu können, muß ein Administrator also umdenken. Der herkömmliche Ansatz, Domänen zur Grobgliederung zu verwenden (typischerweise eine Domäne pro Firmenniederlassung oder ähnliches), sollte ersetzt werden durch eine feinkörnigere Einteilung von Benutzern und Ressourcen wie Druckern oder Server-Laufwerken. Es bietet sich an, Domänen auf Abteilungsebene einzurichten und diese bei größeren Abteilungen weiter zu untergliedern.

Die so entstehenden Domänenbäume können zu einem allumfassenden Baum zusammengefügt werden, wenn sich alle Domänen im selben Namensraum befinden. Ist dies nicht der Fall, entsteht eine Ansammlung mehrerer Bäume, die dann folgerichtig Wald ("Forrest") heißt. Wälder zeichnen sich durch ein gemeinsames Schema, die gleiche Konfiguration und zwischen den einzelnen Bäumen bestehenden Vertrauensstellungen aus, die explizit vergeben werden müssen. Jeder beteiligte Baum repräsentiert einen eigenen Namensraum. Somit eignen sich Wälder beispielsweise dazu, zwei voneinander unabhängige Organisationen zu einer Einheit zusammenzufügen. Bei Firmenfusionen ist leider ein Zusammenschluß zweier bereits existierender Bäume zu einem Wald nicht ohne weiteres möglich, da die Mitgliedschaft in Baum oder Wald beim Einrichten der Domäne festgelegt werden muß.

Im Gegensatz zu Windows NT 4.0 kann ein Directory-Server allerdings auch nachträglich wieder zum einfachen Domänenmitglied degradiert werden. Microsoft will später Tools anbieten, die zwei Bäume zu einem verschmelzen. Auf diese Weise kann dann auch nachträglich ein Wald "angepflanzt" werden.

Die dem neuen Domänenkonzept eigene Baumstruktur erlaubt es auf einfache und effiziente Art und Weise, die Vergabe von Zugriffsrechten auf einzelne Objekte transitiv zu gestalten: Es ist möglich, bestimmten Benutzern administrativen Zugriff auf einzelne Teilobjekte einzuräumen, ohne wie bisher den Benutzer gleich ganz zum Administrator machen zu müssen. Beispielsweise wäre es denkbar, in jeder Abteilung einem Mitarbeiter administrativen Zugriff auf den Abteilungsdrucker (oder sogar nur auf bestimmte Attribute wie etwa Papier- oder Tonerstand) zu geben. Somit kann die Verwaltung eines Netzes stark dezentralisiert werden. Diese feingranulare Rechtevergabe ("delegation" genannt) ist auf der Ebene einer Organizational Unit definiert - die domäneninterne Baumstruktur hat also doch eine mehr als kosmetische Bedeutung.

Authentifzierung erfolgt über Kerberos

Für alle Authentifizierungsvorgänge wird Kerberos verwendet, wobei jeder Windows-2000-Server als Kerberos Key Distribution Center auftritt. Die von Microsoft verwendete Kerberos-Implementierung ist konform mit dem in RFC 1510 definierten Standard, das bedeutet insbesondere, daß die Interoperabilität mit anderen (RFC- konformen) Kerberos-Umsetzungen gewährleistet ist.

Um - vor allem in verteilten Installationen - Objekte schnell im Domänenbaum (oder auch in einem Domänenwald) finden zu können, führt Microsoft den Global Catalog (GC) ein. Jedes im Domänenbaum gespeicherte Objekt wird zusätzlich im GC eingetragen, wobei immer ein GC pro Baum oder gegebenenfalls pro Wald existiert.

Auf diese Art ist es möglich, Objekte in entfernten Domänen effizient aufzufinden, ohne das entfernte Verzeichnis direkt kontaktieren zu müssen. Ein global verteilter Domänenwald wäre ohne einen solchen zentralen Nachschlagdienst nicht denkbar. Damit der GC nicht zu groß wird, werden dort nur ausgewählte Attribute von Objekten gespeichert. Dazu zählen natürlich der Distinguished Name, aber auch andere oft benötigte Werte, bei Usern zum Beispiel Anmeldename oder E-Mail-Adresse.

Neben der Verwendung des GC läßt sich die Verfügbarkeit des Gesamtsystems - und damit auch die Produktivität - vergrößern, indem Daten repliziert, also auf mehreren Rechner gleichzeitig gehalten werden. Für das Active Directory realisierten die Entwickler in Redmond die sogenannte Multi-Master-Replikation, was bedeutet, daß alle Kopien eines Objekts geändert werden können.

In diesem Zusammenhang stellt sich die Frage nach der Konsistenzerhaltung der einzelnen Objekte: Was passiert, wenn auf zwei Verzeichnis-Servern dasselbe Objekt gleichzeitig verändert wird und beide danach unterschiedliche Werte haben? Dieses Problem ist bisher in keinem verteilten System befriedigend gelöst worden, auch Microsoft macht da keine Ausnahme. Für die Erkennung von Konflikten wird die Update Sequence Number verwendet. Dabei handelt es sich um ein Konzept, das letztendlich auf Versionsvektoren basiert, die 1983 eingeführt wurden. Eine Auflösung von Konflikten findet nicht statt, das bedeutet, daß der letzte schreibende Zugriff gewinnt und alle vorherigen Änderungen verlorengehen.

Von einem akademischen Standpunkt aus gesehen ist diese Lösung alles andere als befriedigend, allerdings muß fairerweise angemerkt werden, daß in der Praxis der Großteil aller Zugriffe Leseoperationen sind und echte Schreibkonflikte im Alltagsbetrieb eher unwahrscheinlich sind. Außerdem erfolgt die Konfliktbehandlung nicht auf Objekt-, sondern auf Attributebene, was die potentielle Kollisionsgefahr nochmals verringert.

Verzeichnis regelt die Programminstallation

Im Rahmen von Microsofts Zero Administration Initiative wurde das Active Directory mit Funktionen versehen, die die Total Cost of Ownership (TCO) reduzieren sollen. Dazu zählen etwa die Möglichkeit, vom Benutzer benötigte Anwendungen automatisch zu installieren und zu konfigurieren, die dynamische Verwendung von im gesamten Verzeichnis angebotenen Diensten und die oben beschriebene Erweiterbarkeit des Schemas. Natürlich müssen alle Anwendungen, die diese Funktionalität verwenden, für die Interoperation mit dem Active Directory programmiert worden sein. Ältere Software muß weiterhin von Hand oder mit herkömmlichen Methoden wie beispielsweise dem Systems Management Server administriert werden.

Active Directory soll abwärtskompatibel sein

Ursprüngliche Befürchtungen, daß Microsoft in der NT-Welt keinen Stein mehr auf dem anderen läßt, haben sich nicht bewahrheitet. Windows 2000 kann in einem abwärtskompatiblen Modus gefahren werden, so daß in einer Installation alte und neue Systeme koexistieren können. Den vollen Funktionsumfang des Active Directory kann man aber nur ausschöpfen, wenn das gesamte Netz auf Windows 2000 umgestellt wird. Wie jedes andere System-Update bringt eine solche Umstellung natürlich auch einige Nachteile mit sich, von dem damit verbundenen Arbeitsaufwand ganz zu schweigen.

Ob das Active Directory bei den einzelnen Benutzergruppen - Entwickler, Administratoren und Anwender - auf uneingeschränkte Begeisterung stoßen wird, muß sich zeigen. Dies hängt nicht zuletzt von der Qualität der Implementierung ab, die Grundkonzepte sind jedenfalls vielversprechend.

Angeklickt

Der hierarchisch organisierte Verzeichnisdienst "Active Directory" soll das häufig kritisierte, flache Domänenmodell von Windows NT ersetzen. Er verwaltet nicht nur Benutzer und Netzressourcen, sondern spielt auch eine wichtige Rolle für das Applikations- Management. Als Grundlage für das neue Verzeichnis dienen offene Standards wie X.500, LDAP, DNS oder Kerberos. Die Akzeptanz des Active Directory wird nicht zuletzt von dessen technischer Qualität abhängen.

*Michael Beigl ist wissenschaftlicher Mitarbeiter am Telecooperation Office an der Uni Karlsruhe. Christian Segor ist Mitarbeiter am Telecooperation Office an der Uni Karlsruhe.