元のアドレス: http://www.iis.net/1026/SinglePageArticle.ashx
翻訳者: Tony Qu (BluePrint 翻訳チームより)
著者: Vikas Malhotra
最終更新日: 2006 年 9 月 12 日火曜日、午前 11:48 はじめに
IIS の以前のバージョンでは、インストール中に IUSR_MachineName というローカル アカウントが作成されました。匿名認証が有効になると、この IUSR_MachineName アカウントがデフォルトで IIS によって使用される ID となり、FTP サービスと HTTP サービスの両方で使用されます。すべてのアプリケーション プール アカウントのコンテナーである IIS_WPG というグループもあります。 IIS のインストール中に、使用可能なすべてのシステム リソースに IIS_WPG に対する適切なアクセス許可が設定されていることを確認する必要があります。管理者が新しいアプリケーション プール アカウントを作成するときは、新しいアカウント (ID) をこのグループに追加するだけです。
このモデルは非常にうまく機能しますが、他の設計と同様に欠点があります。主な欠点は、IUSR_MachineName アカウントと IIS_WPG グループが、それらが作成されたシステムに対してローカルであることです。 Windows の各アカウントまたはグループには、他のアカウントまたはグループと区別できるように、SID (セキュリティ識別番号) と呼ばれる固有の番号が付いています。 SID は ACL の作成にのみ使用されます。以前のバージョンの IIS の設計の一部として、metabase.xml ファイルに IUSR_MachineName が含まれていました。あるマシンから別のマシンに metabase.xml をコピーしようとしても、マシン上の他のマシンのアカウントが異なるものを使用するため、すぐには機能しません。名前。また、マシンごとに SID が異なるため、単に xcopy /o を使用して ACL をコピーすることはできません。回避策の 1 つはドメイン アカウントを使用することですが、Active Directory をスキーマに追加する必要があります。 IIS_WPG グループにも同じ権限の問題があります。あるマシンのファイル システム上で IIS_WPG グループの ACL を設定した場合、xcopy /o を使用して ACL を別のマシンにコピーすることはできません。 IIS はこの問題を認識しており、IIS 7.0 の組み込みアカウントとグループを使用することで問題を改善しました。
組み込みのアカウントとグループはオペレーティング システムによって保証されており、IIS がさらに優れたものであることが保証され、新しいアカウント名とグループ名がローカライズされないことが保証されます。たとえば、インストールする Windows の言語バージョンに関係なく、IIS アカウント名は常に IUSR になり、グループ名は常に IIS_IUSRS になります。
要約すると、IIS 7.0 では、
IUSR 組み込みアカウントが IUSR_MachineName アカウントを置き換えます。
IIS_IUSRS 組み込みグループは IIS_WPG グループを置き換えます。IUSR
は組み込みアカウントであるため、パスワードは必要ありません。論理的には、NETWORKSERVICE または LOCALSERVICE アカウントと考えることができます。 IUSR アカウントと IIS_IUSRS グループについては、次の章で詳しく説明します。
新しい IUSR アカウントについて 前述したように、IUSR アカウントは、IIS 7.0 の IUSR_MachineName アカウントを置き換えます。 IUSR_MachineName アカウントは、FTP サーバーのインストール時にのみ作成および使用されます。 FTP がインストールされていない場合、アカウントは作成されません。
この組み込みアカウントはパスワードを必要とせず、匿名認証が有効になっている場合にデフォルトのユーザー ID として使用されます。 applicationHost.config ファイルを見ると、次の定義が見つかります。
<anonymousAuthentication Enabled="true" userName="IUSR"defaultLogonDomain="" />
これにより、IIS はすべての匿名認証要求に新しい組み込みアカウントを使用するように指示されます。これを行うことの大きな利点は、次のことが可能になることです。
* Windows エクスプローラーまたはその他の多くのコマンド ライン ツールを使用して、IUSR のファイル システムのアクセス許可を設定する
* このアカウントのパスワードが期限切れになることを心配する必要はありません
* ファイルとその所有権および ACL 情報を別のマシンにシームレスにコピーするには、xcopy /o を使用します。IUSR
アカウントは、ネットワーク上で匿名で動作するという点で LOCALSERVICE アカウントとよく似ていることに注意してください。 NETWORKSERVICE と LOCALSYSTEM はマシンとして機能しますが、IUSR は特権プロモーションであるため機能しません。ネットワークにアクセスできる匿名アカウントが必要な場合は、以前に匿名認証を設定したのと同じように、新しいユーザー アカウントを作成し、ユーザー名とパスワードを手動で設定する必要があります。 IIS マネージャーでこれを実現するには、次の手順を実行します。
* [スタート] ボタンをクリックし、「INetMgr.exe」と入力して Enter キーを押します (プロンプト ボックスが表示された場合は、[続行] を押してアクセス許可を昇格させます)
※「接続」のマシン名の横にある「+」ボタンをクリックします。
※IISマネージャーで管理したいサイトをダブルクリックします。
* 機能名の見出しの下にある認証項目をダブルクリックします。
* [匿名認証] を選択し、右側のタスク タイトルの下にある [編集] をクリックすると、[資格情報の指定] ダイアログが表示されます。
* [特定のユーザー] オプションをクリックし、[設定] ボタンを押します。
* 必要なユーザー名とパスワードを入力し、[OK] を押して
新しい IIS_IUSRS グループを理解します。前述したように、IIS_IUSRS グループは、すべてのファイルとシステム リソースへのアクセス権をすでに持っているため、アカウントがグループに追加され、アプリケーション プール ID としてシームレスに機能します。
この組み込みグループは組み込みアカウントで動作するため、xcopy の展開に関するいくつかの問題を解決できます。ファイルに IIS_WPG のアクセス許可を設定し (これは IIS6 で可能)、それらのファイルを別の Windows システムにコピーしようとすると、グループ SID がマシンごとに異なるため、サイト設定が破損する可能性があります。
IIS7 では、グループ SID がすべての Longhorn システムで同じであるためです。 「xcopy /o」を使用すると、ファイルをあるマシンから別のマシンに移動するときに ACL と所有権情報が保持されるため、xcopy の展開がはるかに簡単になります。
顧客からの 2 番目の要求は、「アプリケーション プール ID を構成したら、必要な変更をすべて IIS に加えてもらう必要がある」です。私たちはこのコメントを受け入れ、IIS7.0 ではこのプロセスをさらに簡素化しました。 IIS はワーカー プロセスを開始するときに、プロセスで使用するトークンを作成する必要があります。このトークンを作成すると、IIS は実行時に IIS_IUSRS メンバーシップをワーカー プロセス トークンに自動的に追加します。これにより、アカウントは明示的に IIS_IUSRS グループの一部にならずにアプリケーション プールとして実行できるようになります。この変更により、システムのセットアップがより簡単になり、全体的なエクスペリエンスが向上すると信じています。
この機能を無効にしてアカウントを IIS_IUSRS グループに手動で追加する場合は、manualGroupMembership 値を true に設定することによってのみこの機能を使用できます。以下は、defaultAppPool を設定してこの機能を無効にする方法の例です:
<applicationPools>
<add name="DefaultAppPool">
<processModel ManualGroupMembership="true" />
</追加>
</アプリケーションプール>