Управление правами доступа (AD DS)
Все объекты в службах домен Active Directory поддерживают стандартный набор прав доступа, определенных в перечислении ADS_RIGHTS_ENUM. Эти права доступа можно использовать в контроль доступа записи (ACEs) дескриптора безопасности объекта для управления доступом к объекту; то есть для управления доступом к объекту, то есть для управления выполнением стандартных операций, таких как создание и удаление дочерних объектов, а также чтение и запись атрибутов объекта. Однако для некоторых классов объектов может потребоваться управлять доступом таким образом, чтобы они не поддерживали стандартные права доступа. Чтобы упростить это, службы домен Active Directory позволяют стандартному механизму управления доступом расшириться с помощью объекта controlAccessRight.
Управление правами доступа используется тремя способами:
Для расширенных прав, которые являются специальными операциями, не охватываемыми стандартным набором прав доступа. Например, класс пользователя может быть предоставлен право "Отправить как", которое может использоваться Exchange, Outlook или любым другим почтовым приложением, чтобы определить, может ли конкретный пользователь отправлять почту от имени другого пользователя. Расширенные права создаются на объектах controlAccessRight путем задания атрибута validAccesses равным прав доступа ADS_RIGHT_DS_CONTROL_ACCESS (256).
Чтобы определить наборы свойств, чтобы обеспечить контроль доступа к подмножествам атрибутов объекта, а не только к отдельным атрибутам. Используя стандартные права доступа, один ACE может предоставлять или запрещать доступ ко всем атрибутам объекта или к одному атрибуту. Управление правами доступа позволяет одному ACE управлять доступом к набору атрибутов. Например, класс пользователя поддерживает набор свойств Personal-Information , включающий такие атрибуты, как адрес улицы и номер телефона. Права набора свойств создаются на объектах controlAccessRight, задав атрибут validAccesses для хранения ACTR_DS_READ_PROP (16) и прав доступа ACTRL_DS_WRITE_PROP (32).
Для проверенных операций записи требуется, чтобы система выполняла проверка или проверку, кроме того, что требуется схемой, прежде чем записывать значение в атрибут объекта DS. Это гарантирует, что введенное для атрибута значение соответствует требуемой семантике, находится в пределах юридического диапазона значений или проходит некоторые другие специальные проверка, которые не будут выполняться для простой низкоуровневой записи в атрибут. Проверенная запись связана с специальным разрешением, отличным от разрешения "Запись <атрибута>", которое позволит записывать любое значение в атрибут без проверка выполненных значений. Проверенная запись является единственным из трех прав управления доступом, которые нельзя создать в качестве нового права управления доступом для приложения. Это связано с тем, что существующая система не может быть программно изменена для принудительной проверки. Если в системе в качестве проверенной записи настроено право управления доступом, атрибут validAccesses в объектах controlAccessRight будет содержать право доступа ADS_RIGHT_DS_SELF (8).
В схеме Active Directory Windows 2000 определены только три проверенных записи:
- Разрешение на самостоятельное членство в объекте группы, позволяющее вызывающей учетной записи, но ни другая учетная запись не была добавлена или удалена из членства в группе.
- Проверка разрешения DNS-Host-Name для объекта компьютера, что позволяет задать атрибут dns-узла, соответствующий заданному имени компьютера и доменного имени.
- Проверенное разрешение spN на объекте Computer, которое позволяет задать атрибут субъекта-службы, соответствующий dns-имени узла компьютера.
Для удобства каждый элемент управления доступом представлен объектом controlAccessRight в контейнере расширенных прав секции конфигурации, даже если наборы свойств и проверенные записи не считаются расширенными правами. Так как контейнер конфигурации реплика по всему лесу, права управления распространяются по всем доменам в лесу. Существует ряд предопределенных прав управления доступом, и, конечно, можно также определить пользовательские права доступа.
Все права управления доступом можно просмотреть как разрешения в редакторе ACL.
Дополнительные сведения и пример кода C++ и Visual Basic, который задает ACE для управления доступом на чтение и запись к набору свойств, см. в примере кода для задания ACE в объекте каталога.
Дополнительные сведения об использовании прав доступа для управления доступом к специальным операциям см. в следующей статье:
- Создание права доступа к элементу управления
- Настройка ACE прав доступа для управления доступом в ACL объекта
- Проверка прав доступа элемента управления в ACL объекта
- Чтение набора прав доступа элемента управления в ACL объекта