IIS での IIS マネージャーの概要

作成者: IIS Team、Tobin Titus

互換性

バージョン メモ
IIS 7.0 以降 この記事で説明されている機能は、IIS 7.0 で導入されました。
IIS 6.0 以前 この記事で説明する機能は、IIS 7.0 より前ではサポートされていません。

はじめに

IIS 7.0 以降では、IIS の以前のバージョンよりも新しいユーザー インターフェイス (IIS マネージャー) が提供されています。 この記事では、外観と使用感、機能の委任、構成の操作、リモート処理について説明します。 IIS の一部のバージョンには、このドキュメントで説明する機能の一部が含まれていない場合があることにご注意ください。

変更する必要があった理由: 主な理由には次のようなものがあります。

  • IIS と ASP.NET の連携: IIS 6.0 のユーザーが Web サイトを右クリックし、[すべてのプロパティ] を選択すると、さまざまな設定のタブがいくつも含まれるダイアログが表示されます。 IIS 7.0 以降では、出力キャッシュ、失敗した要求トレース要求フィルター処理などの新機能の構成や、.NET Framework の ASP.NET と関連する部分の構成を表示するために、IIS マネージャーが必要です。 新しい機能により、より多くの新しいタブが必要となり、この選択肢は許容できません。
  • 委任された管理: メタベースから .NET 構成システムに構成を移動することは、ユーザーが (許可されている場合は) web.config ファイルで IIS 構成を設定できることを意味します。 たとえば、アプリケーション http://www.contoso.com/sales の構成は、ルート構成ファイル applicationHost.config からサイト http://www.contoso.com/ web.config ファイルに、またはアプリケーションの web.config ファイルに直接書き込むことができます。 新しい IIS マネージャーは、1) 管理者が web.config ファイルで許可されている構成を制御できるようにし、2) 構成が書き込まれている管理者/ユーザーを表示する必要があります。 以前の IIS マネージャーは、これらの課題に対応していませんでした。
  • エンジニアリング上の理由: ソフトウェアには寿命があります。 時間とともに新しいテクノロジ、新しい要件、新しいルールが現れ、既存のソフトウェアの更新に伴う手間とコストがソフトウェアの再構築よりも高くなるタイミングが来ます。 IIS マネージャーも寿命が近づいていました。

他に知っておくべきこと: IIS マネージャーの書き換えが決定した後、機会をとらえていくつかの重要な改善を行いました。

  • 拡張性: IIS 6.0 バージョンの IIS マネージャーの拡張は非常に困難でした。 新しい IIS マネージャーにより、機能ページ、ツリービュー ノード、メニュー項目を、いずれもマネージド コードと WinForms を使用して簡単に追加できます。 新しい IIS マネージャー拡張機能は、サーバーに接続しているリモート IIS マネージャー クライアントによって自動的に検出およびダウンロードされます。
  • リモート管理: リモート管理はすべて HTTPS 経由で行われ、ファイアウォールが使いやすくなり、管理しやすくなります。 Web 管理サービス (WMSVC) は、必要に応じてリモート管理を可能にするインストール可能なコンポーネントです。
  • 新しい外観と使用感: IIS マネージャーには、設定を公開するためのよりスケーラブルなモデルが必要でした。新しい機能リスト ビューはコントロール パネルに似ています。 リスト ビューをさまざまな方法で並べ替え、グループ化、表示できるため、探している項目を簡単に見つけることができます。 また、IIS マネージャーのナビゲーションに、Windows エクスプローラーのようなアドレス バーが用意され、ブラウザーに似た使用感を提供します。

Note

このドキュメントは、Windows Server 2008 向けに作成されました。 Windows Vista® には、このドキュメント説明する機能の一部が含まれていない場合があります。

新しい外観と使用感

過去のリリースでは、インターネット インフォメーション サービス (IIS) マネージャーに "戻る/進む" 型のナビゲーションが含まれていました。新しい IIS マネージャーではこれをさらに拡張し、Windows エクスプローラーのように動作するアドレス バーが追加されました。

I I S マネージャー画面のスクリーンショット。既定の Web サイトのホーム ページが表示されています。

図 1: 新しい IIS マネージャー

ホーム ページ

ホーム ページは、IIS マネージャーの使用を開始するとすぐに使い慣れるはずです。 中央の機能リストは、機能名や説明で並べ替えたり、エリアまたはカテゴリ別にグループ化したり、さまざまなレイアウトで表示したりできます。

グループ化、ビュー、および機能の一覧を示す [既定の Web サイトのホーム] ウィンドウのスクリーンショット。

図 2: IIS マネージャーでのグループ化

機能スコープ

ツリービュー内のサーバー、サイト、アプリケーション、仮想ディレクトリ、フォルダー ノードはすべて、機能リストを含むホーム ページを表示します。 ほとんどの機能は、これらすべてのノードのホーム ページに表示されますが、例外もあります。

次の機能は、サーバー全体の構成、データ、または情報であるため、サーバーのホームページだけに表示されます。

  • ISAPI および CGI の制限
  • 証明書 (ただし、リモート接続には表示されません)
  • 管理サービス (ただし、リモート接続には表示されません)
  • ワーカー プロセス

次の機能はアプリケーション構成であり、サーバー レベルでは論理的ではないか、または単にその方が正常に動作するため (SSL)、サーバーのホーム ページを除くすべての場所に表示されます。

  • メンバーシップ ユーザー
  • メンバーシップ ロール
  • プロフィール
  • SSL

委任に関連する機能には、表示される場所に関する特別なルールがあります。

  • 機能の委任: 常に接続のルート ノードに対してのみ表示されます
  • 管理者: サーバー ノード、サイト ノード、アプリケーション ノードに対してのみ表示されます

機能ページ レイアウト

IIS には 3 種類のページがあります

リスト ページ

リスト ページにはリストが含まれます。 ほとんどのリスト ページでは、1 つ以上の列の値でグループ化できます。 メイン リスト ページ (サイトやアプリケーション プールなど) では、リスト列で検索文字列と一致するエントリを検索して、リスト エントリをフィルター処理できます。

[移動] メニューと [操作] ウィンドウを示す I I S マネージャー画面の一部のスクリーンショット。

図 3: IIS マネージャー リスト ページ

作業ウィンドウの [追加]/[編集]/[削除] タスクを使用すると、リストの内容を操作できます。 リスト エントリに固有ではない機能設定 (ローカル要求の詳細なエラーによってカスタム エラーをオーバーライドする必要があることを指定する、など) は、通常、[機能設定の編集...] タスクを使用して構成されます。

アラート ウィンドウを示す機能設定ページのスクリーンショット。

図 4: IIS マネージャーのアクション

[プロパティ] グリッド

プロパティ グリッド ページには、関連するプロパティのグリッドが表示されます。 プロパティ グリッドの上部にある [表示] セレクターを使用すると、フレンドリ プロパティ名、構成プロパティ名、またはその両方を表示することを選択できます。 次のスクリーンショットでは、両方の名前が表示されています。

フレンドリ名と構成名を示すプロパティ グリッド ページのスクリーンショット。

図 5: IIS マネージャーのプロパティ グリッド

ダイアログ

ダイアログ ページにはチェックボックス、テキストボックス、ラジオ ボタンがあり、一般的に最もなじみがあるページの種類です。 作業ウィンドウで [適用] または [キャンセル] を使用して変更を保存します。

コンテンツ ビュー

コンテンツ ビューは読み取り専用表示です。このビューでは、ファイルやフォルダーを作成、コピー、移動、削除することはできません。 コンテンツ ビューにアクセスするには、IIS マネージャーの中央ウィンドウの下部にある [機能ビュー]/[コンテンツ ビュー] 切り替えで [コンテンツ ビュー] をクリックするか、ツリービュー ノードを右クリックして [コンテンツ ビューに切り替える] を選択します。

ファイルの構成を設定する唯一の方法は、コンテンツ ビューに切り替え、ファイルを選択し、右クリック メニューまたは作業ウィンドウで [機能ビューに切り替える] をクリックすることです。

[機能ビュー] オプションと [コンテンツ ビュー] オプションを示すスクリーンショット。

図 6: 機能ビューに切り替える

機能の委任

サーバー管理者であり、サーバーにコンテンツを提供する主要なユーザーではない場合、または開発者であり、アプリケーションの IIS 構成をより詳細に制御する必要がある場合は、機能の委任に関心をお持ちかもしれません。

IIS 機能委任は、次を管理することを意味します。

  • web.config で設定できる構成を制御するための構成セクションのロック (通常、1 つの IIS 構成セクションは 1 つの IIS モジュールに対応します)
  • IIS マネージャーを使用して構成を表示し、ロック解除された構成セクションについて機能の構成を設定することが許可されているサイト ユーザーとアプリケーション ユーザーのセット

次に、IIS マネージャーでの機能の委任について説明します。 詳細なチュートリアルについては、機能の委任を管理する方法に関するページをご覧ください。

構成のロック

構成セクションが既定で "ロック" されている場合は、applicationHost.config でのみ構成できます。IIS マネージャーは、サーバー管理者が IIS 構成セクションの "ロック解除" を行う手段を提供します。 構成のセクションのロックが解除されると、管理者以外のユーザーが web.config ファイルで設定できます。

たとえば、IIS マネージャーの "カスタム エラー ページ" 機能は、"system.webServer/httpErrors" セクションの構成と対話します。 サーバー管理者が IIS マネージャーまたは appcmd を使用して system.web/httpErrors 構成セクションのロックを解除すると、applicationHost.config の場所タグ内に httpErrors セクションと overrideMode="allow" が表示されます。

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors/>
    </system.webServer>
</location>

OverrideMode="allow" は、web.config ファイルで httpErrors の構成を設定することが有効であることを意味します。

<configuration>
   <system.webServer>
      <httpErrors>
         <remove statusCode="404" subStatusCode="-1" />
         <error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
      </httpErrors>
   </system.webServer>
</configuration>

構成ロックが接続に与える影響については、以下の「サーバー、サイト、アプリケーションの接続」セクションをご覧ください。 構成ロックの詳細については、構成ロックを使用する方法に関するページをご覧ください。

サイト管理者とアプリケーション管理者

さらに、サーバー管理者は、管理者以外のユーザーが IIS マネージャーを使用してサイトまたはアプリケーションに接続できるようにすることができます。 サイトまたはアプリケーションに接続できる管理者以外のユーザーは、"サイト管理者" または "アプリケーション管理者" と呼ばれ、次のことができます。

  • サイトまたはアプリケーションのロック解除された構成を管理する (設定は web.config ファイルに書き込まれます)
  • ロックされた構成設定を表示する (変更することはできません)
  • サイトまたはアプリケーションに他のサイト管理者またはアプリケーション管理者を追加する

サイト管理者とアプリケーション管理者を作成する方法の詳細については、委任のためのサイト管理者およびアプリケーション管理者の作成に関するオンライン ドキュメントをご覧ください。

サーバー、サイト、アプリケーションの接続

IIS マネージャーを使用して Web サーバーに接続できるのは、マシン管理者だけです。 サーバー接続は、ルート構成ファイル、applicationHost.config、ルート web.config、およびすべての分散 web.config ファイルの両方に書き込むことができます。 applicationHost.config で構成セクションがロックされている場合、構成の変更は場所タグの applicationHost.config に書き込まれるため、サーバー接続で対応する機能は読み取り/書き込みになります。

マシン管理者と指定されたサイト管理者は、Web サイトに接続できます。 サイト接続は、サイトのルート フォルダーの下にある web.config ファイルにのみ書き込むことができます。 applicationHost.config で構成セクションがロックされている場合、サイト接続では (場所タグでも) applicationHost.config に構成を書き込むことができないため、対応する機能はサイト接続で読み取り専用として表示されます。 これは、マシン管理者とサイト管理者の両方に影響を与えます。

図 7: IIS マネージャーの構成階層

アプリケーションの親サイトのマシン管理者、指定されたアプリケーション管理者、およびサイト管理者は、アプリケーションに接続できます。 アプリケーション接続は、アプリケーションのルート フォルダーの下にある web.config ファイルにのみ書き込むことができます。 applicationHost.config またはサイトの web.config ファイルで構成セクションがロックされている場合、対応する機能はアプリケーション接続で読み取り専用として表示されます。

サーバー、サイト、またはアプリケーションに接続する方法の詳細については、IIS 7.0 での接続の管理に関するオンライン ドキュメントをご覧ください。

構成

構成のロックを変更せず、機能の委任を使用しない場合でも、ある時点で IIS マネージャーが構成の書き込み場所をどのように決定するのかを知りたくなるかもしれません。 この動作を定義するルールは 2 つあります。

  • ApplicationHost.config とルート Web.config: この機能が IIS マネージャーの ASP.NET 領域に記載されている場合、サーバー レベルの構成は .NET Framework v2.0 のルート web.config ファイルに書き込まれます。 この機能が IIS マネージャーの IIS 領域に記載されている場合、サーバー レベルの構成は applicationHost.config に書き込まれます。このルールの唯一の例外は、IIS 領域の認証機能にあるフォーム認証です。
  • ロックされている構成とロック解除された構成: すべての ASP.NET 構成セクションといくつかの IIS 構成セクションは、既定でロック解除されています。 ロック解除されたセクションの場合、IIS マネージャーはサイトの構成が変更された場合はサイトの web.config に書き込みます。アプリケーションの構成が変更された場合は、アプリケーションの構成に書き込まれます。 ほとんどの IIS 構成セクションは既定でロックされています。 ロックされたセクションの場合、IIS マネージャーは、サイトとアプリケーションの構成を変更する場合でも、常に applicationHost.config に書き込みます。

ステータス バー

ステータス バーは、IIS マネージャーが構成を書き込む場所を表示します。

Configuration: '<config_file_object_path>' <config_file_name>, <location path="<path>">

<config\_file\_object\_path> は、構成ファイル オブジェクトへのパスです。次に例を示します。

  • "localhost": サーバーレベルの構成。IIS 機能の applicationHost.config、ASP.NET 機能のルート web.config。
  • "localhost/Default Web Site": 既定の Web サイトの物理フォルダー内の web.config ファイル
  • "localhost/Default Web Site/careers/technical": 既定の Web サイトの下にある URL "/careers/technical" にマップされる物理フォルダー内の web.config ファイル

<config\_file\_name> は、対象構成ファイルの名前です。次に例を示します。

  • "applicationHost.config" または "root Web.config": IIS 機能の applicationHost.config、ASP.NET 機能のルート web.config
  • "web.config": Web 名前空間内の web.config ファイル

<location\_path> は、構成されているオブジェクトの場所のパスです (場所のパスの詳細については、構成の概要に関するページをご覧ください)。 テキストのこの部分は、機能の構成セクションが上位レベルでロックされている場合にのみ表示されます。

[機能ビューに切り替え] が選択され、[操作] ウィンドウが表示されているスクリーンショット。

例: ApplicationHost.config とルート Web.config への書き込み

圧縮は IIS 機能であり、ホーム ページ機能リストを領域別にグループ化またはフィルター処理すると IIS の下に表示されます。 サーバーレベルの [圧縮] ページに移動し、静的圧縮を無効にした場合、IIS マネージャーは %windir%\Windows\system32\inetsrv\applicationHost.config に次の構成を書き込みます。

<urlCompression doStaticCompression="false" />

.NET コンパイルは .NET Framework の構成であり、ホーム ページ機能リストを領域別にグループ化またはフィルター処理すると、ASP.NET の下に表示されます。 サーバーレベルの .NET コンパイル ページに移動し、既定の言語を C# に設定した場合、IIS マネージャーはルート web.config ファイルのコンパイル セクションに defaultLanguage 属性を追加します。つまり、次のようになります。%windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config:

<compilation defaultLanguage="C#">

これら両方の状況のステータス バーに、"Configuration: 'localhost' applicationHost.config" または "root web.config" と表示されます

例: ロックされた構成とロック解除された構成への書き込み

IIS の "defaultDocument" 構成セクションは、既定でロック解除されています。 既定の Web サイトの既定のドキュメントを構成した場合、IIS マネージャーは %windir%\inetpub\wwwroot\web.config に次の構成を書き込みます。

<configuration>
   <system.webServer>
      <defaultDocument>
         <files>
            <clear />
            <add value="default.aspx" />
      </defaultDocument>
   </system.webServer>
</configuration>

ステータス バーには、"Configuration: 'Default Web Site' web.config" と表示されます

IIS "httpErrors" 構成セクションは、既定でロック解除されています。 既定の Web サイトの HTTP 404 応答をカスタマイズすると、IIS マネージャーは %windir%\Windows\system32\inetsrv\applicationHost.config に次の構成を書き込みます。

<location path="Default Web Site" overrideMode="Allow">
  <system.webServer>
     <httpErrors>
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
     </httpErrors>
  </system.webServer>
</location>

ステータス バーに、"'localhost' applicationHost.config" または "root web.config", <location path="Default Web Site"> と表示されます

IIS 6.0 および IIS の以前のバージョンの IIS マネージャーのリモート処理は、MMC を通して行われ、常に有効になっていました。 IIS 7.0 以降では、IIS マネージャーのリモート処理を明示的に有効にする必要があります。 すべてのリモート管理は HTTPS 経由で行われ、Web 管理サービス (WMSVC) と呼ばれる IIS コンポーネントによって処理されます。 IIS マネージャーを使用して IIS 7.0 以降のリモート管理を有効にするには、IIS マネージャーのリモート処理を有効にする方法に関するページをご覧ください。

Web 管理サービス (WMSVC)

Web 管理サービス (WMSVC) は、NT サービスでホストされるスタンドアロン Web サーバー (ホスト可能な Web コア (HWC)) です。 WMSVC がインストールされて開始されると、割り当てられていないすべての IP アドレスでポート 8172 でリッスンします。 4 種類の要求のみを受け取る必要があり、それぞれが独自のハンドラーによって処理されます。

  • login.axd へのログイン要求
  • download.axd のコード ダウンロード要求
  • service.axd への管理サービス要求
  • ping.axd への ping 要求

ログイン要求

IIS マネージャーは、接続を確立するために、ネットワーク経由で WMSVC にログイン要求を送信します。 認証は、ユーザーが接続ダイアログで資格情報の入力を求められたときに選択した内容に応じて、NTLM または基本のいずれかです。

N T L M セクションと Basic セクションを示すログイン ダイアログのスクリーンショット。

図 9: 資格情報の指定

コードのダウンロード要求

ログインに成功すると、WMSVC は接続の UI モジュールの一覧を返します。 たとえば、"カスタム エラー ページ" などの各 IIS マネージャー ページは、モジュールに対応します。 IIS マネージャーに含まれていないモジュールがある場合は、モジュール バイナリのダウンロードを要求します (これは、サーバー管理者が運用サーバーに新しい RSA Security 製品をインストールしたが、サーバーへの接続に使用するデスクトップ コンピューターに製品をインストールしなかった場合などに発生します)。

管理サービス要求

接続が確立されると、エンド ユーザーは IIS マネージャーと対話し、管理サービス要求が発生します。 管理サービス要求は、WMSVC のモジュール サービスに、サーバー上の構成、ランタイム状態、およびプロバイダーの読み取り/書き込みを行うように指示します。

ping 要求

ping 要求は、WMSVC サービス内からホストする Web サーバー (HWC) に対して行われます。 ping 要求は、ホスト可能な Web コアが引き続き応答性を維持するための簡単なメカニズムです。

サービス構成
WMSVC には、ごく少数の編集可能な構成がレジストリに格納されています。 サービスが開始されるたびに、Web 構成ファイルが %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\ で再生成されます。 Web 構成ファイルは編集できません (管理者の場合も含む)。

Web 構成ファイルを示すスクリーンショット。

図 10: レジストリでの構成の変更

セキュリティ

IIS マネージャーと Web 管理サービス (WMSVC) のリモート処理は、機能をシンプルかつ安全にするために、一連のレビューが行われました。 次のようなセキュリティ対策が行われました。

  • リモート IIS マネージャー クライアントと WMSVC の間で渡されるデータをセキュリティで保護するために、すべての接続に SSL(HTTPS) が必要です
  • より少ない一連のアクセス許可を使用してローカル サービスとして実行します

ロックダウンされたホスト可能な Web コア (HWC) 構成 (必要なモジュールの最小限のセットや、慎重に作成された要求フィルタリング規則が含まれます)。