produktivzone
4 Normseiten, geschätzte Lesezeit 3 Min.

LDAP - Lightweight Directory Access Protocol

Was ist LDAP?

LDAP (Lightweight Directory Access Protocol) ist ein TCP/IP-basierendes Protokoll für den Lese- und Schreib-Zugriff auf Verzeichnisdienste.

Ein Verzeichnisdienst stellt Informationen über Objekte, wie Benutzer, Benutzergruppen oder Computer zur Verfügung (ähnlich wie ein Branchentelefonbuch).

Entstehung/Entwicklung/Versionierung

Version 1.0

Soll nur read-only gewesen sein und ist daher nicht mehr in Gebrauch.

Version 2.0

Minimierte Client-Komplexität, so daß ein Verzeichnisdienst einfacher angesprochen werden kann.

Version 3.0

Client/Server Zugriffsmodell effizienter implementiert

mehr auf Internet getrimmt

Unterstützung erweiterte Zeichensätze

Unterstützung eines Extension Mechanismus, um für weitere Verbesserungen gewappnet zu sein.

Implementation eines weiteren Daemons SLURPD (Standalone LDAP Update Replication Daemon)

zu Version 2 abwärtskompatibel.

LDAP wurde an der University of Michigan entwickelt.

LDAP ist vom X.500-Standard abgeleitet, jedoch funktionell abgespeckt und wird daher manchmal auch als X.500-lite bezeichnet. Im Gegensatz zu X.500 unterstützt LDAP TCP/IP. Die Syntax ist jedoch immer noch an x.500 angelehnt.

Aufbau

In LDAP stehen bestehen die Informationen aus Attributen mit Typen und Werten. Diese sind in Objektklassen verpackt, die hierarchisch strukturiert sind:

Jeder Eintrag (Entry) wird durch seinen eindeutigen Namen (Distinguished Name, DN) identifiziert bzw. referenziert.

Objektklassen

Jeder Knotenpunkt in der hierarchischen Baumstruktur stellt eine Objektklasse dar.

Objektklassen definieren was für Werttypen die untergeordneten Attribute besitzen und ob diese obligatorisch oder optional sind. Mögliche Werttypen sind z.B. IA5 (ASCII) Zeichenketten, JPEG Fotos, Sounddaten, URLs und PGP Schlüssel.

Die Objektklasse "ou" (Organizational Unit) muß z.B. die Attribute " cn" (common name) und "sn" (surname ), darf aber auch das Attribut "telephoneNumber" und weitere besitzen.

Unter den meist genutzten Objektklassen befinden sich:

Alias

Country

Locality

Organization

Organizational Unit

Person

Attribute

Unter den meist genutzten Attributen befinden sich:

Common Name (CN)

Organization Name (O)

Organizational Unit Name (OU)

Locality Name (L)

Street Address (SA oder STREET)

State or Province Name (S oder ST)

domainComponent (DC)

Country (C)

userid (UID)

LDAP-Datenaustauschformat

LDAP verwendet für den Datenaustausch das LDIF-Format (LDAP Data Interchange Format, LDIF) Ein LDIF-Eintrag sieht z.B. folgendermaßen aus:

[<id>]
dn: <eindeutiger Name>
<Attributtyp>: <Attributwert>
<Attributtyp>: <Attributwert>
<Attributtyp>: <Attributwert>

Ein Eintrag kann so viele Paare <Attributtyp>: <Attributwert> haben, wie erforderlich sind. Eine leere Zeile markiert das Ende eines Eintrags und den Beginn eines neuen Eintrags.

Alle Angaben innerhalb der spitzen Klammern (< >) sind variabel und können mit Ausnahme von beim Hinzufügen eines LDAP-Eintrags festgelegt werden. Die ist eine Zahl, die normalerweise vom jeweiligen LDAP-Tool festgelegt wird, wenn ein Eintrag hinzugefügt wird.

Zugriff

In LDAP sind verschiedene Operationen definiert um Verzeichnisse zu durchsuchen und zu ändern. Inzwischen sind verschiedene Schnittstellen wie z.B. Java, HTTP und Oracel implementiert. Der Netscape Communicator 4.x "versteht" das in RFC-1959 definierte LDAP-URL-Format und ermöglicht es Suchparameter anzugeben, um die Ausgabe großer Verzeichnisse auf die relevanten Informationen zu beschränken.

Sicherheit

Um Änderungen an einem Verzeichnis vorzunehmen muss man sich bei LDAP authentifizieren. In Version 2 ging das Passwort unverschlüsselt über die Leitung und konnte problemlos gesnifft werden.

Mit Version3 wurden zwei Richtungen eingeschlagen:

Ticket-basiertes Authetifizierungsverfahren (KERBEROS)

Secure Socket Layer (z.B. Netscape)

RFC s

Version 3

RCD 4510 - Technical Specification Road Map

RFC 4511 - The Protocol

RFC 4512 - Directory Information Models

RFC 4513 - Authentication Methods and Security Mechanisms

RFC 4514 - String Representation of Distinguished Names

RFC 4515 - String Representation of Search Filters

RFC 4516 - Uniform Resource Locator

RFC 4517 - Syntaxes and Matching Rules

RFC 4518 - Internationalized String Preparation

RFC 4519 - Schema for User Applications

RFC 4520 - Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP)

RFC 4521 - Considerations for Lightweight Directory Access Protocol (LDAP) Extensions

RFC 4522 - The Binary Encoding Option

RFC 4523 - Schema Definitions for X.509 Certificates

RFC 4524 - COSINE LDAP/X.500 Schema

RFC 4525 - Modify-Increment Extension

RFC 4526 - Absolute True and False Filters

RFC 4527 - Read Entry Controls

RFC 4528 - Assertion Control

RFC 4529 - Requesting Attributes by Object Class in the Lightweight Directory Access Protocol

RFC 4530 - entryUUID Operational Attribute

RFC 4531 - Turn Operation

RFC 4532 - "Who am I?" Operation

RFC 4511 - The Protocol

Juli 2001/jw