Compartilhar via


estrutura SYSTEM_AUDIT_CALLBACK_OBJECT_ACE (winnt.h)

A estrutura SYSTEM_AUDIT_CALLBACK_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.

Quando a função AuthzAccessCheck é chamada, cada estrutura SYSTEM_AUDIT_CALLBACK_OBJECT_ACE contida na DACL de uma estrutura de SECURITY_DESCRIPTOR passada por um ponteiro para a função AuthzAccessCheck invoca uma chamada para a função AuthzAccessCheckCallback definida pelo aplicativo, na qual um ponteiro para a estrutura de SYSTEM_AUDIT_CALLBACK_OBJECT_ACE encontrada é passado no parâmetro pAce .

Sintaxe

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;

Membros

Header

ACE_HEADER estrutura 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_CALLBACK_OBJECT_ACE_TYPE e o membro AceSize deve ser definido como o número total de bytes alocados para a estrutura de SYSTEM_AUDIT_CALLBACK_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
ACE_OBJECT_TYPE_PRESENT
O membro ObjectType contém um GUID.
ACE_INHERITED_OBJECT_TYPE_PRESENT
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.

Valor Significado
ADS_RIGHT_DS_READ_PROP e/ou ADS_RIGHT_DS_WRITE_PROP
O GUID ObjectType identifica um conjunto de propriedades ou uma propriedade do objeto . A ACE controla a auditoria das tentativas do administrador de ler ou gravar a propriedade ou o conjunto de propriedades.
ADS_RIGHT_DS_CONTROL_ACCESS
O GUID ObjectType identifica um direito de acesso estendido.
ADS_RIGHT_DS_CREATE_CHILD
O GUID ObjectType identifica um tipo de objeto filho. A ACE controla a auditoria das tentativas do administrador de criar esse tipo de objeto filho.
ADS_RIGHT_DS_SELF
O GUID ObjectType identifica uma gravação validada.

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.

SidStart

O primeiro DWORD do SID de um administrador. 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.

Comentários

Se nem o ObjectType nem o GUID InheritedObjectType forem especificados, a estrutura SYSTEM_AUDIT_CALLBACK_OBJECT_ACE terá a mesma semântica que a estrutura SYSTEM_AUDIT_CALLBACK_ACE . Nesse caso, use a estrutura SYSTEM_AUDIT_CALLBACK_ACE porque ela é menor e mais eficiente.

Uma ACL que contém uma estrutura SYSTEM_AUDIT_CALLBACK_OBJECT_ACE deve especificar o número de revisão ACL_REVISION_DS em sua estrutura de ACE_HEADER .

Quando uma estrutura SYSTEM_AUDIT_CALLBACK_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.

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)

Confira também

ACL

AddAuditAccessObjectAce

GUID

SID