Verzeichnisdienste (X.500)

Ein Verzeichnisdienst ist ein Dienst zum Verwalten und Bereitstellen von Informationen über technische Ressourcen, Organisationseinheiten und Personen. Der Standard X.500 beschreibt, wie Verzeichnisdaten zur Verfügung gestellt und abgerufen, und wie die Authentifizierung der Zugriffe, die Replikation und Verwaltung der Verzeichnisdaten gehandhabt werden.

Je größer ein Netzwerk ist, umso wichtiger ist eine effiziente Verwaltung und Kontrolle aller darin enthaltenen Ressourcen (Server, Speicherplatz, Laufwerke, Drucker, Benutzer, etc.). Hierfür bietet sich die Nutzung eines Verzeichnisdienstes an.
Im Rahmen der X-Serie der ITU (International Telecommunication Union) wurde 1988 eine Empfehlung für Verzeichnisdienste unter der Bezeichnung X.500 veröffentlicht und als Standard von der ISO (International Standards Organization) aufgenommen.

Beispiele für Verzeichnisdienste:

Verzeichnis nach ISO 9594-1

Ganz allgemein ist ein Verzeichnis eine Sammlung von Informationen, die als Objekte in einer bestimmten Reihenfolge und Ordnung abgelegt sind. Die Benutzeroberfläche (Interface), mit der der Zugriff auf die Informationen erfolgt (Suchen, Ändern, Hinzufügen, Löschen), nennt man Verzeichnisdienst.

Verzeichnis nach ISO 9594-1

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 selber ist eine spezielle Datenbank, in der die Benutzer, Anwendungen und Ressourcen und deren Eigenschaften und Standort gespeichert sind. Ein Benutzerverzeichnis enthält z. B. Anschrift, Telefonnummer und E-Mail-Adresse. Ein Druckerverzeichnis enthält z. B. Informationen über Standort, Druckerart, druckbare Seiten pro Minute und Qualität.

Verzeichnis nach X.500

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 Baumstruktur orientiert sich an den Regeln der objektorientierten Programmierung. Es gibt Objekte, Klassen, Vererbung und Polymorphie. Es geht darum, die einzelnen Teile einer Struktur in Objekten abzubilden und miteinander in Beziehung zu setzen. Die Objekte werden im Baum als Verzeichniseintrag bezeichnet.

Die Gesamtheit der 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.

Objekte (X.500)

Ein einzelnes Objekt wird über einen eindeutigen Namen, den Distinguished Name (dn), im Directory Information Tree (DIT) angelegt. Vergleichbar mit dem Namen einer Datei in einem Dateisystem.

Man unterscheidet zwischen zwei Objektarten. Die eine ist die Organisational Unit (OU), bei der es sich um ein Containerobjekt handelt. Container werden zum Aufbau der Struktur verwendet. Man kann darin weitere Objekte anlegen.
Und dann gibt es noch die Blattobjekte, die zum Beispiel mit Kennzeichnungcommonname (cn) und User-ID (uid) im DIT eingetragen sind. Ein solches Objekt dient zur Verwaltung einer Ressource.

Attribute, Objektklassen und Schema (X.500)

Alle Objekte haben Eigenschaften, die Attribute genannt werden. Die Attribute unterscheiden sich je nachdem, um welche Art von Objekt es sich handelt. Ein Attribut hat einen Namen, mit dem das Attribut innerhalb eines Objekts eindeutig referenziert werden kann.
Weil unterschiedliche Objekte gleiche Arten von Attributen haben können, werden Attribute zu Objektklassen zusammengefasst. Objektklassen werden wiederum in Gruppen zu einem Schema zusammengefasst.

Aufgaben eines Verzeichnisdienstes (Auszug)

  • Die Verzeichnis-Struktur auf mehreren Servern verteilen.
  • Verwaltung in objektorientierten Datenmodellen.
  • Vererbung von Eigenschaften auf andere Objekte.
  • Verwaltung von Benutzern und Gruppen.
  • Verwaltung von Weiterleitungen/Aliasen.
  • Authentifizierung von Benutzern für die Anmeldung.

Zugriff auf ein Verzeichnis (X.500-Architektur)

X.500

Die X.500-Architektur folgt dem Prinzip der Client-Server-Architektur. Es gibt also eine X.500-Client-Komponente, die als Directory User Agent (DUA) bezeichnet wird. Damit erfolgt der Zugriff auf das Verzeichnis. Dafür stehen einige Operationen zur Verfügung. Z. B. lesen, vergleichen, suchen, hinzufügen, löschen und ändern.

Die Datenhaltung erfolgt auf einem oder mehreren Directory System Agents (DSA). Das entspricht einer X.500-Server-Komponente. Eine dezentrale Datenhaltung kann auf mehreren Servern realisiert werden. Diese kommunizieren miteinander, um Anfragen für einen anderen Datenbestand weiterzuleiten. Die einzelnen Server werden ebenfalls als Directory System Agents (DSA) bezeichnet.
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 Datenbestands gespeichert. Diesen Vorgang nennt man Replikation (Spiegelung). Dadurch erhöht sich auch die Ausfallsicherheit des Verzeichnisses.

X.500-Protokolle

Die Nutzung vorhandener Protokolle ist bei X.500 nicht vorgesehen. Die Kommunikation zwischen einem X.500-Client (Directory User Agent, DUA) und einem X.500-Server (Directory System Agent, DSA) muss auf allen 7 Schichten des OSI-Modells und mit viel Aufwand realisiert werden.

Protokoll Abkürzung Beschreibung
Directory Access Protocol DAP Definiert die Kommunikation zwischen Directory User Agent (DUA) und Directory System Agent (DSA).
Directory System Protocol DSP 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.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Alles was Sie über Kommunikationstechnik wissen müssen.

Kommunikationstechnik-Fibel

Die Kommunikationstechnik-Fibel ist ein Buch über die Grundlagen der Kommunikationstechnik, Übertragungstechnik, Netze, Funktechnik, Mobilfunk, Breitbandtechnik und Voice over IP.

Das will ich haben!