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


структура SYSTEM_AUDIT_OBJECT_ACE (winnt.h)

Структура SYSTEM_AUDIT_OBJECT_ACE определяет запись управления доступом (ACE) для системного списка управления доступом (SACL). ACE может выполнять аудит доступа к объекту или подобъектам, таким как наборы свойств или свойства. ACE содержит набор прав доступа, GUID, определяющий тип объекта или подобъекта, и идентификатор безопасности (SID), определяющий доверенного лица , для которого система будет проверять доступ. Кроме того, этот элемент содержит GUID и набор флагов, определяющих параметры наследования элемента управления доступом дочерними объектами.

Синтаксис

typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       Flags;
  GUID        ObjectType;
  GUID        InheritedObjectType;
  DWORD       SidStart;
} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;

Члены

Header

Структура ACE_HEADER , указывающая размер и тип ACE. Он содержит флаги, управляющие наследованием ACE дочерними объектами. Структура также содержит флаги, указывающие, выполняет ли ACE аудит успешных попыток доступа, неудачных попыток доступа или и того, и другое. Элемент AceType структуры ACE_HEADER должен иметь значение SYSTEM_AUDIT_OBJECT_ACE_TYPE, а для элемента AceSize — общее количество байтов, выделенных для структуры SYSTEM_AUDIT_OBJECT_ACE .

Mask

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

Flags

Набор битовых флагов, указывающих, содержат ли элементы ObjectType и InheritedObjectType идентификаторы GUID. Этот элемент может быть сочетанием следующих значений. Установите все неопределенные биты равным нулю.

Значение Значение
ACE_OBJECT_TYPE_PRESENT
Элемент ObjectType содержит GUID.
ACE_INHERITED_OBJECT_TYPE_PRESENT
Член InheritedObjectType содержит GUID.

ObjectType

Структура GUID , идентифицирующая набор свойств, свойство, расширенное право или тип дочернего объекта.

Этот элемент действителен, только если бит ACE_OBJECT_TYPE_PRESENT задан в элементе Flags . В противном случае ObjectType игнорируется.

Назначение этого GUID зависит от прав доступа, указанных в элементе Mask .

Этот элемент может быть одним из следующих значений.

Значение Значение
ADS_RIGHT_DS_READ_PROP и (или) ADS_RIGHT_DS_WRITE_PROP
Идентификатор GUID ObjectType идентифицирует набор свойств или свойство объекта . ACE контролирует аудит попыток доверенного лица прочитать или записать свойство или набор свойств.
ADS_RIGHT_DS_CONTROL_ACCESS
Идентификатор GUID ObjectType определяет расширенное право доступа.
ADS_RIGHT_DS_CREATE_CHILD
Идентификатор GUID ObjectType идентифицирует тип дочернего объекта. ACE контролирует аудит попыток доверенного лица создать дочерний объект этого типа.
ADS_RIGHT_DS_SELF
Идентификатор GUID ObjectType идентифицирует проверенную запись.

InheritedObjectType

Структура GUID , идентифицирующая тип дочернего объекта, который может наследовать ACE.

Этот элемент действителен, только если в элементе Flags задан бит ACE_INHERITED_OBJECT_TYPE_PRESENT. Если этот бит не задан, Параметр InheritedObjectType игнорируется и все типы дочерних объектов могут наследовать ACE. В любом случае наследование также контролируется флагами наследования в ACE_HEADER, а также любой защитой от наследования дочерних объектов.

Смещение этого элемента может отличаться. Если элемент Flags не содержит флаг ACE_OBJECT_TYPE_PRESENT, элемент InheritedObjectType начинается со смещением, указанным элементом ObjectType .

SidStart

Указывает первый параметр DWORD идентификатора безопасности, который определяет доверенного лица , для которого выполняется аудит попыток доступа. Оставшиеся байты идентификатора безопасности хранятся в непрерывной памяти после элемента SidStart . Этот идентификатор безопасности можно добавить с данными приложения.

Смещение этого элемента может отличаться. Если элемент Flags равен нулю, элемент SidStart начинается со смещений, заданных элементом ObjectType . Если Flags содержит только один флаг (ACE_OBJECT_TYPE_PRESENT или ACE_INHERITED_OBJECT_TYPE_PRESENT), то элемент SidStart начинается со смещений, заданных элементом InheritedObjectType .

Комментарии

Если ни идентификатор GUID ObjectType , ни InheritedObjectType не указаны, структура SYSTEM_AUDIT_OBJECT_ACE имеет ту же семантику, что и структура SYSTEM_AUDIT_ACE . В этом случае используйте структуру SYSTEM_AUDIT_ACE , так как она меньше и эффективнее.

ACL, содержащий SYSTEM_AUDIT_OBJECT_ACE , должен указывать номер редакции ACL_REVISION_DS в своей ACE_HEADER структуре.

При создании структуры SYSTEM_AUDIT_OBJECT_ACE необходимо выделить достаточно памяти для размещения структур GUID в членах ObjectType и InheritedObjectType , если они существуют, а также для размещения полного идентификатора безопасности доверенного лица в члене SidStart и непрерывной памяти, которая следует за ним.

Структура SYSTEM_AUDIT_OBJECT_ACE может быть создана в списке управления доступом (ACL) путем вызова функции AddAuditAccessObjectAce . При использовании этой функции автоматически выделяется правильный объем памяти, необходимый для размещения структур GUID в членах ObjectType и InheritedObjectType , если один или оба из них существуют, а также для размещения идентификатора безопасности доверенного лица. Кроме того, значения элементов Header.AceType и Header.AceSize задаются автоматически. При создании структуры SYSTEM_AUDIT_OBJECT_ACE вне ACL необходимо выделить достаточно памяти для размещения структур GUID в членах ObjectType и InheritedObjectType , если один или оба из них существуют, а также для размещения полного идентификатора безопасности доверенного лица в члене SidStart и непрерывной памяти после него. Кроме того, значения элементов Header.AceType и Header.AceSize должны быть явно заданы приложением.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winnt.h (включая Windows.h)

См. также раздел

ACL

AddAuditAccessObjectAce

GUID

SID