Freigeben über


SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur (winnt.h)

Die SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur definiert einen Zugriffssteuerungseintrag (Access Control Entry , ACE) für eine Systemzugriffssteuerungsliste (SACL ). Der ACE kann den Zugriff auf ein Objekt oder Unterobjekte überwachen, z. B. Eigenschaftensätze oder Eigenschaften. Der ACE enthält einen Satz von Zugriffsrechten, eine GUID, die den Typ des Objekts oder Unterobjekts identifiziert, und eine Sicherheits-ID (SID), die den Treuhänder identifiziert, für den das System den Zugriff überwacht. Der ACE enthält außerdem eine GUID und verschiedene Flags, die die Vererbung des ACE an untergeordnete Objekte steuern.

Wenn die AuthzAccessCheck-Funktion aufgerufen wird, ruft jede SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur , die in der DACL einer SECURITY_DESCRIPTOR-Struktur enthalten ist, die über einen Zeiger auf die AuthzAccessCheckCheck-Funktion übergeben wird, einen Aufruf der anwendungsdefinierten AuthzAccessCheckCallback-Funktion auf, in der ein Zeiger auf die gefundene SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur im pAce-Parameter übergeben wird.

Syntax

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;

Member

Header

ACE_HEADER Struktur, die die Größe und den Typ von ACE angibt. Es enthält Flags, die die Vererbung des ACE durch untergeordnete Objekte steuern. Die Struktur enthält auch Flags, die angeben, ob der ACE erfolgreiche Zugriffsversuche, fehlgeschlagene Zugriffsversuche oder beides überwacht. Der AceType-Member der ACE_HEADER-Struktur sollte auf SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE und das AceSize-Element auf die Gesamtzahl der Bytes festgelegt werden, die für die SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur zugeordnet sind.

Mask

Eine ACCESS_MASK , die die Zugriffsrechte angibt, die das System auf Zugriffsversuche durch den Treuhänder überwacht.

Flags

Ein Satz von Bitflags, die angeben, ob die Member ObjectType und InheritedObjectType GUIDs enthalten. Dieser Member kann eine Kombination der folgenden Werte sein. Legen Sie alle undefinierten Bits auf 0 (null) fest.

Wert Bedeutung
ACE_OBJECT_TYPE_PRESENT
Das ObjectType-Element enthält eine GUID.
ACE_INHERITED_OBJECT_TYPE_PRESENT
Das InheritedObjectType-Element enthält eine GUID.

ObjectType

Eine GUID-Struktur , die einen Eigenschaftensatz, eine Eigenschaft, eine erweiterte Rechte oder einen Typ untergeordneter Objekte identifiziert.

Dieser Member ist nur gültig, wenn das ACE_OBJECT_TYPE_PRESENT Bit im Flags-Element festgelegt ist. Andernfalls wird ObjectType ignoriert.

Der Zweck dieser GUID hängt von den im Mask-Element angegebenen Zugriffsrechten ab.

Dieser Member kann einer der folgenden Werte sein.

Wert Bedeutung
ADS_RIGHT_DS_READ_PROP und/oder ADS_RIGHT_DS_WRITE_PROP
Die ObjectType-GUID identifiziert einen Eigenschaftssatz oder eine Eigenschaft des Objekts. Der ACE steuert die Überwachung der Versuche des Treuhänders, die Eigenschaft oder den Eigenschaftensatz zu lesen oder zu schreiben.
ADS_RIGHT_DS_CONTROL_ACCESS
Die ObjectType-GUID identifiziert ein erweitertes Zugriffsrecht.
ADS_RIGHT_DS_CREATE_CHILD
Die ObjectType-GUID identifiziert einen Typ des untergeordneten Objekts. Der ACE steuert die Überwachung der Versuche des Treuhänders, diesen Typ von untergeordneten Objekten zu erstellen.
ADS_RIGHT_DS_SELF
Die ObjectType-GUID identifiziert einen überprüften Schreibvorgang.

InheritedObjectType

Eine GUID-Struktur , die den Typ des untergeordneten Objekts angibt, das den ACE erben kann.

Dieser Member ist nur gültig, wenn das ACE_INHERITED_OBJECT_TYPE_PRESENT Bit im Flags-Element festgelegt ist. Wenn dieses Bit nicht festgelegt ist, wird InheritedObjectType ignoriert, und alle Typen untergeordneter Objekte können den ACE erben. In beiden Fällen wird die Vererbung auch durch die Vererbungsflags im ACE_HEADER sowie durch jeglichen Schutz vor Vererbung für die untergeordneten Objekte gesteuert.

SidStart

Das erste DWORD der SID eines Treuhänders. Die verbleibenden Bytes der SID werden im zusammenhängenden Speicher nach dem SidStart-Element gespeichert. Diese SID kann mit Anwendungsdaten angefügt werden.

Hinweise

Wenn weder objectType noch InheritedObjectType GUID angegeben wird, weist die SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur dieselbe Semantik wie die SYSTEM_AUDIT_CALLBACK_ACE-Struktur auf. Verwenden Sie in diesem Fall die SYSTEM_AUDIT_CALLBACK_ACE-Struktur , da sie kleiner und effizienter ist.

Eine ACL, die eine SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur enthält, muss die ACL_REVISION_DS Revisionsnummer in der ACE_HEADER-Struktur angeben.

Wenn eine SYSTEM_AUDIT_CALLBACK_OBJECT_ACE-Struktur erstellt wird, muss ausreichend Arbeitsspeicher zugewiesen werden, um die GUID-Strukturen in ObjectType - und InheritedObjectType-Membern aufzunehmen, sofern eine oder beide vorhanden sind, sowie die vollständige SID des Vertrauenshänders im SidStart-Member und den darauf folgenden zusammenhängenden Arbeitsspeicher aufzunehmen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winnt.h (windows.h einschließen)

Weitere Informationen

ACL

AddAuditAccessObjectAce

GUID

SID