SECURITY_OBJECT 構造体 (aclui.h)

SECURITY_OBJECT構造体には、セキュリティ オブジェクト情報が含まれています。

構文

typedef struct _SECURITY_OBJECT {
  PWSTR   pwszName;
  PVOID   pData;
  DWORD   cbData;
  PVOID   pData2;
  DWORD   cbData2;
  DWORD   Id;
  BOOLEAN fWellKnown;
} SECURITY_OBJECT, *PSECURITY_OBJECT;

メンバー

pwszName

名前へのポインター。

pData

セキュリティ データへのポインター。

cbData

pData メンバーが指すデータのサイズ (バイト単位)。 データが IUnknown インターフェイス ポインター、ハンドル、リソース マネージャーに固有のデータであり、メモリ割り当てなしで pData に直接格納できるデータである場合など、pData にデータが含まれている場合、これは 0 になることがあります。

pData2

追加のセキュリティ データへのポインター。

cbData2

pData2 メンバーが指すデータのサイズ (バイト単位)。 データが IUnknown インターフェイス ポインター、ハンドル、リソース マネージャーに固有のデータであり、メモリ割り当てなしで pData2 に直接格納できるデータである場合など、pData2 にデータが含まれている場合、これは 0 になることがあります。

Id

セキュリティ オブジェクトの型の識別子。 fWellKnown メンバーが FALSE の場合、Id メンバーは、リソース マネージャーがセキュリティ オブジェクトの他のクラスと区別するのに役立つ以外に特別な意味はありません。 fWellKnown メンバーが TRUE の場合、Id メンバーは次のいずれかであり、構造体全体が対応する表現に従います。

意味
SECURITY_OBJECT_ID_OBJECT_SD (1)
リソースのセキュリティ記述子。

Id がこの値に設定されている場合、pData はセキュリティ記述子を指し、cbDatapData のバイト数です。

pData2NULLcbData2 は 0 です。

SECURITY_OBJECT_ID_SHARE (2)
ネットワーク共有のセキュリティ記述子。

Id がこの値に設定されている場合、pData は共有のセキュリティ コンテキストを表すオブジェクトの ISecurityInformation インターフェイスを指します。

セキュリティ記述子がまだ使用できない場合、 pData2 は、 GetSecondarySecurity メソッドがS_FALSEを返したときにセキュリティ記述子の準備ができたときに通知される待機可能オブジェクトへのハンドルである必要があります。 待機可能オブジェクトは、 CreateEvent 関数によって作成する必要があります。 この場合、 cbData2 は 0 です。

この識別子は、ファイル システム オブジェクトにのみ適用されます。

SECURITY_OBJECT_ID_CENTRAL_POLICY (3)
中央アクセス ポリシーのセキュリティ記述子。

Id がこの値に設定されている場合、pData は、リソースの所有者、グループ、および属性に一致する空の DACL、所有者、グループ、属性アクセス制御エントリ (ACE) と、中央ポリシーの ID を含むSCOPE_SECURITY_INFORMATION_ACEを持つセキュリティ記述子を指します。cbDatapData のバイト数に設定されます。

pData2NULLcbData2 は 0 です。

セキュリティ記述子は、有効なアクセス許可を計算して、アクセスが中央ポリシーによって制限されるタイミングを正しく判断できるように構築されており、中央アクセス規則の詳細を特定できません。 これは、リソースに適用される集約型アクセス ポリシーを要素的な集約型アクセス規則に解決できない場合に使用されます。

SECURITY_OBJECT_ID_CENTRAL_ACCESS_RULE (4)
中央アクセス規則のセキュリティ記述子。

Id がこの値に設定されている場合、pData は、リソースの所有者、グループ、および属性に一致する所有者、グループ、および属性 ACE、および中央アクセス 規則の DACL に一致する随意アクセス制御リスト (DACL) を持つセキュリティ記述子を指します。 cbData は pData のバイト数に設定 されます

さらに、 pData2 は、中央アクセス 規則のリソース条件が TRUE に評価された場合に、0x1を Everyone に付与する条件付き ACE を含む DACL を持つセキュリティ記述子を指します。 cbData2pData2 のバイト数に設定されます。

セキュリティ記述子は、中央アクセス ポリシーによってアクセスが制限されるタイミングを最も詳細に判断するための有効なアクセス許可を計算できるように構築されています。 つまり、アクセスは中央ポリシー規則を指すことによって制限されます。

fWellKnown

セキュリティ オブジェクトが Id メンバーにリストされている既知のセキュリティ オブジェクトの 1 つを表す場合は TRUE。

注釈

SECURITY_OBJECT構造体の Id メンバーが SECURITY_OBJECT_ID_CENTRAL_ACCESS_RULE に設定されている場合、ComputeEffectivePermissionWithSecondarySecurity メソッドは、最初に の pData2 メンバーを使用し、pData メンバーを使用してアクセスを評価する必要があります。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
Header aclui.h

こちらもご覧ください

IEffectivePermission2::ComputeEffectivePermissionWithSecondarySecurity

ISecurityInformation4::GetSecondarySecurity