Zum Hauptinhalt springen

RFC 4512 - Lightweight Directory Access Protocol (LDAP): Verzeichnisinformationsmodelle

  • Status: Proposed Standard
  • Veröffentlicht: June 2006
  • Stream: IETF
  • Ersetzt: RFC2251, RFC2252, RFC2256, RFC3674
  • Errata: Keine Errata

Zusammenfassung

Das Lightweight Directory Access Protocol (LDAP) ist ein Internetprotokoll für den Zugriff auf verteilte Verzeichnisdienste, die gemäß den X.500-Daten- und Dienstmodellen arbeiten. Dieses Dokument beschreibt die X.500-Verzeichnisinformationsmodelle, wie sie in LDAP verwendet werden.

1. Einleitung

Dieses Dokument beschreibt die LDAP-Verzeichnisinformationsmodelle. Diese Modelle basieren auf den X.500-Verzeichnisinformationsmodellen [X.501], sind jedoch in einigen Aspekten angepasst, um den Anforderungen von LDAP gerecht zu werden.

1.1 Beziehung zu anderen LDAP-Spezifikationen

Dieses Dokument ist Teil der technischen LDAP-Spezifikation [RFC4510]. Es bietet das grundlegende Modell für [RFC4511] (das LDAP-Protokoll) und andere verwandte Dokumente.

2. Modell der Verzeichnisbenutzerinformationen

Ein Verzeichnis ist eine Sammlung, die Informationen über Objekte enthält. Diese Informationen sind in einem Verzeichnisinformationsbaum (DIT - Directory Information Tree) organisiert.

2.1 Der Verzeichnisinformationsbaum (DIT)

Der DIT ist eine Baumstruktur, in der jeder Knoten ein Eintrag (Entry) ist. Einträge repräsentieren reale Objekte (wie Personen, Organisationen, Geräte usw.).

2.2 Struktur eines Eintrags

Jeder Eintrag besteht aus einer Menge von Attributen (Attribute).

  • Jedes Attribut hat einen Typ (Attribute Type) und einen oder mehrere Werte (Attribute Value).
  • Attributtypen werden durch Objektidentifikatoren (OIDs) eindeutig identifiziert und haben normalerweise einen kurzen Namen (z. B. cn für commonName).

2.3 Benennung von Einträgen

Jeder Eintrag hat im DIT einen eindeutigen Namen, den sogenannten relativen Distinguished Name (RDN).

  • Ein RDN besteht aus einem oder mehreren Attributwertpaaren im Eintrag (z. B. cn=John Doe).
  • Der vollständige Name eines Eintrags ist der Distinguished Name (DN), der die Sequenz aller RDNs von der Wurzel bis zu diesem Eintrag ist (z. B. cn=John Doe,ou=People,dc=example,dc=com).

2.4 Objektklassen (Object Classes)

Jeder Eintrag hat ein spezielles Attribut namens objectClass.

  • Der Wert des objectClass-Attributs bestimmt, welche Attribute der Eintrag enthalten muss (MANDATORY) und welche Attribute er enthalten darf (OPTIONAL).
  • Objektklassen definieren den Typ des Eintrags (z. B. person, organization, device).
  • Es gibt drei Arten von Objektklassen:
    • ABSTRACT: Abstrakte Klasse, kann nicht direkt zum Erstellen von Einträgen verwendet werden, kann nur vererbt werden.
    • STRUCTURAL: Strukturklasse, definiert den Kerntyp des Eintrags. Jeder Eintrag muss zu genau einer Strukturklassenkette gehören.
    • AUXILIARY: Hilfsklasse, wird verwendet, um Einträgen zusätzliche Attribute hinzuzufügen.

2.5 Attributbeschreibungen (Attribute Descriptions)

Attributbeschreibungen identifizieren den Attributtyp und können Optionen (Options) enthalten.

  • Format: attributetype;option;option
  • Gängige Optionen sind Sprach-Tags (z. B. cn;lang-en).

3. Verzeichnisverwaltungs- und Betriebsinformationen

Neben Benutzerinformationen enthält das Verzeichnis auch Verwaltungs- und Betriebsinformationen.

3.2 Untereinträge (Subentries)

Untereinträge sind spezielle Einträge, die zum Speichern von Verwaltungsinformationen (wie Zugriffskontrolle, Schemadefinitionen) verwendet werden. Untereinträge sind normalerweise nicht sichtbar, es sei denn, sie werden explizit in einer Suchoperation angefordert.

3.4 Betriebsattribute (Operational Attributes)

Betriebsattribute werden vom Server verwaltet und zur Verwaltung von Verzeichnisoperationen verwendet (wie createTimestamp, creatorsName). Sie werden normalerweise nicht mit normalen Benutzerattributen zurückgegeben, es sei denn, dies wird explizit angefordert.

4. Verzeichnisschema (Directory Schema)

Das Schema definiert die im Verzeichnis zulässigen Objektklassen, Attributtypen, Abgleichregeln und Syntaxen.

4.1 Schemadefinitionen

LDAP ermöglicht das Auffinden und Lesen von Schemainformationen über das LDAP-Protokoll selbst. Schemainformationen werden in einem speziellen Untereintrag gespeichert, der als Unterschema-Untereintrag (Subschema Subentry) bezeichnet wird.

Zu den wichtigsten Definitionen von Schemaelementen gehören:

  • Object Class Definitions: Definiert Objektklassen.
  • Attribute Type Definitions: Definiert Attributtypen.
  • Matching Rule Definitions: Definiert, wie Attributwerte verglichen werden.
  • Attribute Syntax Definitions: Definiert das Datenformat von Attributwerten.

4.2 Unterschema-Untereintrag

Clients können den Unterschema-Untereintrag, der einen bestimmten Eintrag steuert, finden, indem sie das Attribut subschemaSubentry des Root DSE abfragen.

5. DSA (Server) Informationsmodell

Ein LDAP-Server (auch als DSA - Directory System Agent bezeichnet) speichert nicht nur Verzeichnisdaten, sondern verwaltet auch Informationen über seinen eigenen Status und seine Konfiguration. Diese Informationen werden normalerweise im Root DSE gespeichert.

5.1 Serverspezifische Datenanforderungen

Der Root DSE enthält Attribute wie supportedLDAPVersion, supportedSASLMechanisms, supportedExtension usw., die den Client über die Fähigkeiten des Servers informieren.

8. Sicherheitsüberlegungen

Dieses Dokument beschreibt das Informationsmodell und beinhaltet nicht direkt Sicherheitsprotokolle, aber Schemadefinitionen und Zugriffskontrolle (über Untereinträge) sind eng mit der Sicherheit verbunden.


Hinweis: Diese Übersetzung dient nur als Referenz. Bitte konsultieren Sie das Original-RFC 4512 für offizielle Details.