
В версии Active Directory в Windows Server 2016 появилась интересная функция, позволяющая временно добавлять пользователя в группу безопасности AD. Эта функция называется Временное членство в группе (на основе времени). Эту функцию можно использовать, когда необходимо временно предоставить пользователю некоторые полномочия на основе членства в группе безопасности AD. По истечении указанного времени пользователь будет автоматически удален из группы безопасности (без вмешательства администратора).
Чтобы использовать временное членство в группе, необходимо включить опцию Функция управления привилегированным доступом в вашем лесу Active Directory. Как и в случае с AD Recycle Bin (которая позволяет восстанавливать удаленные объекты), вы не можете отключить PAM после того, как она была включена.
Убедитесь, что ваш лес AD работает на уровне функций леса Windows Server 2016 (или выше):
(Get-ADForest).ForestMode
Проверьте, включена ли функция управления привилегированным доступом в текущем лесу, используя команду из модуля AD PowerShell:
Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'"
Нам нужно значение параметра EnableScopes параметр. В нашем примере он пуст. Это означает, что функция управления привилегированным доступом не включена для этого леса.
Чтобы активировать ее, используйте Enable-ADOptionalFeature и укажите имя вашего леса в качестве одного из аргументов:
Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target contoso.com
Enable-ADOptionalFeature: The SMO role ownership could not be verified because its directory partition has not replicated successfully with at least one replication partner
” появляется при выполнении команды, проверьте состояние контроллеров домена и репликации AD, а также доступность владельцев ролей FSMO. Принудительно включите репликацию AD вручную.Выполните команду Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'" | select EnabledScopes
и убедитесь, что поле EnableScopes не пусто.
dsa.msc
) не поддерживается.После включения PAM можно попытаться добавить пользователя в группу AD, используя специальный аргумент MemberTimeToLive из Add-ADGroupMember
команда. Удобно задавать временной интервал (TTL) с помощью команды New-TimeSpan команда. Допустим, вы хотите добавить пользователя test1 к Администраторы домена группу в течение 15 минут:
$ttl = New-TimeSpan -Minutes 5
Add-ADGroupMember -Identity "Domain Admins" -Members test1 -MemberTimeToLive $ttl
Проверить, сколько времени пользователь будет членом группы, можно с помощью команды Get-ADGroup:
Get-ADGroup 'Domain Admins' -Property member –ShowMemberTimeToLive
В результатах выполнения команды вы увидите запись вида <TTL=187,CN=test1,CN=Users,DC=woshub,DC=loc>
для членов группы. Значение TTL отображается в секундах. Это означает, что данный пользователь был добавлен в группу Domain Admins временно. По истечении 187 секунд он будет автоматически удален из группы
Срок действия билета Kerberos пользователя также истекает. Это реализовано потому, что KDC выдает билет со временем жизни, равным наименьшему из значений TTL, для пользователя, имеющего временное членство в группах AD.
Проверить время следующего обновления билета Kerberos можно с помощью команды:
klist
Время следующего обновления билета TGT отображается в окне Время продления параметр.
Также в AD (с функциональным уровнем леса Windows2003Fores или новее) можно создавать временные группы AD. Для таких групп можно использовать dynamicObject используется класс. Автоматическое удаление таких групп выполняется процессом Active Directory Garbage Collection.
Например, чтобы создать временную группу, которая будет автоматически удаляться через месяц (2592000 = 31 * 24 * 60 * 60
), используйте следующий сценарий PowerShell:
$OU = [adsi]"LDAP://OU=Groups,OU=Munich,OU=DE,DC=woshub,DC=loc"
$Group = $OU.Create("group","cn=MUN-FS01_Public_tmp")
$Group.PutEx(2,"objectClass",@("dynamicObject","group"))
$Group.Put("entryTTL","2678400")
$Group.SetInfo()
Откройте атрибуты группы в консоли ADUC. Обратите внимание на entryTTL атрибут. Он указывает, через сколько секунд эта группа AD будет удалена.
Ранее для реализации временного членства в группах AD приходилось использовать динамические объекты, различные скрипты и запланированные задачи, либо довольно сложные системы (Microsoft Forefront Identity Manager и т. д.). Теперь, в Windows Server 2016/2019, эта удобная функция доступна из коробки.