Zum Hauptinhalt springen

3. Administrative und betriebliche Verzeichnisinformationen

Dieser Abschnitt behandelt ausgewählte Aspekte des Modells administrativer und betrieblicher Informationen des X.500-Verzeichnisses [X.501]. LDAP-Implementierungen DÜRFEN (MAY) weitere Aspekte dieses Modells unterstützen.

3.1. Teilbäume​

Nach [X.501] gilt:

  Ein Teilbaum (subtree) ist eine Sammlung von Objekt- und Aliaseinträgen an den Knoten eines Baums. Teilbäume enthalten keine Untereinträge. Das Präfix sub in subtree betont, dass der Basis- oder Wurzelknoten dieses Baums gewöhnlich der Wurzel des DIT untergeordnet ist.

Ein Teilbaum beginnt an einem Knoten und reicht bis zu einer identifizierbaren unteren Grenze, möglicherweise bis zu den Blättern. Er ist stets in einem Kontext definiert, der ihn implizit begrenzt. Beispielsweise werden Knoten und untere Grenzen eines Teilbaums für einen replizierten Bereich durch einen Namenskontext begrenzt.

3.2. Untereinträge​

Ein Untereintrag ist eine „besondere, dem Verzeichnis bekannte Art von Eintrag, die Informationen zu einem Teilbaum oder einer Teilbaumverfeinerung enthält“ [X.501]. Untereinträge speichern im Verzeichnis Informationen für die in [X.501] definierten administrativen und betrieblichen Zwecke. Ihre LDAP-Verwendung beschreibt [RFC3672].

„(sub)entry“ bedeutet hier, dass Server mit X.500(93)-Modellen gemäß [RFC3672] einen Untereintrag verwenden und andere Server ihn durch einen Objekteintrag der passenden, gewöhnlich mit ihm verwendeten Hilfsklasse nachbilden (z. B. 'subschema' für Unterschema-Untereinträge). Der RDN dieses Objekteintrags MUSS (SHALL) aus einem Wert des Attributs 'cn' (commonName) [RFC4519] gebildet werden (alle Untereinträge werden mit 'cn' benannt).

3.3. Das Attribut 'objectClass'​

Jeder DIT-Eintrag besitzt ein Attribut 'objectClass'.

  ( 2.5.4.0 NAME 'objectClass'
EQUALITY objectIdentifierMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )

Die Übereinstimmungsregel 'objectIdentifierMatch' und die Syntax OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) sind in [RFC4517] definiert.

'objectClass' gibt die Objektklassen eines Eintrags an, die unter anderem zusammen mit dem steuernden Schema dessen zulässige Attribute bestimmen. Clients können Werte ändern, das Attribut selbst aber nicht entfernen.

Server nach X.500(93) MÜSSEN (SHALL) Änderungen beschränken, damit die grundlegende strukturelle Klasse des Eintrags nicht geändert wird; eine 'person' kann also nicht zu einem 'country' werden.

Beim Erstellen eines Eintrags oder Hinzufügen eines 'objectClass'-Werts MÜSSEN (SHALL) alle noch fehlenden Oberklassen der genannten Klassen implizit hinzugefügt werden. Ist die Hilfsklasse 'x-a' Unterklasse von 'x-b', bewirkt das Hinzufügen von 'x-a' somit auch das implizite Hinzufügen von 'x-b'.

Server MÜSSEN (SHALL) Änderungen beschränken, damit Oberklassen verbleibender 'objectClass'-Werte nicht gelöscht werden. Ist 'x-a' Unterklasse der Hilfsklasse 'x-b' und enthält 'objectClass' beide Werte, ist das alleinige Löschen von 'x-b' ein Fehler.

3.4. Betriebsattribute​

Betriebsattribute werden von Servern für administrative und betriebliche Zwecke verwendet oder gepflegt. [X.501] nennt drei Arten: Verzeichnis-Betriebsattribute, DSA-übergreifend gemeinsam genutzte Betriebsattribute und DSA-spezifische Betriebsattribute.

Ein Verzeichnis-Betriebsattribut repräsentiert betriebliche und/oder administrative Informationen im Verzeichnisinformationsmodell. Dazu gehören vom Server gepflegte Attribute (z. B. 'createTimestamp') und Attribute mit vom Benutzer administrierten Werten (z. B. 'ditContentRules').

Ein gemeinsam genutztes DSA-Betriebsattribut repräsentiert zwischen DSAs geteilte Informationen des DSA-Informationsmodells. Ein DSA-spezifisches Betriebsattribut repräsentiert DSA-spezifische Informationen (mitunter aus geteilten Informationen abgeleitet; z. B. 'namingContexts'). Details enthält [X.501].

Betriebsattribute sind normalerweise unsichtbar und werden nur auf ausdrückliche namentliche Anforderung in Suchergebnissen zurückgegeben. Nicht alle sind durch Benutzer änderbar.

Einträge können unter anderem enthalten:

  - creatorsName: Distinguished Name des Benutzers, der den Eintrag hinzufügte;
- createTimestamp: Zeitpunkt des Hinzufügens;
- modifiersName: Distinguished Name des letzten Ändernden;
- modifyTimestamp: Zeitpunkt der letzten Änderung.

Server SOLLTEN (SHOULD) diese vier Attribute für alle DIT-Einträge pflegen.

3.4.1. 'creatorsName'​

Dieses Attribut erscheint in mittels Protokoll hinzugefügten Einträgen (z. B. Add-Operation). Sein Wert ist der Distinguished Name des Erstellers.

  ( 2.5.18.3 NAME 'creatorsName'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

'distinguishedNameMatch' und DistinguishedName (1.3.6.1.4.1.1466.115.121.1.12) sind in [RFC4517] definiert.

3.4.2. 'createTimestamp'​

Dieses Attribut erscheint in mittels Protokoll hinzugefügten Einträgen (z. B. Add-Operation). Sein Wert ist der Zeitpunkt des Hinzufügens.

  ( 2.5.18.1 NAME 'createTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

'generalizedTimeMatch', 'generalizedTimeOrderingMatch' und GeneralizedTime (1.3.6.1.4.1.1466.115.121.1.24) sind in [RFC4517] definiert.

3.4.3. 'modifiersName'​

Dieses Attribut erscheint in mittels Protokoll geänderten Einträgen (z. B. Modify-Operation). Sein Wert ist der Distinguished Name des letzten Ändernden.

  ( 2.5.18.4 NAME 'modifiersName'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

'distinguishedNameMatch' und DistinguishedName (1.3.6.1.4.1.1466.115.121.1.12) sind in [RFC4517] definiert.

3.4.4. 'modifyTimestamp'​

Dieses Attribut erscheint in mittels Protokoll geänderten Einträgen (z. B. Modify-Operation). Sein Wert ist der Zeitpunkt der letzten Änderung.

  ( 2.5.18.2 NAME 'modifyTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

'generalizedTimeMatch', 'generalizedTimeOrderingMatch' und GeneralizedTime (1.3.6.1.4.1.1466.115.121.1.24) sind in [RFC4517] definiert.

3.4.5. 'structuralObjectClass'​

Dieses Attribut gibt die strukturelle Objektklasse des Eintrags an.

  ( 2.5.21.9 NAME 'structuralObjectClass'
EQUALITY objectIdentifierMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

'objectIdentifierMatch' und OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) sind in [RFC4517] definiert.

3.4.6. 'governingStructureRule'​

Dieses Attribut gibt die für den Eintrag maßgebliche Strukturregel an.

  ( 2.5.21.10 NAME 'governingStructureRule'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

'integerMatch' und INTEGER (1.3.6.1.4.1.1466.115.121.1.27) sind in [RFC4517] definiert.