5. DSA-(Server-)Informationsmodell
LDAP nimmt an, dass ein oder mehrere Server gemeinsam Zugriff auf einen DIT bereitstellen. Der Server mit der ursprünglichen Information heißt deren Master. Server mit Kopien heißen Spiegelungs- ("shadowing") oder Zwischenspeicherungsserver ("caching").
Nach [X.501] gilt:
Kontextpräfix (context prefix): Folge der RDNs von der DIT-Wurzel zum Anfangsknoten eines Namenskontexts; entspricht dem Distinguished Name dieses Knotens.
Namenskontext (naming context): Teilbaum von Einträgen in einem einzelnen Master-DSA.
Ein Namenskontext ist somit die größte Sammlung von Einträgen, die bei einem von einem bestimmten Server verwalteten Eintrag beginnt und alle Untergeordneten bis zu Einträgen umfasst, die von anderen Servern verwaltet werden. Das Kontextpräfix ist der Name des Anfangseintrags.
Die DIT-Wurzel ist ein DSA-spezifischer Eintrag (DSA-specific Entry, DSE) und gehört zu keinem Namenskontext oder Teilbaum; jeder Server hat im Wurzel-DSE andere Attributwerte.
5.1. Anforderungen an serverspezifische Daten
Ein LDAP-Server MUSS (SHALL) Informationen über sich und weitere serverspezifische Informationen bereitstellen. Sie werden als Attributgruppe im Wurzel-DSE dargestellt, der mit dem DN aus null RDNs benannt ist (in [RFC4514] als Zeichenkette der Länge null dargestellt).
Vorbehaltlich Zugriffskontrolle und anderer Einschränkungen sind diese Attribute über eine Search-Operation [RFC4511] mit leerem baseObject, scope baseObject, filter "(objectClass=*)" [RFC4515] und den gewünschten Namen in attributes abrufbar. Wurzel-DSE-Attribute sind Betriebsattribute und werden nur auf namentliche Anforderung zurückgegeben.
Der Wurzel-DSE DARF NICHT (SHALL NOT) in eine an der Wurzel beginnende Teilbaumsuche einbezogen werden.
Server können Clients gegebenenfalls die Änderung seiner Attribute erlauben.
Folgende Wurzel-DSE-Attribute werden nachstehend definiert; andere Dokumente können weitere definieren.
- altServer: alternative Server;
- namingContexts: Namenskontexte;
- supportedControl: erkannte LDAP-Steuerelemente;
- supportedExtension: erkannte erweiterte LDAP-Operationen;
- supportedFeatures: erkannte LDAP-Funktionen;
- supportedLDAPVersion: unterstützte LDAP-Versionen;
- supportedSASLMechanisms: erkannte Mechanismen der Simple Authentication and Security Layers (SASL) [RFC4422].
Die Werte können von sitzungsbezogenen und anderen Faktoren abhängen. Ein Server mit SASL EXTERNAL listet "EXTERNAL" etwa möglicherweise nur, wenn die Clientidentität durch eine niedrigere Schicht festgestellt wurde. Siehe [RFC4513].
Der Wurzel-DSE kann auch 'subschemaSubentry' enthalten. Dann verweist es auf den Unterschema-(Unter-)Eintrag mit dem für den Wurzel-DSE maßgeblichen Schema. Clients SOLLTEN NICHT (SHOULD NOT) annehmen, dass dieser auch andere vom Server gehaltene Einträge steuert. Abschnitt 4.4 enthält das allgemeine Ermittlungsverfahren.
5.1.1. 'altServer'
Das Attribut 'altServer' führt URIs auf, die auf alternative Server verweisen, die kontaktiert werden können, wenn dieser Server nicht mehr verfügbar ist. URIs für Server, die LDAP implementieren, werden gemäß [RFC4516] geschrieben. Andere Arten von URIs können bereitgestellt werden. Kennt der Server keine anderen verwendbaren Server, ist dieses Attribut nicht vorhanden. Clients können diese Informationen für den Fall zwischenspeichern, dass ihr bevorzugter Server später nicht mehr verfügbar ist.
( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
USAGE dSAOperation )
Die Syntax IA5String (1.3.6.1.4.1.1466.115.121.1.26) ist in [RFC4517] definiert.
5.1.2. 'namingContexts'
Das Attribut 'namingContexts' führt die Kontextpräfixe der Namenskontexte auf, für die der Server ganz oder teilweise die Master- oder eine Schattenkopie verwaltet. Ist der Server ein DSA der ersten Ebene [X.501], sollte er zusätzlich eine leere Zeichenfolge aufführen, die die Wurzel der DIT bezeichnet. Verwaltet der Server keine Informationen als Master- oder Schattenkopie (z. B. weil er ein LDAP-Gateway zu einem öffentlichen X.500-Verzeichnis ist), ist dieses Attribut nicht vorhanden. Ist der Server der Auffassung, dass er für das gesamte Verzeichnis die Master- oder eine Schattenkopie verwaltet, hat das Attribut genau einen Wert; dieser Wert ist die leere Zeichenfolge, die die Wurzel der DIT bezeichnet.
Dieses Attribut kann beispielsweise dazu verwendet werden, einen geeigneten Eintragsnamen für nachfolgende Operationen mit diesem Server auszuwählen.
( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
USAGE dSAOperation )
Die Syntax DistinguishedName (1.3.6.1.4.1.1466.115.121.1.12) ist in [RFC4517] definiert.
5.1.3. 'supportedControl'
Das Attribut 'supportedControl' führt Objektbezeichner auf, die vom Server unterstützte Anfragesteuerungen [RFC4511] bezeichnen. Unterstützt der Server keine Anfragesteuerungen, ist dieses Attribut nicht vorhanden. Objektbezeichner, die Antwortsteuerungen bezeichnen, müssen nicht aufgeführt werden.
Verfahren zur Registrierung von Objektbezeichnern, die zur Ermittlung von Protokollmechanismen verwendet werden, sind in BCP 64, RFC 4520 [RFC4520] ausführlich beschrieben.
( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
USAGE dSAOperation )
Die Syntax OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) ist in [RFC4517] definiert.
5.1.4. 'supportedExtension'
Das Attribut 'supportedExtension' führt Objektbezeichner auf, die vom Server unterstützte erweiterte Operationen [RFC4511] bezeichnen. Unterstützt der Server keine erweiterten Operationen, ist dieses Attribut nicht vorhanden.
Eine erweiterte Operation besteht im Allgemeinen aus einer erweiterten Anfrage und einer erweiterten Antwort, kann aber auch andere Protokolldateneinheiten enthalten, etwa Zwischenantworten. Der der erweiterten Anfrage zugewiesene Objektbezeichner wird zur Bezeichnung der erweiterten Operation verwendet. Andere in der erweiterten Operation verwendete Objektbezeichner müssen nicht als Werte dieses Attributs aufgeführt werden.
Verfahren zur Registrierung von Objektbezeichnern, die zur Ermittlung von Protokollmechanismen verwendet werden, sind in BCP 64, RFC 4520 [RFC4520] ausführlich beschrieben.
( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
USAGE dSAOperation )
Die Syntax OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) ist in [RFC4517] definiert.
5.1.5. 'supportedFeatures'
Das Attribut 'supportedFeatures' führt Objektbezeichner auf, die vom Server unterstützte optionale Merkmale bezeichnen. Unterstützt der Server keine ermittelbaren optionalen Merkmale, ist dieses Attribut nicht vorhanden.
( 1.3.6.1.4.1.4203.1.3.5 NAME 'supportedFeatures'
EQUALITY objectIdentifierMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
USAGE dSAOperation )
Verfahren zur Registrierung von Objektbezeichnern, die zur Ermittlung von Protokollmechanismen verwendet werden, sind in BCP 64, RFC 4520 [RFC4520] ausführlich beschrieben.
Die Syntax OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) und die Übereinstimmungsregel objectIdentifierMatch sind in [RFC4517] definiert.
5.1.6. 'supportedLDAPVersion'
Das Attribut 'supportedLDAPVersion' führt die vom Server unterstützten LDAP-Versionen auf.
( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
USAGE dSAOperation )
Die Syntax INTEGER (1.3.6.1.4.1.1466.115.121.1.27) ist in [RFC4517] definiert.
5.1.7. 'supportedSASLMechanisms'
Das Attribut 'supportedSASLMechanisms' führt die SASL-Mechanismen [RFC4422] auf, die der Server erkennt und/oder unterstützt [RFC4513]. Der Inhalt dieses Attributs kann vom aktuellen Sitzungszustand abhängen. Unterstützt der Server keine SASL-Mechanismen, ist dieses Attribut nicht vorhanden.
( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE dSAOperation )
Die Syntax Directory String (1.3.6.1.4.1.1466.115.121.1.15) ist in [RFC4517] definiert.