Active Directoryドメインがあり、サービスアカウントでドメイン上の複数のマシンで特定のWindowsサービスを実行したいとします。サービスアカウントは、すべてのサーバーで特定の(ファイルアクセス)アクセス許可が必要なため、すべてのサーバーで同じアカウントである必要があります。
このユーザーがサービスを実行できるようにするために必要な最小のアクセス許可は、「サービスとしてログオン」アクセス許可です。実際、[サービス]パネルに移動して、ドメインユーザーでサービスをセットアップしようとするとすぐに(関係なく)彼らがすでに持っている権利については、私は信じています)彼らは自動的に「サービスとしてログオンする」権限を割り当てられます。
私が理解しようとしているのは、これが自動的に意味する他の権利/許可です。
「サービスとしてログオン」権限があり、他の(少なくとも意図的な)権限がないドメインアカウントで実行されているサービスは、ローカルファイルシステム上のファイルを引き続き読み取ることができることがわかりました。これは、私が知らない場所にアクセス許可の継承があることを意味しますか、それとも「サービスとしてログオン」がサーバー上のファイルアクセスまたはその他の権限も付与することを意味しますか?
質問をする別の方法を推測します-特定のオブジェクト/ユーザー/アカウントについて、それが持っている権利とその理由/場所を正確に伝えることができるユーティリティはありますか?
さまざまな ログオンタイプ があります。特定のアカウントまたはグループを「サービスとしてのログオン」権限を持つものとして指定すると、そのアカウントまたはグループはその特定のログオンタイプでログオンできます。 「サービスとしてのログオン」は、「LOGON32_LOGON_SERVICE」タイプでログオンする機能以外の追加の権限をアカウントに付与しません。
「ユーザー」グループのメンバーシップなどのグループメンバーシップは、ファイルシステムからファイルを読み取る機能を駆動します。サービスユーザーとしてログオンしているときに「WHOAMI/ALL」コマンドを使用すると、特定のユーザーアカウントに付与されているすべてのグループメンバーシップと特権を表示できます(SeLogonServiceLogonRight-「サービスとしてのログオン」権限の背後にある特権を含む)。 SysInternalsの「ProcessExplorer」ツールは、実行中のプロセスに対してこれを実行できます(セキュリティトークンを列挙することにより)。
ファイルシステムアクセスの監査に関する限り、テストするすべてのファイルとディレクトリを列挙するために、何かを作成するか、サードパーティのツールを見つける必要があります。ファイルシステムACLの中央の「クリアリングハウス」はありません。それらはファイルシステム全体に散らばっています。 「xxxユーザーがアクセスできるファイル/フォルダー」を知りたい場合は、すべてのファイルとフォルダーをテストして確認する必要があります。
SysInternalsツール ' procexp 'はこれを提供します。ツールを実行し、サービスによって開始されたプロセスを探し、それを右クリックしてプロパティに移動します。 [セキュリティ]タブでは、そのプロセスが保持している権限のリストと、誰としてログインしているかがわかります。これは、サービスプロセスのアクセス環境を追跡するのに役立ちます。