匿名ユーザーとしてのアプリケーション プール ID

公開日: 2007 年 12 月 1 日 (作業者: walterov (英語))

更新日: 2009 年 5 月 11 日 (作業者: walterov (英語))

IIS の以前のバージョンでは、匿名ユーザーが複数のサイトに対してそれぞれ異なる匿名ユーザーを使用することにより、Classic ASP コンテンツを分離させることができました。分離は、ASP スクリプトがプロセス ID に戻るのを防ぐこと ("偽装サンドボックス") によって実現しました。Classic ASP、ASP.NET や、その他の動的コンテンツを使用している混在環境では、偽装サンドボックスはそれほど役立ちません。たとえば、別種の偽装を用いない限り、ASP.NET は信頼レベルと呼ばれる別の分離技法を用い、常にプロセス ID として動作します。

IIS 7 で分離を実現するためには、各アプリケーション プールを個別の ID で実行することができます。Web サイト用に構成された匿名ユーザー アカウントがない場合は、自動でアプリケーション プール ID を使用するよう IIS を構成できます。Web サイト用に必要なアカウントの数が大幅に減るため、アカウントの管理が容易になります。

アプリケーション プール ID を匿名 ID として使用するよう Web サーバーを構成するには

  • コマンド プロンプトを開き、以下のコマンドを実行します。
%windir%\system32\inetsrv\appcmd set config -section:anonymousAuthentication /username:"" --password 

メモ: この機能を有効にするには、匿名ユーザーの属性に空白の文字列を設定します (例: username="")。applicationHost.config ファイルからこの要素を削除すると、空白の文字列を設定した場合とは異なる動作をします。

メモ: この記事に示されている設定は、SQL Server Express では使用できません。SQL Server Express は、共有ホスティング シナリオでは決して使用しないでください。このエディションは、アプリケーション開発環境での使用のみを目的としています。詳細については、「SQL Server Express とホスティング(英語)」を参照してください。

IIS PowerShell Provider を使用して、アプリケーション プール ID を匿名 ID として使用するよう Web サーバーを構成するには

  • PowerShell プロンプトを開き、以下のコマンドを実行します。
set-webconfigurationproperty /system.webServer/security/authentication/anonymousAuthentication -name userName -value ""