Active Directory ドメインで NTFS フォルダー アクセスはどのようにチェックされますか?

Active Directory ドメインで NTFS フォルダー アクセスはどのようにチェックされますか?

NTFSフォルダとADオブジェクトの両方がセキュリティ記述子とDACLを使用してユーザー/プロセスアクセスをチェックすることを理解しています。 MS Learn - アクセスチェックの仕組み

しかし、アクセス チェックはネストされた AD グループの ACE をどのように解決するのでしょうか? たとえば、次のようになります。

  • ADグループAD-Parentには変更権限が付与されていますF:\Restrict
  • ADグループAD-VIPsAD-Parent
  • ユーザーvipは次のメンバーですAD-VIPs

私の理解では

  • vipセキュリティ記述子には、ACEが参照されAD-VIPs
  • F:RestrictDACLにはACEが参照されますAD-Parent

Windows のどのプロセスがどのようにして「vip -> AD-VIPs -> AD-Parent」チェーンを見つけてアクセスを許可するのでしょうか?

答え1

ログオン/認証/承認チェック中に、安全グループ メンバーシップは、Kerberos トークンの特権アクセス証明書 (PAC) 部分に追加されます。これにはネストされたグループも含まれます。

フォルダーにアクセスすると、リソースを持つホスト (この場合はファイル サーバー) は、ACL 内の SecurityIdentifier と Kerberos トークンの PAC 内の SecurityIdentifier を比較します。一致すると、アクセスが許可されます。

https://learn.microsoft.com/en-us/windows/win32/adschema/a-tokengroups

「特定のユーザーまたはコンピューターでの推移的なグループ メンバーシップ拡張操作による SID のリストを含む計算された属性。推移的な逆メンバーシップを取得するためのグローバル カタログが存在しない場合は、トークン グループを取得できません。」

答え2

あなたが提供してくれたリンクから始めましょう(強調は私によるものです):

システムは、各 ACE の受託者を、スレッドのアクセス トークンで識別された受託者と比較します。アクセス トークンには、ユーザーとユーザーが属するグループ アカウントを識別するセキュリティ識別子 (SID) が含まれています。

実際、「ユーザーが属するグループ アカウント」は、ユーザーがログインしたときに受け取った Kerberos チケットから取得されます。チケットには、グループが別のグループ内にネストされているかどうかに関係なく、ユーザーが属するすべてのグループの SID が含まれています。

具体的には、あなたの質問に答えます:

Windows のどのプロセスがどのようにして「vip -> AD-VIPs -> AD-Parent」チェーンを見つけてアクセスを許可するのでしょうか?

このタスクは、チケット保証チケット (TGT) を生成するとき (通常は、ユーザーがログインしたとき) にドメイン コントローラによって実行されます。TGT には、ユーザーが属するすべてのグループの SID が含まれています。

実験をして、その様子を少し見てみましょうプロセスエクスプローラー: Process Explorer を起動し、ドメイン ユーザーによって開始されたプロセス (たとえば、notepad.exe) をダブルクリックし、[セキュリティ] タブをクリックすると、グループがネストされている場合でも、グループのメンバーシップを確認できます。

プロセスエクスプローラーのセキュリティタブ

関連情報