У версії Active Directory, представленої в Windows Server 2016 з'явився ряд досить цікавих змін. Сьогодні ми розглянемо можливість забезпечити тимчасове членство користувачів в групах Active Directory. Цей функціонал можна використовувати, коли потрібно надати користувачеві на певний час якісь права, засновані на членстві в групі безпеки AD, а по закінченню часу, автоматично (без залучення адміністратора) цих прав його позбавити.
Тимчасове членство в групах AD (Temporary Group Membership) Реалізується за допомогою нової функції Windows Server 2016 під назвою Privileged Access Management Feature. За аналогією з AD Recycle Bin після активації, відключити PAM не можна.
Перевірити, чи включений функціонал PAM в поточному лісі, можна за допомогою наступної команди PowerShell:
Get-ADOptionalFeature -filter *
Нас цікавить значення параметра EnableScopes, в цьому прикладі воно порожнє. Це означає, що функціонал Privileged Access Management Feature для домену не включений.
Для його активації скористаємося командою Enable-ADOptionalFeature, в якості одного з параметрів потрібно вказати ім'я домену:
Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target contoso.com
Після активації PAM, за допомогою спеціального аргументу MemberTimeToLive командлет Add-ADGroupMember можна спробувати додати користувача до групи AD. Але спочатку за допомогою командлета New-TimeSpan задамо інтервал часу (TTL), на який потрібно надати доступ користувачеві. Припустимо, ми хочемо включити користувача test1 в групу адміністраторів домена на 5 хвилин:
$ Ttl = New-TimeSpan -Minutes 5
Add-ADGroupMember -Identity "Domain Admins" -Members test1 -MemberTimeToLive $ ttl
Перевірити залишок часу, протягом якого користувач буде складатися в групі допоможе командлет Get-ADGroup:Get-ADGroup 'Domain Admins' -Property member -ShowMemberTimeToLive
У результатах виконання команди серед членів груп можна побачити запис формату, це означає, що користувач test1 складатиметься в групі Domain Admins ще протягом 246 секунд. Після чого він автоматично буде видалений з групи. При цьому також прострочував і тікет Kerberos користувача. Це реалізується за рахунок того, що для користувача з тимчасовим членством в групі AD, KDC видає квиток з терміном життя рівним меншій з решти значень TTL.
Раніше для реалізації тимчасового членства в групах AD доводилося використовувати динамічні об'єкти, різні скрипти або складні системи (FIM і т.п.). Тепер, в Windows Server 2016 цей зручний функціонал доступний з коробки.