Создание права доступа к элементу управления

Чтобы добавить право управления доступом к серверу Active Directory, создайте объект controlAccessRight в контейнере Extended-Rights секции конфигурации. Дополнительные сведения и пример кода см . в примере кода для создания права доступа к элементу управления. Чтобы использовать право управления доступом, необходимо выполнить несколько дополнительных действий в зависимости от того, является ли право на контроль доступ для специальной операции или набора свойств.

Если вы определяете право управления доступом для набора свойств, используйте rightsGUIDобъекта controlAccessRight для идентификации свойств в наборе. Каждое свойство определяется объектом attributeSchema в схеме Active Directory. Свойство AttributeSecurityGUID объекта attributeSchema определяет набор свойств, если он есть, к которому принадлежит свойство. Помните, что свойство AttributeSecurityGUID имеет однозначное значение и сохраняет GUID в двоичном формате (синтаксис строки октета).

Если вы определяете право управления доступом для размещения ограничений на доступ к определенной операции, приложение должно выполнять доступ проверка, когда пользователь пытается выполнить операцию.

Настройка проверка доступа

  1. Создайте право управления доступом, определяющее тип доступа к приложению или службе. Дополнительные сведения см. в следующем примере кода.
  2. Создайте объект служб домен Active Directory, представляющий приложение, службу или ресурс, который вы защищаете.
  3. Добавьте объекты ACEs в DACL в дескриптор безопасности объекта, чтобы предоставить или запретить пользователям или группам права управления доступом к этому объекту. Дополнительные сведения см. в разделе "Настройка управления доступом вправо ACE" в ACL объекта.
  4. Когда пользователь пытается выполнить операцию, проверьте права пользователя, передав дескриптор безопасности объекта и маркер доступа пользователя в функцию AccessCheckByTypeResultList. Дополнительные сведения см. в статье "Проверка прав доступа к элементу управления доступом" в ACL объекта.

В зависимости от результата проверка доступа к объекту приложение или служба может разрешить или запретить пользователю доступ к приложению или службе.

При создании объекта controlAccessRight задайте атрибуты, перечисленные в следующей таблице, чтобы сделать объект правом доступа к правовому контролю, который распознается службами домен Active Directory и системами безопасности Windows.

Атрибут Description
Cn Однозначное свойство, которое является относительным именем объекта (RDN) в контейнере расширенных прав. Cn — это имя права управления доступом в службах домен Active Directory.
appliesTo Многозначное свойство, которое содержит классы объектов, к которым применяется право управления доступом. Например, элемент управления доступом Send-As содержит список классов объектов пользователя и компьютера в свойстве appliesTo. В списке каждый класс объектов определяется schemaIDGUID объекта classSchema. Идентификаторы GUID хранятся в виде строк формы, созданной функцией StringFromGUID2 в библиотеке COM, но без начальных и завершающих фигурных скобок ({ }). Например, следующий GUID — это schemaIDGUID для класса компьютера : bf967a86-0de6-11d0-a285-00aa003049e2.
Помните, что свойство schemaIDGUID объекта classSchema хранится в виде двоичного GUID с помощью синтаксиса строки октета. Чтобы преобразовать этот формат строки октета в строковый формат, используемый в свойстве appliesTo, используйте функцию StringFromGUID2 и удалите фигурные скобки из возвращаемой строки.
Дополнительные сведения о свойстве schemaIDGUID одного из предопределенных классов объектов, таких как пользователь или компьютер, см. на странице ссылки на класс в справочнике по схеме Active Directory в справочнике по службам домен Active Directory. Дополнительные сведения и пример кода, извлекающий schemaIDGUID из объекта classSchema, см. в разделе "Чтение атрибутовSchema" и classSchema Objects.
displayName Строка, используемая для отображения прав доступа в пользовательских интерфейсах, таких как страница свойств безопасности и другие места в оснастке MMC Пользователи и компьютеры Active Directory.
rightsGuid GUID, определяющий право управления доступом в ACE. GUID хранится в виде строки формы, созданной функцией StringFromGUID2 , но без начальных и завершающих фигурных скобок. Используйте Uuidgen.exe для другой служебной программы, чтобы создать GUID для права управления доступом. При определении нового набора свойств используйте rightsGuid объекта controlAccessRight для идентификации свойств в наборе. Для каждого свойства в наборе свойств задайте значение attributeSecurityGUID свойства значением rightsGUID набора свойств. Значение атрибутаSecurityGUID свойства хранится в определении атрибутаSchema свойства в схеме Active Directory. Свойство AttributeSecurityGUID имеет однозначное значение и сохраняет GUID в двоичном формате (синтаксис строки октета).
Objectclass Этот атрибут указывает controlAccessRight в качестве класса объекта.
validAccesses Для наборов свойств задайте для этого атрибута значение 0x30 (ADS_RIGHT_DS_READ_PROP ADS_RIGHT_DS_WRITE_PROP | ). Для управления правами доступа задайте для этого атрибута значение 0x100 (ADS_RIGHT_DS_CONTROL_ACCESS). Страница свойств безопасности распознает права доступа только в том случае, если атрибут validAccesses имеет соответствующее значение. Если значение равно нулю, право управления доступом игнорируется или не отображается на странице свойств безопасности.

Помните, что предопределенные классы схем используют атрибут localDisplayId объекта controlAccessRight, чтобы указать идентификатор сообщения, используемый для получения локализованного отображаемого имени из Dssec.dll. Не устанавливайте атрибут localizationDisplayId , если вы определяете новый объект controlAccessRight .