スレッドとセキュリティ保護可能なオブジェクト間の相互作用

スレッドがセキュリティ保護可能なオブジェクトを使用しようとすると、システムは、スレッドの続行を許可する前にチェックアクセスを実行します。 アクセス チェックでは、システムはスレッドのアクセス トークン内のセキュリティ情報と、オブジェクトのセキュリティ記述子のセキュリティ情報を比較します。

  • アクセス トークンには、スレッドに関連付けられているユーザーを識別する セキュリティ識別子 (SID) が含まれています。
  • セキュリティ記述子は、オブジェクトの所有者を識別し、 随意アクセス制御リスト (DACL) を含みます。 DACL には アクセス制御エントリ (ACE) が含まれており、それぞれが特定のユーザーまたはグループに対して許可または拒否されるアクセス権を指定します。

システムはオブジェクトの DACL をチェックし、スレッドのアクセス トークンからユーザーおよびグループ SID に適用される ACE を探します。 アクセスが許可または拒否されるか、チェックする ACE がなくなったら、各 ACE がチェックされます。 アクセス 制御リスト (ACL) には、トークンの SID に適用される複数の ACE が含まれている可能性があります。 また、これが発生した場合、各 ACE によって付与されるアクセス権が蓄積されます。 たとえば、ある ACE がグループへの読み取りアクセスを許可し、別の ACE がグループのメンバーであるユーザーに書き込みアクセスを許可する場合、ユーザーはオブジェクトへの読み取りと書き込みの両方のアクセス権を持つことができます。

次の図は、これらのセキュリティ情報ブロック間の関係を示しています。

プロセス、ace、dacls の間のリレーションシップ