Einrichtung und Verwendung von Privileged Access Management
Privileged Access Management (PAM) ist ein optionales AD Feature in Windows Server 2016 oder höher, um die Mitglieder eine privilegierten Gruppe zeitlich beschränken zu können und dadurch das Risiko eines
PAM ist die Vorstufe von Just-In-Time (JIT) Administration und für kleinere Umgebungen geeignet, die nicht in die Infrastruktur aus Shadow Principal, Microsoft Identity Manager und deidzierten Bastion Forest investieren möchten, die für JIT erforderlich ist.
Einrichtung von PAM
Für die Einrichtung von PAM ist ein Client/Server mit installierten und importierten Active Directory PowerShell Modulen erforderlich.
Zuerst ist zu prüfen, ob der Forest den richtigen Functional Level hat. Der Functional Level muss Windows2016Forest oder höher sein.
(Get-ADForest).ForestMode
Danach ist zu prüfen, ob das Feature nicht schon bereits aktiviert ist. Ausschlaggebend hierfür ist der Wert EnabledScopes. Der Wert muss leer sein (also „{}“ anzeigen).
Get-ADOptionalFeature "Privileged Access Management Feature" | fl Name,EnabledScopes

Get-ADOptionalFeature
Sind die beiden Voraussetzungen erfüllt, lässt sich PAM mit dem Enable-ADOptionalFeature
Cmdlet aktivieren.
Wichtig: Die Aktivierung von PAM ist endgültig und kann nicht rückgängig gemacht werden.
Enable-ADOptionalFeature -Identity "Privileged Access Management Feature" -Scope ForestOrConfigurationSet -Target "<FQDN>"

Enable-ADOptionalFeature
Um nach Abschluss der Aktivierung den Status von PAM zu prüfen, kann man einfach den vorherigen Befehl nochmals ausführen. Der Wert EnabledScopes muss nun einen Inhalt ausgeben.

Get-ADOptionalFeature
Verwendung von PAM
Analog zur Einrichtung benötigt man für die Verwendung von PAM einen Client/Server mit installierten und importierten Active Directory PowerShell Modulen.
Ist PAM aktiv, lässt sich dann ein User einer privilegierten Gruppe wie folgt temporär hinzufügen:
$pamttl = New-TimeSpan -<Minutes|Hours|Days|End> <Count|End-Date> $pamuser = Get-ADUser -Identity <samAccountName> $pamgroup = Get-ADGroup -Identity <Group-Name> Add-ADGroupMember -Identity $pamgroup -Members $pamuser -MemberTimeToLive $pamttl
Im konkreten Beispiel weiße ich einem Benutzer PAMAdmin für 8 Stunden die Domain Admin Rechte zu.
$pamttl = New-TimeSpan -Hours 8 $pamuser = Get-ADUser -Identity PAMAdmin $pamgroup = Get-ADGroup -Identity 'Domain Admins' Add-ADGroupMember -Identity $pamgroup -Members $pamuser -MemberTimeToLive $pamttl
Den Status der PAM User einer Gruppe lässt sich wie folgt prüfen:
Get-ADGroup "<Group-Name>" -Properties Member -ShowMemberTimeToLive
Die Ausgabe dieses Befehls zeigt den TTL Wert in Sekunsen an. Innerhalb dieser Restzeit ist der temporäre Admin Mitglied der privilegierten Gruppe. Nach Ablauf der TTL wird er unmittelbar aus der Gruppe entfernt und das Kerberos Ticket Granting Ticket zurückgesetzt.