In Umgebungen, in denen Active Directory Informationen auch externen Systemen zugänglich gemacht werden sollen, kann der Windows eigene „Active Directory Lightweight Directory Service“ verwendet werden. Dies ist vor allem aus Sicherheitsaspekten eine Möglichkeit, Verzeichnisinformationen über eine stark eingegrenzte Schnittstelle zu übertragen.

Grundlegend ist dazu auf einem Windows Server 2008 R2 die AD LDS Rolle zu installieren.

Ist der Dienst installiert, wird anschließend der AD LDS Wizzard ausgeführt, um die initiale Konfiguration anzulegen.

  1. Instanz: für eine Single-Instanz oder die erste Instanz wird die Option „A unique instance“ ausgewählt
  2. Name: dieser wird ein sprechender Name und bei Bedarf eine Beschreibung gegeben
  3. Ports: wird die Instanz auf einem dedizierten Server betrieben, können die Standardports für LDAP (389) und LDAPS (636) verwendet werden
  4. Partition: für den Abgleich von AD DS und AD LDS muss eine Application Directory Partition angelegt werden – diese kann dem Namensschema des ADs entsprechen ([ou=container,]dc=domain,dc=tld)
  5. Pfade: die Speicherpfade können – müssen aber nicht verändert werden
  6. Dienstkonto: wird das AD LDS als Domänen-Mitglied betrieben, reicht der „Network service account“ aus – ist es AD unabhängig, muss hier ein LDAP/AD leseberechtigter Account angegeben werden
  7. Administrator: um den AD LDS zu verwalten ist der aktuelle Account oder ein anderer Account/Gruppe zu wählen, die administrative Berechtigungen bekommen sollen
  8. LDIF-Schemas:  je nach Einsatzzweck sind hier verschiedene Schemas auszuwählen, die gleich von Anfang an für diese Instanz zur Verfügung stehen sollen (diese können später noch erweitert werden)
  9. Abschluss: nach Sichtung der Einstellungen kann die Konfiguration abgeschlossen werden

Nun ist die LDS Instanz noch weiter zu konfigurieren.

  1. ggf. sind weitere Schemas zu laden: ldifde -i -f c:\windows\adam\MS-adamschemaw2k8.LDF -s localhost:389 -c "cn=Configuration,dc=X" "#configurationNamingContext"
  2. Quell- und Zielschema vergleichen:
    1. start C:\Windows\ADAM\ADSchemaAnalyzer.exe
    2. File>Load target schema –> den Quellserver auswählen (Bind type: Secure | Server type: AD DS/LDS)
    3. File>Load base schema –> den Zielserver auswählen (Bind type: Simple | Server type: AD DS/LDS)
    4. Tools>Options –> in dem „LDIF generation“ -Tab „Update with references to new and present elements“ und „Allowed to write systemPossSuperiors and systemAuxClasses as possSuperiors and auxClasses, if schema circular dependencies exist“ auswählen
    5. Schema>Mark all non-present elements as included
    6. File>Create LDIF file (z.B.: C:\Windows\ADAM\yourSchema.ldif)
  3. Das Schema installieren: ldifde -i -f c:\windows\adam\yourSchema.ldif -s localhost:389 -c "cn=Configuration,dc=X" "#configurationNamingContext"
  4. Die C:\Windows\ADAM\MS-AdamSyncConfig.XML anpassen (Editor)
  5. Die C:\Windows\ADAM\MS-AdamSyncConfig.XML installieren: c:\windows\adam\adamsync.exe /install localhost:389 c:\windows\adam\MS-AdamSyncConf.XML
  6. Den Sync anstossen: c:\windows\adam\adamsync.exe /force -1 /sync localhost:389 "dc=group,dc=on" /log "c:\LDS-Sync.log"

Abschließend ist noch ein Sync-Task einzurichten, damit das AD DS und das AD LDS bei Änderungen abgeglichen werden.

  1. einen administrativen Account mit „Log on as a batch job“-Berechtigungen (gpedit.msc>Computer Configuration>Windows Settings>Security Settings>Local Policies>User Rights Assignment) anlegen, dieser Account muss im AD auf die zu synchronisierenden OUs leseberechtigt sein
  2. Server Manager>Configuration>Task Scheduler>Task Scheduler Library>Create Task
    1. General-Tab: einen Namen geben, den administrativen User eintragen, „Run whether user is logged on or not“, „Run with highest privileges“, „Configure for:“ hier das vorliegende Betriebssystem auswählen
    2. Trigger-Tab: Zeiteinstellungen, wann der Task laufen soll (z.B.: jeden Tag, aller 2 Stunden)
    3. Action-Tab: das zu startende Programm/Befehl auswählen (siehe Punkt 6. „Sync anstossen“)
    4. Condition-Tab: alle Optionen abwählen
    5. Settings-Tab: „Allow task to be run on demand“, „Stop the task if it runs longer than: 1 hour“, „If the running task does not end when requested, force it to stop“

Das ist es auch schon.

Share