У нас есть разрабатываемый инструмент, который будет поддерживать определенные атрибуты пользовательских объектов Active Directory в актуальном состоянии с использованием авторитетного источника достоверной информации о сотрудниках в другом месте, чтобы при изменении чьего-либо номера телефона, менеджера или местоположения Active Directory автоматически обновлялась.
Для обычных пользователей делегирование управления этими свойствами несложно выполнить с помощью инструментов делегирования, но защищенные пользователи, у которых есть adminSDHolder
ACL применяется, это сложнее.
При добавлении ACE в adminSDHolder
ACL с помощью пользовательского интерфейса, вы можете предоставить доступ только ко всем свойствам (которые нам не нужны по соображениям безопасности) или свойствам, которые существуют в adminSDHolder
сам объект, а не свойства пользователя, такие как department
.
Как вы предоставляете доступ к определенным свойствам пользовательских объектов под защитой adminSDHolder
?
Это выполнимо, но только с помощью инструментов командной строки - пользовательский интерфейс неспособен вносить изменения (и выяснять, что это за ACE на самом деле, когда они на месте).
Чтобы предоставить доступ к определенному атрибуту объекта пользователя, например telephoneNumber
, используйте dsacls
:
dsacls "CN=AdminSDHolder,CN=System,DC=example,DC=com" /G Allow-User-Management:RPWP;telephoneNumber;
Это создает ACE для этого атрибута, который не имеет смысла на adminSDHolder
поскольку у него нет telephoneNumber
, но затем применяется к защищенным пользователям.
Обратите внимание, что инструменты пользовательского интерфейса будут выглядеть так: каждое из этих свойств, которые вы предоставляете для создания ACE, не знает, что делать:
Но, dsacls "CN=AdminSDHolder,CN=System,DC=example,DC=com"
покажет правду:
Allow Allow-User-Management
SPECIAL ACCESS for sn
WRITE PROPERTY
READ PROPERTY
Allow Allow-User-Management
SPECIAL ACCESS for telephoneNumber
WRITE PROPERTY
READ PROPERTY