Запись контроль доступа

Запись управления доступом (ACE) описывает права доступа, связанные с определенным идентификатором безопасности. Запись управления доступом оценивается операционной системой для вычисления эффективного доступа, предоставленного определенной программе на основе ее учетных данных. Например, когда пользователь входит на компьютер, а затем выполняет программу, программа использует учетные данные, связанные с учетной записью конкретного пользователя.

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

На следующем рисунке показана запись управления доступом.

схема, иллюстрирующая запись управления доступом.

Существует пять типов ACE, используемых подсистемой безопасности. Элемент Type структуры ACE управляет интерпретацией ACE. Ниже перечислены определенные типы.

  • ACCESS_ALLOWED_ACE_TYPE — этот тип указывает, что ACE указывает права доступа, которые будут предоставлены определенному идентификатору безопасности.

  • ACCESS_DENIED_ACE_TYPE — этот тип указывает, что ACE указывает права доступа, которые должны быть запрещены для определенного идентификатора безопасности.

  • SYSTEM_AUDIT_ACE_TYPE — этот тип указывает, что ACE определяет поведение аудита.

  • SYSTEM_ALARM_ACE_TYPE — этот тип указывает, что ACE задает поведение тревоги.

  • ACCESS_ALLOWED_COMPOUND_ACE_TYPE — этот тип указывает, что ACE привязан к определенному серверу и сущности, которую он олицетворяет.

Таким образом, три типа используются для управления программным доступом к объекту, а два других — для управления поведением аудита и оповещения подсистемы безопасности при доступе к объекту. Обратите внимание, что фактическое поведение подсистемы безопасности вычисляется путем объединения сведений для некоторых или всех ACE, связанных с объектом .

Драйвер может создать запись управления доступом ACCESS_ALLOWED_ACE_TYPE с помощью подпрограммы RtlAddAccessAllowedAce. Для добавления других типов записей ACE модули записи драйверов должны создавать собственные функции, так как WDK не предоставляет других подпрограмм поддержки.