Wraz z poziomem funkcjonalnym lasu Windows Server 2016 zadebiutowały rozwiązania z obszaru PAM – Privileged Access Management. Jedną z nich jest tymczasowe członkostwo w grupach Active Directory (Temporary Group Membership – Time Based). Jeszcze prościej, możesz dodać obiekt do grupy i kontroler domeny będzie pilnował, aby po określonym przez nas czasie go z tej grupy usunąć. Dodatkową zaletą tego rozwiązania jest to, że nie trzeba do niego wdrażać MIMa (Microsoft Identity Manager).
W taki razie jak się do tego zabrać? W pierwszej kolejności warto sprawdzić jaki macie poziom funkcjonalny lasu. Gdy domena była kreowana na systemach 2016 lub nowszych to nie będzie problemu, jednak większość instalacji funkcjonuje od wielu, jak nie nastu lat i wraz z przenoszeniem kontrolerów domeny na nowsze systemy nie zawsze administratorzy pamiętają o podniesieniu poziomu domeny, czy lasu.
Aby to zwryfikować można wejść do konsoli Active Directory Domains and Trusts, następnie prawym przyciskiem myszy kliknąć na Active Directory Domains and Trusts, po czym z menu kontekstowego wybrać Raise Forest Functional Level…
W nowym oknie widać poziom funkcjonalny lasu.
Zweryfikować można również za pomocą PowerShell-a
(Get-ADForest).ForestMode
W moim labie tworzyłem domenę od razu na nowszej wersji Windows Server, więc nie było konieczności podnoszenia poziomu najpierw domeny, później lasu. Zatem mogę od razu przejść do uruchomienia opcji Temporary Group Membership.
Weryfikację, czy funkcja Time-based Group Membership jest aktywna w Twoim środowisku można przeprowadzić za pomocą polecenia
Get-ADOptionalFeature -filter "Name -eq 'Privileged Access Management Feature'"
W rezultacie wykonania powyższego polecenia najważniejszy jest atrybut EnabledScope, gdy jest pusty, oznacza, że w tym lesie funkcja PAM nie jest dostępna. Zatem włączmy ją, w tym celu należy wykonać następującego jednolinijkowca
Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target krbtgt.pl
UWAGA! Operacji włączenia Temporary Group Membership nie można cofnąć. Po jej uruchomieniu nie można już jej wyłączyć.
Ustawienia gotowe. Zobaczmy zatem jak to działa. Dodawać obiekty do grup możemy tylko z użyciem Powershella. Konsola Active Directory Users and Computers (dsa.msc) tego nie umożliwia. Do commandletu Add-ADGroupMember zostaje dodany nowy parametr MemberTimeToLive. Dodając do niego przedział czasowy należy użyć polecenia New-TimeSpan.
$ttl_time = New-TimeSpan -Minutes 5
Add-ADGroupMember -Identity "Testowa Grupa" -Members "Administrator" -MemberTimeToLive $ttl_time
Nic nie stoi na przeszkodzie, aby w New-TimeSpan dodać minuty, godziny, czy nawet dni. Aby podejrzeć stan członków w grupie należy użyć polecenia Get-ADGroup.
Get-ADGroup "Testowa Grupa" -Properties Member -ShowMemberTimeToLive
W atrybucie Member jest dodatkowy parametr <TTL=254>, jest to czas w sekundach, po którym to konto zostanie automatycznie usunięte z wskazanej grupy.
Podsumowując, jest to ciekawe rozwiązanie z pudełka, które pozwoli na zwiększenie bezpieczeństwa Waszych środowisk, poprzez automatyczne odbieranie uprawnień po określonym czasie. Jednak jest to tylko jedna funkcjonalność, bardziej zaawansowane zarządzanie uprawnieniami wymaga już uruchomienia środowiska MIM.