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_HEADER ACE のサイズと種類を指定する構造体です。 これには、子オブジェクトによる ACE の継承を制御するフラグが含まれています。 構造体には、ACE がアクセス試行の成功、アクセス試行の失敗、またはその両方を監査するかどうかを示すフラグも含まれています。 ACE_HEADER構造体の AceType メンバーをSYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPEに設定し、AceSize メンバーをSYSTEM_AUDIT_CALLBACK_OBJECT_ACE構造体に割り当てられたバイトの合計数に設定する必要があります。

Mask

トラスティによるアクセス試行についてシステムが監査するアクセス権を指定するACCESS_MASK。

Flags

ObjectType メンバーと InheritedObjectType メンバーに 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構造体を作成するときは、ObjectType メンバーと InheritedObjectType メンバーの GUID 構造体に対応するために十分なメモリを割り当てる必要があります。一方または両方が存在する場合は、SidStart メンバー内のトラスティの完全な SID とそれに続く連続したメモリに対応する必要があります。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winnt.h (Windows.h を含む)

こちらもご覧ください

ACL

AddAuditAccessObjectAce

GUID

SID