Временное членство в группах Active Directory
19.10.2016В версии 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

В результатах выполнения команды среди членов групп можно увидеть запись формата <TTL=246.CN=test1,CN=Users,DC=Contoso,DC=com>, это означает, что пользователь test1 будет состоять в группе Domain Admins еще в течении 246 секунд. После чего он автоматически будет удален из группы. При этом также просрочивается и тикет Kerberos пользователя. Это реализуется за счет того, что для пользователя с временным членством в группе AD, KDC выдает билет со сроком жизни равным меньшему из оставшихся значений TTL.
Ранее для реализации временного членства в группах AD приходилось использовать динамические объекты, различные скрипты или сложные системы (FIM и т.п.). Теперь, в Windows Server 2016 этот удобный функционал доступен из коробки.