Windows-AD temporäre Gruppenmitgliedschaft

Seit Windows Server 2016 gibt es das optionale Feature “Privileged Access Management” (PAM). Dieses erlaubt AD-Administratoren, Benutzer für einen vorher festgelegten Zeitraum einer Gruppe hinzuzufügen. Das kann beispielsweise nützlich sein, um einem externen Berater zeitbegrenzt Berechtigungen zu geben, die automatisch nach Ablauf der vorgegebenen Zeit entzogen werden.

Vorraussetzung für die Nutzung der temporären Gruppenmitgliedschaften ist eine Gesamtstrukturfunktionsebene und das Domain Level von 2016 sowie die Aktivierung des o.g. Features PAM. Ob die Gesamtstrukturfunktionsebene und das Domain Level bereits auf 2016 angehoben sind, kann man mit folgendem Befehlen prüfen:

(Get-ADForest).ForestMode
(Get-ADForest).DomainMode

Mit dem folgenden Codeschnipsel kann PAM aktiviert werden. Die Aktivierung ist allerdings nicht reversibel. Einmal aktiviert, lässt sich das PAM-Feature nicht mehr abschalten.

If((Get-ADOptionalFeature -Identity 'Privileged Access Management Feature').EnabledScopes.Count -eq 0){
    Write-Host "Privileged Access Management ist nicht aktiviert und wird nun aktiviert."
    Enable-ADOptionalFeature "Privileged Access Management Feature" -Scope ForestConfigurationSet -Target mydomain.tld
} else {
    Write-Host "Privileged Access Management ist bereits aktiviert."
}

Nun, da PAM aktiviert ist, können wir mit der eigentlichen Vorbereitung beginnen. Zuerst müssen wir eine Zeitspanne bestimmen, für wie lange der Benutzer Mitglied der Zielgruppe sein soll. Dabei können auch Zeiten in der Zukunft angegeben werden. Das kann nützlich sein, wenn man weiß, dass man bspw. für den gesamten November einen Berater im Haus hat, der entsprechende Berechtigungen benötigen wird:

# Bis Heute um 18 Uhr
$ttl = New-TimeSpan -End '18:00:00'

# Für 8 Stunden
$ttl = New-TimeSpan -Hours 8

# Bis zum 31.10.2023 um 00:00 Uhr
$ttl = New-TimeSpan -End '31.10.2023'

# Den gesamten November lang
$ttl = New-TimeSpan -Start '01.11.2023' -End '01.12.2023'

Jetzt können wir den Benutzer MustermannM zur Gruppe Domain-Admins hinzufügen. Die Gruppenmitgliedschaft wird ihm nach Ablauf der vorher definierten Zeitspanne automatisch entzogen:

Get-ADGroup 'Domain-Admins' | Add-ADGroupMember -Members 'Max-Mustermann' -MemberTimeToLive $ttl

Mit folgendem Befehl kann man die zeitbegrenzten Gruppenmitgliedschaften anzeigen und somit überprüfen, ob die vorherigen Schritte auch funktioniert haben:

Get-ADGroup 'Domain-Admins' -Properties Member -ShowMemberTimeToLive

Last but not least: Die Angabe bei TTL ist in Sekunden, muss also ggf. zur besseren Lesbarkeit noch umgerechnet werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*