Тимчасове членство в групах Active Directory

У версії 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 цей зручний функціонал доступний з коробки.