Share via


SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체(winnt.h)

SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조는 SACL(시스템 액세스 제어 목록)에 대한 ACE(액세스 제어 항목)를 정의합니다. ACE는 속성 집합 또는 속성과 같은 개체 또는 하위 개체에 대한 액세스를 감사할 수 있습니다. ACE에는 액세스 권한 집합, 개체 또는 하위 개체의 형식을 식별하는 GUID 및 시스템에서 액세스를 감사할 수탁자를 식별하는 SID(보안 식별자)가 포함됩니다. ACE에는 또한 GUID와 자식 개체의 ACE 상속을 제어하는 플래그 집합이 포함되어 있습니다.

AuthzAccessCheck 함수가 호출되면 AuthzAccessCheck 함수에 대한 포인터를 통해 전달되는 SECURITY_DESCRIPTOR 구조체의 DACL에 포함된 각SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체는 애플리케이션 정의 AuthzAccessCheckCallback 함수에 대한 호출을 호출합니다. 이 함수는 발견된 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체에 대한 포인터가 pAce 매개 변수에 전달됩니다.

구문

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 의 크기와 형식을 지정하는 구조체를 ACE_HEADER. 자식 개체에 의한 ACE 상속을 제어하는 플래그가 포함되어 있습니다. 또한 구조에는 ACE가 성공적인 액세스 시도, 실패한 액세스 시도 또는 둘 다를 감사하는지 여부를 나타내는 플래그가 포함되어 있습니다. ACE_HEADER 구조체의 AceType 멤버는 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE 설정해야 하며, AceSize 멤버는 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체에 할당된 총 바이트 수로 설정해야 합니다.

Mask

시스템에서 트러스티의 액세스 시도에 대해 감사할 액세스 권한을 지정하는 ACCESS_MASK.

Flags

ObjectTypeInheritedObjectType 멤버에 GUID가 포함되어 있는지 여부를 나타내는 비트 플래그 집합입니다. 이 멤버는 다음 값의 조합일 수 있습니다. 정의되지 않은 모든 비트를 0으로 설정합니다.

의미
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
ObjectType GUID는 개체의 속성 집합 또는 속성을 식별합니다. ACE는 속성 또는 속성 집합을 읽거나 쓰려는 수탁자의 시도에 대한 감사를 제어합니다.
ADS_RIGHT_DS_CONTROL_ACCESS
ObjectType GUID는 확장된 액세스 권한을 식별합니다.
ADS_RIGHT_DS_CREATE_CHILD
ObjectType GUID는 자식 개체의 형식을 식별합니다. ACE는 이러한 유형의 자식 개체를 만들려는 트러스티의 시도에 대한 감사를 제어합니다.
ADS_RIGHT_DS_SELF
ObjectType GUID는 유효성이 검사된 쓰기를 식별합니다.

InheritedObjectType

ACE를 상속할 수 있는 자식 개체의 형식을 식별하는 GUID 구조체입니다.

이 멤버는 ACE_INHERITED_OBJECT_TYPE_PRESENT 비트가 Flags 멤버에 설정된 경우에만 유효합니다. 해당 비트가 설정되지 않으면 InheritedObjectType 이 무시되고 모든 유형의 자식 개체가 ACE를 상속할 수 있습니다. 두 경우 모두 상속은 자식 개체에 배치된 상속에 대한 보호뿐만 아니라 ACE_HEADER 상속 플래그에 의해 제어됩니다.

SidStart

수탁자 SID의 첫 번째 DWORD 입니다. SID의 나머지 바이트는 SidStart 멤버 다음에 연속 메모리에 저장됩니다. 이 SID는 애플리케이션 데이터에 추가할 수 있습니다.

설명

ObjectTypeInheritedObjectType GUID가 모두 지정되지 않은 경우 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체는 SYSTEM_AUDIT_CALLBACK_ACE 구조체와 동일한 의미 체계를 가집니다. 이 경우 더 작고 효율적이므로 SYSTEM_AUDIT_CALLBACK_ACE 구조를 사용합니다.

SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체를 포함하는 ACL은 ACE_HEADER구조체 에서 ACL_REVISION_DS 수정 번호를 지정해야 합니다.

SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 구조체를 만들 때 ObjectTypeInheritedObjectType 멤버의 GUID 구조체를 수용할 수 있을 뿐만 아니라 둘 중 하나 또는 둘 다 있는 경우 SidStart 멤버에 있는 수탁자의 전체 SID와 그 뒤에 이어지는 연속 메모리를 수용하기 위해 충분한 메모리를 할당해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winnt.h(Windows.h 포함)

추가 정보

ACL

AddAuditAccessObjectAce

GUID

SID