Der Objektdelegierungsassistent

Viele Administratoren die eine Active Directory Umgebung betreuen, werden bereits den Objektdelegierungsassistenten kennengelernt haben.
Dieser Assistent der sich zum einen in der MMC Active Directory-Benutzer und -Computer und zum anderen,
in der MMC Active Directory-Standorte und -Dienste aufrufen lässt, ist dem Administrator bei der Zuweisung von
Active Directory-Berechtigungen behilflich. Mit dem Assistenten können bei den zur Verfügung stehenden allgemeinen Tasks,
schnell Berechtigungen für einige typische Fälle zugewiesen werden. An dieser Stelle bietet der Assistent aber nur einen
kleinen Teil der Möglichkeiten an.


 


Der Assistent ist dabei nur eine von insgesamt drei möglichen Varianten, um Benutzern entsprechende Rechte im Active Directory zu delegieren.
Die beiden anderen Varianten wären, dass direkte bearbeiten der erweiterten Sicherheitseinstellungen (im security descriptor) eines Objekts
und das Kommandozeilentool DSACLS. Wobei gerade die Administratoren, die sich nicht so sehr im Active Directory auskennen,
den Delegierungsassistenten verwenden sollten.


 


Weitere Details werden in den beiden folgenden Artikeln erläutert:


Objektdelegierungen einrichten
Delegierte Berechtigungen im AD verstehen


 


 


Was viele Administratoren nicht wissen ist, das beim Ausführen des Delegierungsassistenten an dem Punkt
Zuzuweisende Aufgaben die dort aufgeführten allgemeinen Tasks, aus einer Textdatei stammen.


 


 




Diese Textdatei die den Namen delegwiz.inf trägt, existiert auf jedem Domänencontroller (und jedem Mitgliedsserver) und ist
jederzeit veränderbar. Die Datei delegwiz.inf befindet sich unter Windows 2000 sowie Windows Server 2003 im Verzeichnis
%windir%\Inf und unter Windows Server 2008 im Verzeichnis %windir%\system32.


Standardmäßig sind dort unter Windows 2000 bereits sieben und unter Windows Server 2003 sowie Windows Server 2008
13 Aufgaben vordefiniert. Je nachdem in welcher MMC und auf welcher Ebene der Delegierungsassistent ausgeführt wird,
variiert die Anzeige der allgemeinen Tasks. Die vordefinierten allgemeinen Aufgaben dienen dazu, eine Reihe von Berechtigungen
und nicht gezielt ein einzelnes Recht zu vergeben.


 


Der Administrator kann weitere Vorlagen in die delegwiz.inf Datei eintragen, um sich damit seine tägliche Arbeit zu erleichtern.
Denn wiederkehrende Aufgaben können in die Datei delegwiz.inf mit aufgenommen werden und stehen dann, ab sofort für die Zukunft
als weitere allgemeine Tasks zur Verfügung. Unter Windows Server 2008 muss zuerst der Administrator den Besitz der delegwiz.inf Datei
übernehmen und anschließend die Rechte anpassen. Danach kann die Datei auch unter Windows Server 2008 bearbeitet werden.


 


Es dürfte jedem klar sein, dass das erweitern der delegwiz.inf Datei durch zusätzliche Aufgaben dann auch nur auf dem einen DC erscheinen,
auf dem die Datei bearbeitet wurde. Auf den anderen DCs steht die hinzugefügte neue Aufgabe selbstverständlich nicht zur Verfügung.
Entweder man richtet dann die Delegierung im Active Directory nur über diesen einen DC für die Zukunft ein oder fügt die Änderung
in der delegwiz.inf auf allen anderen DCs hinzu. Eine andere Möglichkeit wäre die bearbeitete Datei im Nachhinein auf alle anderen
DCs zu kopieren.


 


Wenn man sich nun die Datei delegwiz.inf genauer anschaut, ist der Aufbau einer allgemeinen Aufgabe immer gleich.
Die wesentlichen Punkte einer Vorlage wären:





  • Für welche Container-Klasse steht die allgemeine Aufgabe zur Verfügung.




  • Die Beschreibung für die allgemeine Aufgabe.




  • Welche Berechtigungen werden erteilt, wenn die allgemeine Aufgabe delegiert wird.



 



Hier ein Beispiel aus der delegwiz.inf:


 


[DelegationTemplates]


 


Templates = template1, template2,…


 


;———————————————————


[template1]


AppliesToClasses=domainDNS,organizationalUnit,container


 


Description=”Erstellt, entfernt und verwaltet Benutzerkonten”


 


ObjectTypes=SCOPE, user


 


[template1.SCOPE]


user=CC,DC


 


[template1.user]


@=GA


;———————————————————


 



Der Aufbau der Vorlage sieht folgendermaßen aus:




  • Bei dem Hinzufügen einer neuen Vorlage muss unter der Zeile [DelegationTemplates] zuerst ein neuer Eintrag template mit
    einer fortlaufenden Nummer hinzugefügt werden. Dort sind bereits unter Windows Server 2003/2008 13 Einträge vorhanden.
    Demzufolge muss beim Hinzufügen einer neuen Aufgabe der Eintrag
    template14 ergänzt werden.
    Der nächste Eintrag würde dann
    template15 lauten usw.



  • Es folgt unter der gestrichelten Linie in eckigen Klammern die Angabe der Vorlagennummer [template14], die in der Zeile
    [DelegationTemplates] angegeben wurde. Mit diesem Eintrag wird eine neue Vorlage eröffnet.




  • Die nächste Zeile AppliesToClasses gibt an, für welche Klassen diese Vorlage bei dem Einrichten einer Delegierung vorhanden sein soll.
    Die einzelnen Klassen werden durch ein Komma getrennt. Falls also der Eintrag
    AppliesToClasses=organizationalUnit existiert
    bedeutet dies, das diese Vorlage bei dem Ausführen des Delegierungsassistenten nur auf einer Organsationseinheit (OU) angezeigt wird.
    Es können folgende Klassen eingetragen werden:
    container (dabei wird die Vorlage auf einem Container wie z.B. auf den
    Standard-Containern Computers oder Users angezeigt)
    , domainDNS (hier erscheint die Vorlage beim Ausführen des
    Delegierungsassistenten auf der Domänenebene),
    organizationalUnit (die Vorlage erscheint auf einer Organisationseinheit) und
    site (hierbei erscheint die Vorlage auf Standortebene).


     


    ACHTUNG: Diese Werte sind case sensitive. Das bedeutet, bei den Einträgen ist auf die Groß-/Kleinschreibung zu achten!
    Würde also als Wert anstatt
    organizationalUnit diese Schreibweise verwendet werden OrganizationalUnit,
    so würde die Vorlage nicht auf OU-Ebene angezeigt werden.




  • Der nächste Eintrag Description dient zur Beschreibung dieser Vorlage. Der hier eingetragene Text wird beim Ausführen des
    Delegierungsassistenten bei den allgemeinen Tasks angezeigt.




  • In der Zeile ObjectTypes können mehrere Werte enthalten sein. So könnten z.B. die Werte ObjectTypes=SCOPE, user eingetragen sein.
    Hier werden die einzelnen Objekt-Klassen deren Berechtigungen angepasst werden sollen angegeben. Bei mehreren Einträgen werden
    diese durch ein Komma getrennt. Die eigentlichen Berechtigungen werden dann jeweils in einer eigenen Zeile angegeben.


     


    Mit dem Eintrag SCOPE wird definiert, für welche Objekte die zu vergebenen Berechtigungen gelten sollen.
    Nämlich für
    „Dieses und alle untergeordneten Objekte“. Dabei ist es nicht zwingend, dass dieser Eintrag existiert.




  • Die Angabe von user=CC,DC unterhalb von [template1.SCOPE] gibt die zu vergebenen Berechtigungen an und zwar für die vorher
    angegebene Klasse:
    ObjectTypes=SCOPE. Die Berechtigungen die im Security Descriptor Definition Language (SDDL)-String anzugeben
    sind,
    CC sowie DC, stehen für „Create Child“ und „Delete Child“. Child steht in diesem Fall für Benutzerobjekte. Das bedeutet,
    hier wird die Berechtigung für das erstellen sowie löschen von Benutzerkonten (
    user) vergeben.




  • Unterhalb des Eintrags [template1.user] existiert der Eintrag @=GA. Das @-Symbol gibt an, dass die Berechtigung auf allen Attributen
    des Objekts, das in der Zeile
    ObjectTypes angegeben wurde, vergeben werden soll. Die Berechtigung GA steht für „Generic All“,
    was Vollzugriff bedeutet. Der Eintrag
    @=GA bedeutet also, das der „Vollzugriff auf Benutzerobjekte“ gewährt wird. Möchte man
    anstatt auf allen Attributen, bloß auf einem oder wenigen Attributen eines Objekts Berechtigungen vergeben, so kann dies mit
    Angabe der Attribut-Namen und der gewünschten Berechtigung erreicht werden. Also z.B. so:
    lockoutTime=WP.




Siehe auch:
How to customize the task list in the Delegation Wizard


 


 


Soll z.B. das Entsperren von Benutzerkonten durch eine allgemeine Aufgabe delegiert werden,
so gilt es in der delegwiz.inf Datei diese Vorlage zu ergänzen:


 


;———————————————————
[template14]
AppliesToClasses=domainDNS,organizationalUnit,container

Description=”Benutzerkonten entsperren”

ObjectTypes=user

[template14.user]
lockoutTime=WP



;———————————————————-


 


 


 


Oder wenn man die Berechtigung zum verschieben von Computerkonten delegieren möchte, so kann die folgende Vorlage
dazu verwendet werden. Allerdings gilt es dann diese Aufgabe auf dem Quell- sowie Ziel-Container durchzuführen.


 


;———————————————————
[template15]
AppliesToClasses=domainDNS,organizationalUnit,container

Description=”Computerkonten verschieben”

ObjectTypes=SCOPE, computer

[template15.SCOPE]
computer=CC,DC

[template15.computer]
cn=WP
name=WP

;———————————————————-


 


 


Wer die Berechtigung zum verschieben von Objekten restriktiver handhaben möchte, der kann dies auf folgende Weise erledigen.
Zum verschieben eines Active Directoy-Objekts, sei es z.B. ein Benutzer-, Computer oder Gruppenkonto,
müssen die Rechte wie folgt gesetzt sein:




  1. Es muss das Recht DELETE CHILD (DC) auf dem Quell-Container gesetzt werden.



  2. Das Recht WRITE PROPERTIES (WP) für die beiden Eigenschaften RDN (das wäre das Attribut „name“)
    sowie CN auf dem Quell-Container ist zu setzen.



  3. Auf dem Ziel-Container muss das Recht CREATE CHILD (CC) gesetzt werden.

 


Nun könnte man die ersten beiden Punkte in einer Vorlage und den dritten Punkt in einer eigenen Vorlage erstellen. Denn es wird weder
das Recht CC im Quell-Container, noch die beiden Rechte DC und WP im Ziel-Container benötigt. Demzufolge muss auf dem Quell-Container
die Aufgabe mit den ersten beiden Punkten und auf dem Ziel-Container die Aufgabe mit dem dritten Punkt ausgeführt werden.


 


Falls das Recht Benutzerkonten zu verschieben delegiert werden soll, so reicht es die Einträge computer durch user
in dem template15 zu ersetzen.


 



Microsoft stellt auf dieser Seite insgesamt 70(!) Vorlagen zur Verfügung.


Dadurch stellt der Delegierungsassistent ein Werkzeug dar, womit sich viele alltägliche Delegierungsaufgaben lösen lassen.



Weitere Informationen:
Delegierte AD-Berechtigungen anzeigen und entfernen