Site icon Frankys Web

Privileged Access Management Feature: Zeitbegrenzte Gruppenzugehörigkeit

Mit Windows Server 2016 wurde ein neues Privileged Access Management Feature eingeführt, welches es ermöglicht Benutzer nur für einen gewissen Zeitraum einer Gruppe hinzuzufügen und nach Ablauf der Zeit automatisch wieder zu entfernen.

Nützlich ist dieses Feature, wenn einem Benutzer nur für einem gewissen Zeitraum administrative Rechte (Zum Beispiel Domain Admin) gegeben werden sollen. Ein anderer Anwendungsfall wäre die zeitbegrenzte Aufnahme in Exchange Verteilergruppen.

Das Feature ist allerdings nur verfügbar wenn das Gesamtstrukturfunktionslevel bereits auf “Windows Server 2016” angehoben wurde. Dies bedeutet konkret: Es dürfen und können keine Windows Server 2012 R2 Domain Controller mehr in Betrieb sein.

In diesem kleinen Beispiel ist das Gesamtstrukturfunktionslevel bereits auf Windows Server 2016 angehoben worden:

Das Feature welches die zeitbegrenzte Aufnahme in Gruppen ermöglicht, nennt sich “Privileged Access Management Feature”. Das Feature ist optional und muss zunächst aktiviert werden. Nachdem das Privileged Access Management Feature aktiviert wurde, kann es nicht wieder deaktiviert werden. Die Aktvierung erfolgt über folgenden Befehl:

Enable-ADOptionalFeature "Privileged Access Management Feature" -Scope ForestOrConfigurationSet -Target frankysweb.de

Nach der Aktivierung lassen sich Mitglieder zeitbegrenzt zu Gruppen hinzufügen. Der Typ der Gruppe ist nicht relevant, es kann sich hier um Sicherheit- sowie um Verteilergruppen handeln.

Im folgenden Beispiel wird der Benutzer “Frank” für die Zeitspanne von 5 Tagen zur Gruppe “Info” hinzugefügt:

$timespan = New-TimeSpan -Days 5
Get-ADGroup info | Add-ADGroupMember -Members frank -MemberTimeToLive $timespan

“New-TimeSpan” gibt dabei die Zeitspanne an, hier lassen sich auch Stunden (-Hours) oder ein Enddatum (-End) angeben:

Auf diese Weise ist es allerdings nicht möglich Start- und Enddatum anzugeben. Die Zeitspanne kann also nicht in der Zukunft liegen:

Die oben gezeigte Zeitspanne würde also beim Zuweisen eines Benutzers 24 Stunden gelten und nicht erst am 07.04.2017 starten, sondern sofort.

In der Konsole “Active Directory Benutzer und Computer” ist nicht erkenntlich, ob die Mitgliedschaft zeitlich begrenzt ist:

Mittels PowerShell lässt sich die verbleibende TTL allerdings anzeigen. Die Mitglieder und ggf. deren TTL wird hierbei in Sekunden angegeben:

Get-ADGroup info -Property member -ShowMemberTimeToLive

Der Benutzer “Frank” ist dieser Gruppe also noch 431974 Sekunden zugeordnet. Mit dem folgenden Script lässt sich die Ausgabe auch etwas übersichtlicher gestalten:

$GroupName = "info"
$GroupMembers = (Get-ADGroup $GroupName -Property member -ShowMemberTimeToLive).Member
$MemberList=@()
foreach ($GroupMember in $GroupMembers)
 {
  if ($GroupMember -match "TTL=")
   {
	$TTL = $GroupMember.split(",")[0].split("=")[1].replace(">","")
	$TTLDate = (Get-Date).AddSeconds($TTL)
	$MemberDN = $GroupMember.Split(">")[1].Replace(",CN","CN")
	$MemberList += new-object PSObject -property @{DN=$MemberDN;TTLDate="$TTLDate";TTL="$TTL"}
   }
   else
   {
    $TTL = "Unlimited"
	$TTLDate = "Unlimited"
	$MemberDN = $GroupMember
	$MemberList += new-object PSObject -property @{DN=$MemberDN;TTLDate="$TTLDate";TTL="$TTL"}
   }
 }
$MemberList

TTLDate ist Zeitpunkt an dem der Benutzer automatisch wieder entfernt wird. Die Zuordnung zur Gruppe wird dann entfernt und der Benutzer taucht dann auch nicht mehr als Mitglied der Gruppe auf:

Jetzt müssen nur noch alle Domain Controller aktualisiert werden…

Exit mobile version