estrutura SYSTEM_AUDIT_OBJECT_ACE (winnt.h)
A estrutura SYSTEM_AUDIT_OBJECT_ACE define uma ACE ( entrada de controle de acesso ) para uma SACL ( lista de controle de acesso do sistema ). A ACE pode auditar o acesso a um objeto ou subobjetos, como conjuntos de propriedades ou propriedades. O ACE contém um conjunto de direitos de acesso, um GUID que identifica o tipo de objeto ou subobjeto e um SID ( identificador de segurança ) que identifica o administrador para quem o sistema auditará o acesso. A ACE também contém um GUID e um conjunto de sinalizadores que controlam a herança da ACE por objetos filho.
Sintaxe
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;
Membros
Header
Uma estrutura ACE_HEADER que especifica o tamanho e o tipo de ACE. Ele contém sinalizadores que controlam a herança do ACE por objetos filho. A estrutura também contém sinalizadores que indicam se a ACE audita tentativas de acesso bem-sucedidas, tentativas de acesso com falha ou ambas. O membro AceType da estrutura ACE_HEADER deve ser definido como SYSTEM_AUDIT_OBJECT_ACE_TYPE e o membro AceSize deve ser definido como o número total de bytes alocados para a estrutura de SYSTEM_AUDIT_OBJECT_ACE .
Mask
Um ACCESS_MASK que especifica os direitos de acesso que o sistema auditará para tentativas de acesso pelo administrador.
Flags
Um conjunto de sinalizadores de bits que indicam se os membros ObjectType e InheritedObjectType contêm GUIDs. Esse membro pode ser uma combinação dos valores a seguir. Defina todos os bits indefinidos como zero.
Valor | Significado |
---|---|
|
O membro ObjectType contém um GUID. |
|
O membro InheritedObjectType contém um GUID. |
ObjectType
Uma estrutura GUID que identifica um conjunto de propriedades, uma propriedade, um direito estendido ou um tipo de objeto filho.
Esse membro só será válido se o bit ACE_OBJECT_TYPE_PRESENT estiver definido no membro Flags . Caso contrário, ObjectType será ignorado.
A finalidade desse GUID depende dos direitos de acesso especificados no membro Mask .
Esse membro pode ser um dos valores a seguir.
InheritedObjectType
Uma estrutura GUID que identifica o tipo de objeto filho que pode herdar o ACE.
Esse membro só será válido se o bit ACE_INHERITED_OBJECT_TYPE_PRESENT estiver definido no membro Flags . Se esse bit não estiver definido, InheritedObjectType será ignorado e todos os tipos de objetos filho poderão herdar o ACE. Em ambos os casos, a herança também é controlada pelos sinalizadores de herança no ACE_HEADER, bem como por qualquer proteção contra herança colocada nos objetos filho.
O deslocamento desse membro pode variar. Se o membro Flags não contiver o sinalizador ACE_OBJECT_TYPE_PRESENT, o membro InheritedObjectType será iniciado no deslocamento especificado pelo membro ObjectType .
SidStart
Especifica o primeiro DWORD de um SID que identifica o administrador para quem as tentativas de acesso são auditadas. Os bytes restantes do SID são armazenados na memória contígua após o membro SidStart . Esse SID pode ser acrescentado com os dados do aplicativo.
O deslocamento desse membro pode variar. Se o membro Flags for zero, o membro SidStart começará no deslocamento especificado pelo membro ObjectType . Se Flags contiver apenas um sinalizador (ACE_OBJECT_TYPE_PRESENT ou ACE_INHERITED_OBJECT_TYPE_PRESENT), o membro SidStart começará no deslocamento especificado pelo membro InheritedObjectType .
Comentários
Se nem o ObjectType nem o GUID InheritedObjectType forem especificados, a estrutura SYSTEM_AUDIT_OBJECT_ACE terá a mesma semântica que a estrutura SYSTEM_AUDIT_ACE . Nesse caso, use a estrutura SYSTEM_AUDIT_ACE porque ela é menor e mais eficiente.
Uma ACL que contém um SYSTEM_AUDIT_OBJECT_ACE deve especificar o número de revisão ACL_REVISION_DS em sua estrutura de ACE_HEADER .
Quando uma estrutura SYSTEM_AUDIT_OBJECT_ACE é criada, a memória suficiente deve ser alocada para acomodar as estruturas GUID nos membros ObjectType e InheritedObjectType , se houver um ou ambos, bem como para acomodar o SID completo do administrador no membro SidStart e a memória contígua que a segue.
Uma estrutura SYSTEM_AUDIT_OBJECT_ACE pode ser criada em uma ACL (lista de controle de acesso ) por uma chamada para a função AddAuditAccessObjectAce . Quando essa função é usada, a quantidade correta de memória necessária para acomodar as estruturas GUID nos membros ObjectType e InheritedObjectType , se uma ou ambas existirem, bem como para acomodar o SID do administrador será alocada automaticamente. Além disso, os valores dos membros Header.AceType e Header.AceSize são definidos automaticamente. Quando uma estrutura SYSTEM_AUDIT_OBJECT_ACE é criada fora de uma ACL, a memória suficiente deve ser alocada para acomodar as estruturas GUID nos membros ObjectType e InheritedObjectType , se houver um ou ambos, bem como para acomodar o SID completo do administrador no membro SidStart e a memória contígua que a segue. Além disso, os valores dos membros Header.AceType e Header.AceSize devem ser definidos explicitamente pelo aplicativo.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | winnt.h (inclua Windows.h) |