структура SYSTEM_AUDIT_CALLBACK_OBJECT_ACE (winnt.h)
Структура SYSTEM_AUDIT_CALLBACK_OBJECT_ACE определяет запись управления доступом (ACE) для системного списка управления доступом (SACL). ACE может выполнять аудит доступа к объекту или подобъектам, таким как наборы свойств или свойства. ACE содержит набор прав доступа, GUID, определяющий тип объекта или подобъекта, и идентификатор безопасности (SID), определяющий доверенного лица , для которого система будет проверять доступ. Кроме того, этот элемент содержит GUID и набор флагов, определяющих параметры наследования элемента управления доступом дочерними объектами.
При вызове функции AuthzAccessCheck каждая структура SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, содержащаяся в DACL структуры SECURITY_DESCRIPTOR, передаваемой через указатель на функцию AuthzAccessCheck, вызывает вызов определяемой приложением функции AuthzAccessCheckCallback, в которой в параметре pAce передается указатель на найденную SYSTEM_AUDIT_CALLBACK_OBJECT_ACE структуру.
Синтаксис
typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
Члены
Header
ACE_HEADER структура, указывающая размер и тип ACE. Он содержит флаги, управляющие наследованием ACE дочерними объектами. Структура также содержит флаги, указывающие, выполняет ли ACE аудит успешных попыток доступа, неудачных попыток доступа или и того и другого. Элемент AceType структуры ACE_HEADER должен иметь значение SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE, а для элемента AceSize — общее количество байтов, выделенных для SYSTEM_AUDIT_CALLBACK_OBJECT_ACE структуры.
Mask
ACCESS_MASK, указывающие права доступа, которые система будет проверять на наличие попыток доступа со стороны доверенного лица.
Flags
Набор битовых флагов, указывающих, содержат ли элементы ObjectType и InheritedObjectType идентификаторы GUID. Этот элемент может быть сочетанием следующих значений. Задайте для всех неопределенных битов нулевое значение.
Значение | Значение |
---|---|
|
Элемент ObjectType содержит GUID. |
|
Элемент InheritedObjectType содержит GUID. |
ObjectType
Структура GUID , идентифицирующая набор свойств, свойство, расширенное право или тип дочернего объекта.
Этот элемент действителен, только если бит ACE_OBJECT_TYPE_PRESENT задан в элементе Flags . В противном случае ObjectType игнорируется.
Назначение этого GUID зависит от прав доступа, указанных в элементе Mask .
Этот элемент может иметь одно из следующих значений.
InheritedObjectType
Структура GUID , идентифицирующая тип дочернего объекта, который может наследовать ACE.
Этот элемент действителен, только если бит ACE_INHERITED_OBJECT_TYPE_PRESENT задан в элементе Flags . Если этот бит не задан, InheritObjectType игнорируется, и все типы дочерних объектов могут наследовать ACE. В любом случае наследование также контролируется флагами наследования в ACE_HEADER, а также любой защитой от наследования дочерних объектов.
SidStart
Первое DWORD идентификатора безопасности доверенного лица. Оставшиеся байты идентификатора безопасности хранятся в непрерывной памяти после элемента SidStart . Этот идентификатор безопасности можно добавить с данными приложения.
Комментарии
Если идентификатор GUID ObjectType и InheritedObjectType не указан, структура SYSTEM_AUDIT_CALLBACK_OBJECT_ACE имеет ту же семантику, что и структура SYSTEM_AUDIT_CALLBACK_ACE . В этом случае используйте структуру SYSTEM_AUDIT_CALLBACK_ACE , так как она меньше и эффективнее.
ACL, содержащий структуру SYSTEM_AUDIT_CALLBACK_OBJECT_ACE , должен указывать номер редакции ACL_REVISION_DS в своей ACE_HEADER структуре.
При создании структуры SYSTEM_AUDIT_CALLBACK_OBJECT_ACE необходимо выделить достаточно памяти для размещения структур GUID в элементах ObjectType и InheritedObjectType , если они существуют, а также для размещения полного идентификатора безопасности доверенного лица в элементе SidStart и последующей за ним непрерывной памяти.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winnt.h (включая Windows.h) |