IIS マネージャーの概要

作成者 :Tobin Titus

発行日 : 2007 年 11 月 16 日 (作業者 : pharr)

更新日 : 2008 年 3 月 13 日 (作業者 : pharr)

はじめに

IIS マネージャーの概要では、IIS 7.0 のユーザー インターフェイスがまったく新しくなった理由を説明し、外観、機能の委任、構成とのやり取り、およびリモート処理について説明します。このドキュメントは、Windows ServerR 2008 を対象としています。Windows Vista には、このドキュメントに記載されいてる機能の一部が搭載されていない可能性があります。

Internet Information Services (IIS) マネージャーは、IIS 7.0 で完全に新しくなりました。

変更が必要になった理由 : 以下に主な理由を説明します。

  • IIS と ASP.NET が連携 : IIS 6.0 ユーザーは、Web サイトを右クリックして [All Properties] を選択し、さまざまな設定用の多くのタブを持つダイアログを表示します。IIS 7.0 では、IIS マネージャーは、出力のキャッシュ、失敗した要求の追跡、および要求のフィルタリングなどの新機能の構成、さらに ASP.NET と .NET Framework の関連部分の構成を表示する必要があります。新機能のために、さらに多くの新しいタブが必要でしたが、タブを増やすという選択肢は受け入れられませんでした。
  • 管理の委任 : 構成をメタベースから .NET 構成システムに移動したため、許可されたユーザーが web.config ファイルで IIS 構成を設定できるようになりました。たとえば、アプリケーション https://www.contoso.com/sales の構成は、ルート構成ファイルの applicationHost.config、サイト https://www.contoso.com/ の web.config ファイル、または直接アプリケーションの web.config ファイルに書き込むことができます。新しい IIS マネージャーで必要なことは、1) web.config ファイルで許可された構成を管理者が管理できるようにすること、2) 管理者/ユーザーに構成が書き込まれる場所を示すことです。今までの IIS マネージャーは、このような課題には対応していませんでした。
  • 技術上の理由 : ソフトウェアには寿命があります。時間の経過とともに、新しいテクノロジ、新しい要件、新しい規則がもたらされます。そして、既存のソフトウェアの更新は、ソフトウェアを再構築するより手間とコストがかかるようになります。IIS マネージャーは、その寿命の終わりに近づきつつありました。

その他の情報 :  IIS マネージャーを作成し直すことを決めてからは、次のようなさまざまな重要な点において IIS マネージャーを機会あるごとに改善しました。

  • 拡張性 : IIS 6.0 バージョンの IIS マネージャーを拡張するのは、極めて困難でした。新しい IIS マネージャーでは、機能ページ、ツリー表示のノード、およびメニュー項目 (すべてがマネージ コードと WinForm を使用しています) の追加が非常に簡単になりました。新しい IIS マネージャーの拡張機能は、サーバーに接続しているリモート IIS マネージャー クライアントにより自動的に検出およびダウンロードされます。
  • リモート管理 : リモート管理はすべて HTTPS を介して行われるため、ファイアウォールが使いやすく、管理しやすくなります。Web 管理サービス (WMSVC) は、リモート管理を可能にする、任意にインストールできるコンポーネントです。
  • 新しい外観 : IIS マネージャーは、設定を表示するために、新しく拡張性の高いモデルが必要でした。その結果作成された機能のリスト ビューは、コントロール パネルに似ています。リスト ビューは、さまざまな方法でソート、グループ化、および表示できるため、探しているものを簡単に検索できます。さらに IIS マネージャーのナビゲーションは、Windows Explorer のようなアドレス バーを持ち、よりブラウザーに近い操作性を備えています。

: このドキュメントは、Windows Server 2008 を対象としています。Windows VistaR には、このドキュメントに記載されている機能の一部が搭載されていない可能性があります。

この記事には次のような内容が含まれています。

  • 新しい外観
  • ホーム ページ
  • 機能ページのレイアウト
  • コンテンツ ビュー
  • 機能の委任
  • 構成のロック
  • サイトとアプリケーションの管理者
  • サーバー、サイト、アプリケーションの接続
  • 構成
  • ステータス バー
  • 例 : ApplicationHost.config への書き込みとルート Web.config への書き込み
  • 例 : ロックされた構成への書き込みとロックされていない構成への書き込み
  • Web 管理サービス (WMSVC)
  • セキュリティ

新しい外観

インターネット インフォメーション サービス (IIS) マネージャーの以前のリリースには、戻る/進むのようなナビゲーションがありました。新しい IIS マネージャーでは、新しい Windows エクスプローラーのように機能する [アドレス バー] が追加され、さらに進んだナビゲーションを実現しています。

Dd647594.fig1(ja-jp,TechNet.10).gif 

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

ホーム ページ

ホーム ページは、IIS マネージャーを使い始めるとすぐに、非常に身近な存在になります。中央の機能リストは、機能名や説明によるソート、領域やカテゴリによるグループ化、さまざまなレイアウトでの表示が可能です。

Dd647594.fig2(ja-jp,TechNet.10).gif 

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

機能範囲

ツリー ビュー内のサーバー、サイト、アプリケーション、仮想ディレクトリ、およびフォルダーの各ノードすべてで、機能リストを備えたホーム ページが表示されます。大部分の機能は、すべてのノードのホーム ページに表示されますが、例外があります。

以下は、サーバー関連の構成、データ、または情報であるため、"サーバーのホーム ページにのみ" 表示されます。

  • ISAP および CGI 制限
  • 証明書 (リモート接続ではまったく表示されません)
  • 管理サービス (リモート接続ではまったく表示されません)
  • ワーカー プロセス

以下の機能は、サーバー以外のすべてのホーム ページに表示されます。これは、以下の機能がアプリケーション構成であり、サーバー レベルでは理にかなっていないため、あるいはその方が適切に機能する (SSL) ためです。

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

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

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

 

機能ページのレイアウト

IIS マネージャーのページには、リスト ページ、プロパティ グリッド、およびダイアログ ページの 3 種類があります。

リスト ページ

リスト ページには、リストが含まれます。大部分のリスト ページでは、1 つ以上の列の値を基準にグループ化を実行できます。サイトやアプリケーション プールなどの主要なリスト ページでは、検索文字列に一致するエントリをリスト列で検索して、リストのエントリをフィルター処理することができます。

Dd647594.fig3(ja-jp,TechNet.10).gif

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

作業ウィンドウの [追加]/[編集]/[削除] タスクを使用すると、リストの内容を操作できます。 リストのエントリに特化しない機能設定の場合、たとえばローカルな要求で、詳細エラーがカスタム エラーより優先されるように指定する場合は、通常 [Edit Feature Settings...] タスクを使用します

Dd647594.fig4(ja-jp,TechNet.10).gif 

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

プロパティ グリッド

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

Dd647594.fig5(ja-jp,TechNet.10).gif 

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

ダイアログ

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

コンテンツ ビュー

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

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

Dd647594.fig6(ja-jp,TechNet.10).gif 

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

機能の委任

サーバー管理者であるが、サーバーにコンテンツを提供する主たるユーザーでない場合、あるいは開発者であり、かつアプリケーションの IIS 構成の管理を強化したい場合は、機能の委任に興味があるかもしれません。

IIS 7.0 の機能の委任により、以下を管理できます。

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

これから述べることは、IIS マネージャーでの機能の委任の簡単な説明です。順を追った詳細な説明については、「Configuring Remote Administration and Feature Delegation in IIS 7.0」を参照してください。

構成のロック

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

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

<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>

 

構成のロックが接続に対してどのように影響するかについては、以下の「サーバー、サイト、およびアプリケーションの接続」を参照してください。構成のロックに関する詳細については、「How to Use Locking in IIS 7.0 Configuration」を参照してください。

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

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

  • サイトまたはアプリケーションに対する "ロックされていない構成の管理" (設定は web.config ファイルに書き込まれます)
  • "ロックされている構成設定の表示" (修正することはできません)
  • サイトまたはアプリケーションに対する、"その他のサイト管理者またはアプリケーション管理者の追加"

サイトおよびアプリケーション管理者の作成方法の詳細については、オンライン ドキュメントの「IIS 7.0: Create an IIS Manager User Account (英語)」を参照してください。

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

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

コンピューター管理者と指定されたサイト管理者が、Web サイトに接続できます。サイトの接続情報は、サイトのルート フォルダー下にある web.config ファイルにのみ書き込むことができます。applicationHost.config で構成セクションがロックされている場合、サイトの接続では、対応する機能が読み取り専用で表示されます。これは、サイトの接続では、構成を applicationHost.config に書き込むことができないためです (location タグ内にも書き込むことができません)。これは、コンピューター管理者でもサイト管理者でも同じです。

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

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

サーバー、サイト、またはアプリケーションへの接続方法の詳細については、オンラインド キュメントの「IIS 7.0: Managing Connections in IIS Manager (英語)」を参照してください。

構成

構成のロックを決して変更せず、機能の委任を決して使用しない場合でも、IIS マネージャーは構成を書き込む場所をどのように決定するのだろうと考えることがあるでしょう。IIS マネージャーの動作を定義する 2 つの規則があります。

  • ApplicationHost.config と Web.config : 機能が IIS マネージャーの ASP.NET 領域に一覧表示される場合は、サーバー レベルの構成は、.NET Framework v2.0 用のルート web.config ファイルに書き込まれます。機能が IIS マネージャーの IIS 領域に一覧表示される場合は、サーバー レベルの構成は applicationHost.config に書き込まれます。この規則の唯一の例外は、IIS 領域下の認証機能にあるフォーム認証です。
  • ロックされている構成とロックされていない構成 : すべての ASP.NET 構成セクションと 2 ~ 3 の 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":Default Web Site の物理フォルダーにある web.config ファイル
  • "localhost/Default Web Site/careers/technical":Default Web Site の URL "/careers/technical" にマップする物理フォルダーにある web.config ファイル

<config_file_name> は、たとえば以下のような、対象の構成ファイルの名前です。

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

<location_path> は、構成中のオブジェクトへの場所のパスです (場所のパスの詳細は、「IIS 7.0 構成の概要」を参照してください。機能の構成セクションが上位レベルでロックされている場合に限り、この部分のテキストが表示されます。

Exchange システム マネージャー 

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

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

<urlCompression doStaticCompression="false" />

 

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

<compilation defaultLanguage="C#">

 

どちらの場合も、ステータス バーには次のように表示されます。Configuration:'localhost' applicationHost.config またはルート web.config

例 : ロックされた構成への書き込みとロックされていない構成への書き込み

IIS の "defaultDocument"構成セクションは、既定ではロックされていません。Default Web Site の既定のドキュメントを構成すると、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" 構成セクションは、既定ではロックされていません。Default Web Site の 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 またはルート web.config, <location path="Default Web Site">

IIS 6.0 以前の IIS マネージャーのリモート処理は、MMC を使用して行われ、常に有効になっていました。IIS 7.0 では、IIS マネージャーのリモート処理は明示的に有効にする必要があります。すべてのリモート管理は HTTPS を介して行われ、Web 管理サービス (WMSVC) と呼ばれる IIS コンポーネントにより処理されます。IIS マネージャーを使用して IIS 7.0 のリモート管理を有効にする場合は、「Configuring Remote Administration and Feature Delegation in IIS 7.0」を参照してください。

Web 管理サービス (WMSVC)

Web 管理サービス (WMSVC) は、NT サービスでホストされているスタンドアロンの Web サーバー (ホスト可能な Web コア (HWC)) です。WMSVC は、インストールされ開始されると、未割り当てのすべての IP アドレスでポート 8172 のやり取りをリッスンします。WMSVC は、次の 4 種類の要求のみを待ちます。各要求は独自のハンドラーにより提供されます。

  • login.axd に対するログイン要求
  • download.axd に対するコード ダウンロード要求
  • service.axd に対する管理サービス要求
  • ping.axd に対する Ping 要求

ログイン要求

IIS マネージャーは、WMSVC を介してログイン要求を送信し、接続を開始します。 認証は、接続ダイアログで資格情報の提供を求められたときにユーザー選択した内容に応じて、NTLM 認証か基本認証のいずれかになります。

Dd647594.fig9(ja-jp,TechNet.10).gif 

図 9 : 資格情報の指定

コード ダウンロード要求

ログインに成功すると、WMSVC は接続用の UI モジュール一覧を返します。たとえば、[カスタム エラー ページ] のような IIS マネージャーの各ページは、1 つのモジュールに対応します。IIS マネージャーにないモジュールが存在する場合は、IIS マネージャーはモジュールのバイナリのダウンロードを要求します (たとえばサーバー管理者が、新しい RSA セキュリティ製品を運用サーバーにはインストールしたが、運用サーバーへの接続に使用するデスクトップ コンピューターにはインストールしなかった場合、このような事象が起こります)。

管理サービス要求

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

Ping 要求

Ping 要求は WMSVC サービス内から、ホストされている Web サーバー (HWC) に対して実行されます。Ping 要求は、ホスト可能な Web コアの応答が持続していることを確認するための簡単なメカニズムです。

サービス構成
WMSVC は、非常に小さい編集可能な構成セットをレジストリに格納しています。サービスが開始されるたびに、Web 構成ファイルは %windir%¥ServiceProfiles¥LocalService¥AppData¥Local¥Temp¥WMSvc<GUID>¥ に再生成されます。Web 構成ファイルは、管理者であっても編集できません。

Dd647594.fig10(ja-jp,TechNet.10).gif

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

セキュリティ

IIS マネージャーと Web 管理サービス (WMSVC) のリモート処理は、一連の再検討を経て、機能の簡易性と安全性が実現されました。以下は、現在のセキュリティ対策の一部です。

  • リモート IIS マネージャー クライアントと WMSVC 間を通るデータの安全性を確保するために、すべての接続で SSL (HTTPS) を要求する
  • アクセス許可セットの少ないローカル サービスとして実行する

ロックダウンされたホスト可能な Web コア (HWC) 構成 (必須モジュールの最小セットと注意深く作成された要求のフィルタリング規則を含む)

 

 

関連コンテンツ

記事