SYSTEM_AUDIT_OBJECT_ACE structure (winnt.h)
La structure SYSTEM_AUDIT_OBJECT_ACE définit une entrée de contrôle d’accès (ACE) pour une liste de contrôle d’accès système (SACL). L’ACE peut auditer l’accès à un objet ou à des sous-objets tels que des jeux de propriétés ou des propriétés. L’ACE contient un ensemble de droits d’accès, un GUID qui identifie le type d’objet ou de sous-objet et un identificateur de sécurité (SID) qui identifie le fiduciaire pour lequel le système auditera l’accès. L'entrée du contrôle d'accès contient également un GUID et un jeu d'indicateurs qui contrôlent la façon dont les objets enfants héritent de cette entrée.
Syntaxe
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;
Membres
Header
Structure ACE_HEADER qui spécifie la taille et le type d’ACE. Il contient des indicateurs qui contrôlent l’héritage de l’ACE par des objets enfants. La structure contient également des indicateurs qui indiquent si l’ace audite les tentatives d’accès réussies, les tentatives d’accès ayant échoué, ou les deux. Le membre AceType de la structure ACE_HEADER doit être défini sur SYSTEM_AUDIT_OBJECT_ACE_TYPE, et le membre AceSize doit être défini sur le nombre total d’octets alloués pour la structure SYSTEM_AUDIT_OBJECT_ACE .
Mask
ACCESS_MASK qui spécifie les droits d’accès que le système auditera pour les tentatives d’accès effectuées par le fiduciaire.
Flags
Ensemble d’indicateurs de bits qui indiquent si les membres ObjectType et InheritedObjectType contiennent des GUID. Ce membre peut être une combinaison des valeurs suivantes. Définissez tous les bits non définis sur zéro.
Valeur | Signification |
---|---|
|
Le membre ObjectType contient un GUID. |
|
Le membre InheritedObjectType contient un GUID. |
ObjectType
Structure GUID qui identifie un jeu de propriétés, une propriété, un droit étendu ou un type d’objet enfant.
Ce membre est valide uniquement si le bit ACE_OBJECT_TYPE_PRESENT est défini dans le membre Indicateurs . Sinon, ObjectType est ignoré.
L’objectif de ce GUID dépend des droits d’accès spécifiés dans le membre Mask .
Ce membre peut être l’une des valeurs suivantes.
InheritedObjectType
Structure GUID qui identifie le type d’objet enfant qui peut hériter de l’ACE.
Ce membre est valide uniquement si le bit ACE_INHERITED_OBJECT_TYPE_PRESENT est défini dans le membre Indicateurs . Si ce bit n’est pas défini, InheritedObjectType est ignoré et tous les types d’objets enfants peuvent hériter de l’ACE. Dans les deux cas, l’héritage est également contrôlé par les indicateurs d’héritage dans le ACE_HEADER, ainsi que par toute protection contre l’héritage placé sur les objets enfants.
Le décalage de ce membre peut varier. Si le membre Flags ne contient pas l’indicateur ACE_OBJECT_TYPE_PRESENT, le membre InheritedObjectType commence au décalage spécifié par le membre ObjectType .
SidStart
Spécifie le premier DWORD d’un SID qui identifie le fiduciaire pour lequel les tentatives d’accès sont auditées. Les octets restants du SID sont stockés dans la mémoire contiguë après le membre SidStart . Ce SID peut être ajouté avec des données d’application.
Le décalage de ce membre peut varier. Si le membre Flags est égal à zéro, le membre SidStart commence au décalage spécifié par le membre ObjectType . Si Flags ne contient qu’un seul indicateur (ACE_OBJECT_TYPE_PRESENT ou ACE_INHERITED_OBJECT_TYPE_PRESENT), le membre SidStart démarre au décalage spécifié par le membre InheritedObjectType .
Remarques
Si ni le GUID ObjectType ni InheritedObjectType ne sont spécifiés, la structure SYSTEM_AUDIT_OBJECT_ACE a la même sémantique que la structure SYSTEM_AUDIT_ACE . Dans ce cas, utilisez la structure SYSTEM_AUDIT_ACE , car elle est plus petite et plus efficace.
Une liste de contrôle d’accès contenant un SYSTEM_AUDIT_OBJECT_ACE doit spécifier le numéro de révision ACL_REVISION_DS dans sa structure ACE_HEADER .
Lorsqu’une structure SYSTEM_AUDIT_OBJECT_ACE est créée, une mémoire suffisante doit être allouée pour prendre en charge les structures GUID dans les membres ObjectType et InheritedObjectType , si l’une d’elles ou les deux existent, ainsi que pour prendre en charge le SID complet du fiduciaire dans le membre SidStart et la mémoire contiguë qui le suit.
Une structure SYSTEM_AUDIT_OBJECT_ACE peut être créée dans une liste de contrôle d’accès (ACL) par un appel à la fonction AddAuditAccessObjectAce . Lorsque cette fonction est utilisée, la quantité de mémoire nécessaire pour prendre en charge les structures GUID dans les membres ObjectType et InheritedObjectType , s’il en existe un ou les deux, ainsi que pour prendre en charge le SID du fiduciaire est automatiquement allouée. En outre, les valeurs des membres Header.AceType et Header.AceSize sont définies automatiquement. Lorsqu’une structure SYSTEM_AUDIT_OBJECT_ACE est créée en dehors d’une liste de contrôle d’accès, suffisamment de mémoire doit être allouée pour prendre en charge les structures GUID dans les membres ObjectType et InheritedObjectType , si l’une d’elles existe, ou les deux, ainsi que pour prendre en charge le SID complet du fiduciaire dans le membre SidStart et la mémoire contiguë qui le suit. En outre, les valeurs des membres Header.AceType et Header.AceSize doivent être définies explicitement par l’application.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | winnt.h (inclure Windows.h) |