Verzeichnisdienste (X.500)

Ein Verzeichnis ist eine Sammlung von Informationen und Objekten, die in einer bestimmten Reihenfolge und Ordnung gespeichert sind. Die Benutzeroberfläche (Interface), mit der auf die Informationen und Objekte zugegriffen (Suchen, Ändern, Hinzufügen, Löschen) werden kann, nennt man Verzeichnisdienst. Der Verzeichnisdienst ist ein Dienst zum Verwalten und Bereitstellen von Informationen über technische Ressourcen, Organisationseinheiten und Personen. Beispiele für Verzeichnisdienste sind X.500, LDAP und DNS.

Ein Verzeichnis nach ISO 9594-1 ist baumartig strukturiert. Dort sind die Daten statisch abgelegt. Jeder Eintrag kann beliebig viele Werte oder Attribute haben. Und jede Ebene kann beliebig viele Einträge haben.
Das Verzeichnis ist eine spezielle Datenbank, in der die Benutzer, Anwendungen und Ressourcen und deren Eigenschaften und Standort gespeichert sind. Ein Benutzerverzeichnis enthält z. B. die Adresse, die Telefonnummer und E-Mail-Adresse. Ein Druckerverzeichnis enthält z. B. Informationen über Standort, Druckerart, druckbare Seiten pro Minute und Zugriffsrechte.

X.500

Im Rahmen der X-Serie der ITU (International Telecommunication Union) wurde 1988 eine Empfehlung für Verzeichnisdienste veröffentlicht. Die Empfehlung von X.500 wurde als Standard von der ISO (International Standards Organization) aufgenommen.
Verzeichnis nach ISO 9594-1
Ein Verzeichnis nach X.500 ist ein verteiltes Verzeichnis auf das global zugegriffen werden kann. Die baumartige Struktur hat ein Wurzelobjekt mit dem Namen Root. Die Daten im Verzeichnis bezeichnet man als Directory Information Base (DIB). Mehrere Daten in einem Verzeichnis sind ein Verzeichnis-Baum, der als Directory Information Tree (DIT) bezeichnet wird.
Jeder Eintrag im Verzeichnisbaum gehört einer Objekt-Klasse an, in der Attribute definiert sind. Alias-Einträge (Verknüpfungen) ermöglichen einen Eintrag an mehreren Stellen im Verzeichnisbaum. Trotzdem muss dieser Eintrag nur an einer Stelle gepflegt werden.
X.500
Der Zugriff auf das Verzeichnis erfolgt mit dem Directory User Agent (DUA). Dafür stehen einige Operationen zu Verfügung. Z. B. Lesen, Vergleichen, Suchen Hinzufügen, Löschen und Ändern. Um den Zugriff für Personen und Objekte einzuschränken steht für die Authentifizierung je eine Variante mit Passwort und Public-Key-Zertifikat zu Verfügung.
Die dezentrale Datenhaltung kann auf mehreren Servern realisiert werden. Diese kommunizieren miteinander, um Anfragen für einen anderen Datenbestand weiterzuleiten. Die einzelnen Server werden als Directory System Agents (DSA) bezeichnet. Um die Lesezugriffe auf das Verzeichnis zu beschleunigen, wird das Verzeichnis auf mehreren Servern gespiegelt. Dazu wird ein Master-Server eingerichtet, auf dem der Datenbestand erstellt, gepflegt und bearbeitet werden kann. Auf einem oder mehreren Servern wird in regelmäßigen Abständen eine Kopie des Datenbestandes gespeichert. Diesen Vorgang (Spiegelung) nennt man Replikation. Dadurch erhöht sich auch die Ausfallsicherheit des Verzeichnisses.

X.500-Protokolle

Protokoll Abkürzung Beschreibung
Directory Access Protocol DAP Definiert die Kommunikation zwischen Directory User Agent (DUA) und Directory System Agent (DSA).
Directory System Protocol DSA Definiert die Kommunikation zwischen den Directory System Agents (DSA).
Directory Information Shadowing Protocol DISP Definiert die Replikation zwischen Master- und Slave-Server.
Directory Operational Binding Management Protocol DOP Definiert die administrative Kommunikation zwischen zwei Directory System Agents (DSA).

Übersicht: X.500-konforme Verzeichnisdienste

Nahezu alle verfügbaren Verzeichnisdienste basieren auf X.500.

DNS ist zwar kein X.500-konformer Verzeichnisdienst, aber als solcher zu verstehen.