Dynamische Objekte

In Windows Server 2003 und höheren Versionen von Windows bieten Active Directory Domain Services Unterstützung für das Speichern dynamischer Einträge im Verzeichnis. Ein dynamischer Eintrag ist ein Objekt im Verzeichnis, das über einen zugeordneten Gültigkeitsdauerwert (TTL) verfügt. Die Gültigkeitsdauer für einen Eintrag wird festgelegt, wenn der Eintrag erstellt wird. Die Gültigkeitsdauer wird automatisch verringert, und wenn sie abläuft, verschwindet der dynamische Eintrag. Der Client kann dazu führen, dass ein dynamischer Eintrag länger als seine aktuelle Restlebensdauer bleibt, indem er seinen TTL-Wert aktualisiert (ändert). Clients, die dynamische Daten im Verzeichnis speichern, müssen diese Daten in regelmäßigen Abständen aktualisieren, um zu verhindern, dass sie ausgeblendet werden.

Viele Anwendungen und Dienste, die LDAP verwenden, um relativ statische und global interessante Daten von einem Active Directory-Server zu speichern und darauf zuzugreifen, möchten auch weiterhin LDAP-Zugriff für ihre dynamischen Datenanforderungen verwenden. Darüber hinaus kann es für einige Anwendungen wünschenswert sein, die Aufgabe von Garbage Collection-Objekten im DS, die über eine begrenzte Lebensdauer verfügen, für den Verzeichnisdienst auszuschalten. Anwendungsverzeichnispartitionen (mit der Möglichkeit zur kontrollierten Platzierung von Replikaten) und objektspezifischen TTLs zusammen bieten die Möglichkeit, dynamische Daten in Active Directory Domain Services zu hosten und so LDAP-Zugriff darauf zu ermöglichen.

Eine neue Hilfsobjektklasse namens dynamicObject mit OID = 1.3.6.1.4.1.1466.101.119.2 wird im AD-Basisschema definiert, das von dynamischen Einträgen verwendet werden soll. Diese Hilfsklasse enthält das Attribut entryTTL mit OID = 1.3.6.1.4.1.1466.101.119.3 als system-may-contain-Attribut. Der Wert dieses Attributs ist die "Zeit in Sekunden", die der entsprechende Verzeichniseintrag weiterhin vorhanden ist, bevor er aus dem Verzeichnis verschwindet. Wenn der Client bei der Objekterstellung keinen Wert für dieses Attribut explizit bereitstellt, stellt die DS einen Standardwert bereit, wie später angegeben.

Ein neuer erweiterter LDAP-Vorgang mit OID = 1.3.6.1.4.1.1466.101.119.1 für die Clientaktualisierung eines dynamischen Eintrags im Verzeichnis wird definiert und im supportedExtension-Attribut des DSE-Stammobjekts veröffentlicht.

In der tatsächlichen Implementierung ist entryTTL ein konstruiertes Attribut. Die reale Objektablaufzeit wird als absoluter Zeitpunkt gespeichert, zu dem das Objekt in einem systembezogenen Attribut namens ms-DS-Entry-Time-To-Live zerstört werden kann.

Für alle dynamischen Objekte gelten die folgenden Einschränkungen:

  • Ein gelöschtes dynamisches Objekt aufgrund seines ablaufenden Gültigkeitsdauers hinterlässt keinen Grabstein.
  • Alle DCs, die Replikate dynamischer Objekte enthalten, müssen unter Windows Server 2003 ausgeführt werden.
  • Dynamische Einträge mit TTL-Werten werden in allen Partitionen mit Ausnahme der Konfigurationspartition und der Schemapartition unterstützt.
  • Active Directory Domain Services das optionale dynamicSubtrees-Attribut nicht veröffentlichen, wie in RFC 2589 beschrieben, im DSE-Stammobjekt.
  • Dynamische Einträge werden ähnlich wie nicht dynamische Einträge behandelt, wenn Such-, Vergleichs-, Add-, Lösch-, Änderungs- und ModifyDN-Vorgänge verarbeitet werden.
  • Es gibt keine Möglichkeit, einen statischen Eintrag in einen dynamischen Eintrag zu ändern und umgekehrt.
  • Ein nicht dynamischer Eintrag kann einem dynamischen Eintrag nicht untergeordnet hinzugefügt werden.