Назад | Перейти на главную страницу

Разрешения Active Directory: удаление или перемещение

Я хочу, чтобы наша служба поддержки могла перемещать учетные записи пользователей, но НЕ удалять их. Вот сводка наших текущих разрешений, установленных для затронутых подразделений (это ДЕЙСТВИТЕЛЬНО позволяет им удалять учетные записи пользователей):

Если я изменю эту верхнюю строку, отредактировав ACE и сняв флажок «Удалить», я получу желаемый результат: служба поддержки не сможет удалить объекты пользователей. Однако затем они получают ошибку «Доступ запрещен», когда они пытаются перемещать пользователей между подразделениями.

Возможно ли то, что я хочу? Microsoft серьезно не отличает ходы от удалений?

Логически «перемещение» - это копия (или, на языке файловой системы, жесткая ссылка), за которой следует удаление: вы не можете переместить что-либо, если не можете удалять это с его первоначального местоположения.

Итак, нет, Microsoft не делает различий между «перемещением» и «удалением», потому что для того, чтобы сделать первое, вы должны, по необходимости, сделать второе.

Если вы хотите предотвратить случайное удаление учетных записей / объектов пользователей в AD, вы можете установить для них "Protect object from accidental deletion" либо вручную на вкладке «Объект» пользователя в ADUC:

или вы можете создать сценарий для каждого пользовательского объекта в AD сразу:

Get-ADObject -filter {(ObjectClass -eq "user")} | Set-ADObject -ProtectedFromAccidentalDeletion:$true

Voretaq7 дал хороший ответ на ваш конкретный вопрос (AD не различает), но я хочу добавить, что все, что вы хотите, возможно, в зависимости от того, сколько дополнительной работы вы хотите вложить.

Способы сделать это включают в себя предоставление пользователям вашей службы поддержки определенных делегированных разрешений на выполнение функций с учетной записью службы с более высокими привилегиями, чем они, без прямого входа в систему под этой учетной записью службы.

Все они также включают очень осторожную обработку исключений и разрешенные входные данные, чтобы ваши пользователи не могли предоставить неожиданный ввод, который использует более высокие привилегии учетной записи службы.

Вы могли бы, например:

  • Попросите пользователей войти на веб-страницу с помощью набора заранее подготовленных опций, таких как «переместить пользователя» или «отключить учетную запись». Их ввод может затем перейти на ваш сервер и запустить действие учетной записи службы (пожалуйста, не включайте функцию в код веб-страницы, чтобы кто-то мог, например, получить учетные данные учетной записи службы, используя «источник просмотра».)
  • Использовать конфигурации сеанса PowerShell. Они позволяют делегировать одному пользователю или группе права для вызова определенных команд от имени другого пользователя или группы (во многом аналогично корневому делегированию в Linux ниже). Move-ADObject - это командлет, который вас здесь интересует, снова будьте осторожны, учетная запись, которую вы позволяете им вызывать, не имеет чрезмерных привилегий (т.е. определенно не является администратором домена, потому что вы не хотите, чтобы они перемещали ваш DC случайным образом!)

Для справки, я считаю, что в Linux есть что-то похожее на это с пользователями, имеющими ограниченные привилегии su для выполнения определенных действий с определенными командами (я нашел несколько ресурсов с google для «корневого делегирования»).