匿名認証を使用してセットアップしようとしているクラシックASPサイトがあります。現在のセットアップは次のとおりです。
サイトのディレクトリのIUSR
アカウントとNETWORK SERVICE
アカウントに読み取りと実行のアクセス許可を割り当てると、匿名アクセスが可能になります。ただし、何らかの理由でNETWORK SERVICE
権限をIIS_IUSRS
に割り当てることができ、同じ効果が得られます。アプリプールがApplicationPoolIdentityIDではなくNetworkServiceIDを選択して実行されていることを考えると、これは私には奇妙に思えます。また、net localgroup IIS_IUSRS
を使用すると、NETWORK SERVICE
がマシンのIIS_IUSRS
グループのメンバーではないことがわかります。
では、なぜIIS_IUSRS
に権限を割り当てるとNETWORK SERVICE
アカウントにアクセスできるのでしょうか?
NETWORK SERVICE
で認証できない場合にアプリプールの仮想アカウントを使用しようとする奇妙なフォールバックロジックがあるのではないかと思いましたが、Process Monitorを実行すると、w3wp.exeプロセスがNT Authority\NETWORK SERVICE
を使用して正常に認証されたことがわかります。 。何か案は?
役立つ場合は、サーバー情報を次に示します。
IISアプリケーションプールを実行しているアカウントは、実行時にIIS_IUSRS
グループに自動的に追加されます。
より正確には、IIS_IUSRS
グループのセキュリティトークンは、任意のアプリケーションプールを実行しているプロセスのセキュリティトークンに追加されます。
IIS_IUSRS
グループの静的メンバーシップを見ると、何が起こっているのかについて間違った考えがわかります。
Process Explorerの[セキュリティ]タブを見ると、BUILTIN\IIS_IUSRS
プロセスのグループの1つとしてw3wp.exe
が表示されているはずです。