次の方法で共有


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

作成者: Walter Oliver

以前のバージョンの IIS では、匿名ユーザーは、サイトごとに異なる匿名ユーザーを使用して、従来の ASP コンテンツを分離できていました。 分離は、ASP スクリプトが "偽装サンドボックス" と呼ばれるプロセス ID に戻らないようにすることで実現されました。 従来の ASP、ASP.NET、およびその他の動的コンテンツを使用する混合環境では、偽装サンドボックスは役に立ちません。 たとえば、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

Note

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

Note

この記事で説明する設定は、SQL Server Express と互換性がありません。 SQL Server Express は共有ホスティング シナリオでは絶対に使用しないでください。このエディションは、アプリケーション開発環境用としてのみ作られています。詳細については、SQL Server Express とホスティングに関するページを参照してください。

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

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