Seitentitel: LDAP

LDAP

 

Das Lightweight Directory Access Protocol (LDAP) ist in der Computertechnik ein Netzwerkprotokoll, das die Abfrage und die Modifikation von Informationen eines Verzeichnisdienstes (eine im Netzwerk verteilte hierarchische Datenbank) erlaubt. Die aktuelle Version ist in RFC 2251 spezifiziert.

 

LDAP ist ein Netzwerkprotokoll, das bei so genannten Verzeichnisdiensten (engl. directories) zum Einsatz kommt. Es vermittelt die Kommunikation zwischen dem LDAP-Client (beispielsweise einem Mailserver oder digitalem Adressbuch) mit dem Directory Server. Dabei werden alle Protokoll-spezifischen Funktionen geboten, die für eine solche Kommunikation notwendig sind: Anmeldung am Server (sog. bind), die Suchabfrage (Suche mir bitte alle Informationen zum Benutzer mit dem Namen 'Joe User'!) und die Modifikation der Daten (Beim Benutzer 'Joe Cool' ändere bitte das Passwort!).

 

Neuere Implementierungen, die über RFC 2251 hinaus gehen und Gegenstand für eine mögliche Erweiterung des Protokolls sind, berücksichtigen die Replikation der Daten zwischen verschiedenen Directories.

 

LDAP wurde mit dem Ziel entwickelt, Verzeichnisdienste einfacher und somit populärer zu machen. Aus diesem Grund setzt LDAP auf einem TCP/IP-Stack auf und implementiert nur einige der DAP-Funktionen und Datentypen. Trotzdem lassen sich mit den vorhandenen LDAP-Funktionen alle anderen emulieren.

 

Funktionsweise

 

Jedes LDAP-Verzeichnis hat eine bestimmte Struktur. Die Struktur wird definiert von den verwendeten Schemata. Ein LDAP Schema definiert jeweils Objekt-Klassen mit ihren Attributen, z.B. die Klasse "person" oder die Klasse "organisation".

 

Die Verzeichniseinträge heißen bei LDAP "Objekte". Jedes Objekt gehört zu mindestens einer, in der Regel aber zu mehreren Klassen. So sind für die Daten einer Person, ihrer E-Mail-Adresse und ihrer Passwörter nicht etwa drei Objekte notwendig, sondern dasselbe Objekt gehört zu drei Klassen. Diese könnten in diesem Beispiel person, inetOrgPerson und posixAccount heißen.

 

Jedes Objekt ist eigenständig und aus Attributen zusammengesetzt. Ein einzelnes Objekt wird eindeutig durch den Distinguished Name (DN) identifiziert.

 

Jedes Attribut eines Objekts hat einen bestimmten Typ und einen oder mehrere Werte. Die Typenbezeichnung eines Attributs sind meist einfach zu merkende Kürzel wie z.B. cn für common name, ou für organizational unit, s für state, c für country oder mail für e-mail address. Die erlaubten Werte eines Attributs sind vom Typ abhängig. So könnte ein mail-Attribut die Adresse hans.wurst(at)beispiel.de enthalten, ein jpegPhoto-Attribut dagegen würde ein Foto als binäre Daten im JPEG-Format speichern.

 

Die Objekte werden in einer hierarchischen Struktur gespeichert, die politische, geographische oder organisatorische Grenzen widerspiegelt. Die größten Einheiten werden an die Spitze des Verzeichnisbaumes gestellt, der sich nach unten immer weiter auffächert.

 

Einzelne LDAP-Server sind für einzelne Teile des Verzeichnisbaumes zuständig, seine Partition. Stellt ein Client eine Anfrage, für die der Server nicht zuständig ist, kann der Server den Client an einen anderen Server verweisen. LDAP-Server lassen sich redundant aufbauen. Hierzu wird oft eine Master-Slave-Konfiguration verwendet. Versucht ein Client Daten auf einem Slave-Server zu ändern, wird er an den Master verwiesen. Die Änderungen auf dem Master-Server werden dann an alle Slave-Server weitergegeben.

 

Da viele verschiedene Schemata in verschiedenen Versionen in Benutzung sind, ist die Vorstellung eines "globalen" alles umfassenden LDAP-Verzeichnisses nicht real. LDAP-Server werden als zentraler Verzeichnisdienst für verschiedene Zwecke in verschiedenen Größen eingesetzt, die Objekthierarchie bleibt aber in der Regel auf eine Organisation beschränkt.

 

Unterstützung von LDAP

 

Viele Anbieter von Verzeichnisdiensten unterstützen LDAP, z.B.:

 

  • Apple (durch Open Directory)
  • AT&T
  • Banyan Vines
  • Critical Path
  • Hewlett-Packard
  • GONICUS
  • IBM/Lotus
  • Microsoft (durch ADS)
  • Novell (durch NDS)
  • Oracle (durch Oracle Internet Directory)
  • SGI
  • openLDAP
  • Siemens (durch Siemens DirX Directory Server)
  • Sun (durch Sun ONE Directory Server)

 

Auch Client- und Server-Software kann LDAP-Dienste benutzen: Mozillas E-Mail-Programm Thunderbird, IBMs Lotus Notes, Novell Evolution oder Microsoft Outlook können für das Adressbuch LDAP verwenden. Die Mailserver postfix, qmail, exim, Lotus Domino und sendmail können LDAP zur Authentifizierung oder zur Verwaltung von Aliasen verwenden. Squid, Lotus Domino und apache können LDAP als Authentifizierungssystem verwenden usw.

 

GQ und Luma ermöglichen das direkte Betrachten und Bearbeiten von LDAP-Verzeichnissen.

 

Der Export und Import erfolgt mittels LDIF.