Поделиться через


контроль доступа и удаление объектов

службы домен Active Directory позволяют удалить объект, если у вас есть один из следующих прав доступа:

  • ДОСТУП DELETE к самому объекту
  • ADS_RIGHT_DS_DELETE_CHILD доступ для этого типа объекта в родительском контейнере

Помните, что система проверяет дескриптор безопасности как для объекта, так и его родительского объекта, прежде чем запретить удаление. Это означает, что ACE, который явно запрещает доступ DELETE к пользователю, не действует, если пользователь DELETE_CHILD доступ к родительскому элементу. Аналогичным образом, ACE, который запрещает DELETE_CHILD доступ к родительскому элементу, можно переопределить, если доступ DELETE разрешен для самого объекта.

Чтобы выполнить операцию удаления дерева, например с помощью метода IADsDeleteOps::D eleteObject , необходимо иметь ADS_RIGHT_DS_DELETE_TREE доступ к объекту. Если у вас есть это право доступа, можно удалить объект и все дочерние объекты независимо от защиты дочерних объектов. Чтобы удалить дерево, если у вас нет ADS_RIGHT_DS_DELETE_TREE доступа, необходимо рекурсивно пройти по дереву, удалив каждый объект по отдельности. В этом случае необходимо иметь необходимый доступ DELETE или DELETE_CHILD для каждого объекта в дереве.

Предупреждение

Если у пользователей есть ADS_RIGHT_DS_DELETE_TREE доступ к объекту, это дает им возможность удалять целый поддерев, включая все дочерние объекты. По этой причине можно рассмотреть возможность отзыва разрешения на доступ "Удалить поддерев" для всех пользователей родительского контейнера.