IIS 7 でのリモート管理と機能委任の構成

執筆者: Saad Ladki

はじめに

IIS は、管理者と開発者に、アクセス可能、拡張可能、配布可能な新しい構成システムを提供します。 新しい XML ベースの形式を使用すると、IIS 7 以降で使用できるモジュールと機能を簡単に構成できます。 また、個々の機能の設定を構成できる場所 (applicationHost.config ファイル内のサーバー レベル、Web.config ファイル内のサイトまたはアプリケーション レベルなど) をきめ細かく制御することもできます。

新しい IIS 管理ユーザー インターフェイス (UI) である IIS マネージャーでは、この新しい構成システムが完全にサポートされ、Web サーバーを構成するための強力で詳細なシステムを提供する機能が追加されています。 これらの追加機能には、サーバー、サイト、アプリケーションのリモート管理と、ユーザー ベースの認証と認可のサポートの 2 つが含まれます。

この記事では、リモート接続を有効にし、ユーザーとアクセス許可を構成し、機能をサイトまたはアプリケーション レベルに委任する方法について説明します。 IIS サーバー管理者が特定の機能の管理コントロールを他のユーザーに委任するシナリオや、他のユーザーが既存の構成を表示できないようにするシナリオは多数あります。 たとえば、次のシナリオについて考えてみましょう。

Edward は、複数のサイトをホストするコンピューターのサーバー管理者です。 このコンピューターはあるドメインの一部であり、何人かのサイト所有者が同じドメインに属しています。 ただし、ドメインの外部のサイト所有者もいます。Edward は、各所有者のユーザー名とパスワードを作成して、IIS マネージャーのユーザー アカウントを作成する必要があります。 必要な IIS マネージャー ユーザー アカウントを作成した後、Edward は各サイトに IIS マネージャーのアクセス許可を設定して、特定のサイトへの接続を許可するユーザーを指定します。 これを行うために、Edward は各サイトで IIS マネージャーのアクセス許可機能を開き、Windows ユーザーと IIS マネージャー ユーザーを追加します。 この操作では、2 つの処理が行われます。 1 つ目は、IIS を構成して、ユーザーが有効な資格情報を入力したときにユーザーがサイトに接続できるようにします。 2 つ目は、接続に成功したユーザーが、そのサイトで委任された機能を構成することを許可します。

また、Edward は、サイト所有者が自分のサイトを構成するように、一部の機能の構成を委任したいと考えています。 これにより、サイト所有者は、[既定のドキュメント] など、サイトによって異なる機能の構成を Edward に依頼する必要がなくなります。 サーバー上のすべてのサイトで、[既定のドキュメント]、[ディレクトリの参照]、および [エラー ページ] 機能の構成を委任することにしました。 さらに、Edward は、追加で [HTTP リダイレクト] 機能の構成をサイト Contoso に委任することにしました。これは、このサイトが頻繁にリダイレクトされることを知っており、サイト所有者がそれらを構成できると確信しているためです。 他のすべての機能を読み取り専用に設定し、サイト所有者が設定を表示できるが、サイトを構成できないようにしました。

Julian と Catherine は、Edward のコンピューター上のサイト Contoso のサイト所有者です。 Julian には Windows ユーザー アカウントがあり、Catherine には Edward が資格情報を提供した IIS マネージャー ユーザー アカウントがあります。 Edward が Contoso サイトの構成を 2 人のアカウントに許可したため、2 人とも自分のコンピューターで IIS マネージャーを開いて Contoso に接続できます。 彼らはそれぞれサイト レベルで委任されたすべての機能を表示できます。 Edward が [既定のドキュメント]、[ディレクトリの参照]、[エラー ページ]、[HTTP リダイレクト] 機能の構成を委任したため、彼らはこれらの設定を構成できます。

前提条件

この記事の手順を完了するには、次の項目をインストールする必要があります。

  • Windows Server® 2008 上の IIS 7.0 または Windows Server 2008 R2 上の IIS 7.5
  • IIS マネージャー

IIS マネージャーでのリモート接続の構成

IIS では、IIS マネージャーを使用してリモート管理を簡単に実行できます。 ローカル コンピューターでの IIS の管理に加えて、IIS マネージャーではリモート サーバー、サイト、アプリケーションを管理できます。 サーバー管理者は、リモート管理機能を使用して IIS マネージャー ユーザー アカウントを追加し、それらのユーザーがアクセス許可を持つサイトまたはアプリケーションに接続できるようにします。

リモート管理を構成するには、IIS マネージャーでリモート接続を有効にし、サーバーへの接続に必要な資格情報の種類を構成する必要があります。 必要に応じて、既定の接続とログの設定を変更し、IP アドレスまたはドメイン名に基づいて接続の制限を追加できます。

管理サービスをインストールする

既定の IIS インストール オプションには、リモート管理に必要な管理サービス (Web 管理サービス (WMSVC) とも呼ばれる) は含まれません。 管理サービスをインストールしていない場合は、この手順に従ってインストールします。

管理サービスをインストールするには:

  1. [スタート] をクリックし、[検索] ボックスに「サーバー マネージャー」と入力し、Enter キーを押してサーバー マネージャーを開きます。
  2. ツリーの [役割] で、[Web サーバー (IIS)] を選択します。
  3. 次の図に示すように、[役割サービスの追加] をクリックし、[管理サービス] を選択します。
  4. [次へ] をクリックし、指示に従ってインストールを完了します。Screenshot of Role Services menu. Management Service is highlighted.

リモート接続を有効にして ID 資格情報を構成する

リモート接続を有効にして、Windows ユーザーと IIS マネージャー ユーザー (この記事の後半で構成) が自分のコンピューター上の IIS マネージャーを使用して、このコンピューターに接続できるようにします。 既定では、管理サービスは Windows 資格情報を持つユーザーからの接続のみを許可しますが、IIS マネージャーの資格情報を持つユーザーからの接続も許可するように構成できます。 この記事では、下の図に示すように、両方の資格情報の種類を許可するように管理サービスを構成します。

Note

この記事の次のセクションでは、IIS マネージャーの資格情報について説明します。

リモート接続を有効にし、Windows ユーザーと IIS マネージャー ユーザーからの接続を許可するには:

  1. IIS マネージャーの [接続] ペインで、ツリー内のサーバー ノードをクリックします。
  2. 管理サービスをダブルクリックして、[管理サービス] 機能ページを開きます。
  3. [Enable Remote Connections](リモート接続を有効にする) チェック ボックスをオンにします。
  4. [ID 資格情報] で、[Windows credentials or IIS Manager credentials](Windows 資格情報または IIS マネージャー資格情報) を選択します。
  5. [操作] ウィンドウで、[適用] をクリックして変更を保存し、[開始] をクリックして管理サービスを開始します。
    Screenshot of Management Service feature page. The option Enable remote connections is highlighted. In the Actions pane, Start is highlighted.

追加情報

管理サービスを開始するためにリモート接続を有効にする必要はありません。 リモート接続が無効になっている場合に管理サービスが開始されると、ローカル コンピューターから管理サービスに接続できますが、リモート コンピューターからは接続できません。 リモート コンピューターから接続できない場合は、リモート接続が有効になっていることを確認してください。

ファイアウォール設定をチェックして、管理サービスへの接続が許可されていることを確認する必要があります。 管理サービスがインストールされると、セットアップ プロセスによって、既定でオンになっているポート 8172 (既定のポート) で管理サービスへのトラフィックを許可するファイアウォール規則が追加されます。 管理サービスが使用するポートを変更する場合は、そのポート上で管理サービスへのトラフィックを許可する新しいファイアウォール規則を追加する必要があります。

管理サービスの接続とログの設定を構成する

上のセクションで構成した管理サービス設定に加えて、接続設定を構成し、要求をログに記録する場所を指定できます。 次の表では、各フィールドとその既定の設定について説明します。 設定を変更した場合は、[操作] ウィンドウで [適用] をクリックしてから、管理サービスを再起動してください。

プロパティ 説明 既定の設定
IP アドレス サービスのバインド先の IP アドレスを指定します。 すべて未割り当て
ポート サービスが要求に使用するポート番号を指定します。 8172
[SSL 証明書] サービスで使用される SSL 証明書を指定します。 サービスに対するすべての要求は、[ポート] フィールドで指定されたポート経由で HTTPS を使用します。 この一覧には、サーバーで使用できる SSL 証明書が含まれています。 SSL 証明書を追加する場合は、サーバー レベルで [サーバー証明書] 機能を使用します。 セットアップ中にインストールされる自己署名証明書
Log requests to (要求ログの場所) 管理サービスのログ ファイルへのパスを指定します。 %SystemDrive%\Inetpub\logs\WMSVC

管理サービスの IP とドメインの制限を構成する

既定では、構成済みの IP アドレスとポートに対して行われたすべての要求が管理サービスで受け入れられ、ユーザーは IIS マネージャーに追加されると接続を許可されます (次のセクションで説明します)。 ただし、指定されていない要求についてはアクセスを拒否するようにサービスを構成し、代わりに特定の IP アドレスまたはドメインからの要求のみを受け入れるように、特定の許可規則を追加できます。 IP アドレスまたはドメインからの要求の許可または拒否の詳細については、Microsoft TechNet のリモート管理の構成に関するページの手順を参照してください。

IIS マネージャーのユーザーとアクセス許可の構成

上のセクションで管理サービスを構成したときに、[Windows credentials or IIS Manager credentials](Windows 資格情報または IIS マネージャー資格情報) オプションを選択しました。 このオプションを使用すると、Windows ユーザー アカウントまたは IIS マネージャー ユーザー アカウントを持つユーザーは、IIS マネージャーを使用してリモート コンピューター上のサイトまたはアプリケーションに接続できます。 どちらの種類のユーザーも、リモート接続時に有効な資格情報 (ユーザー名とパスワードのペア) を指定する必要があります。 Windows ユーザーは、リモート コンピューター上のユーザー アカウント、またはコンピューターがドメインのメンバーである場合はドメイン内のユーザー アカウントに対して有効な Windows 資格情報を指定する必要があります。 IIS マネージャー ユーザーは、リモート コンピューターのサーバー管理者によって IIS マネージャーで構成される有効な IIS マネージャー資格情報を指定する必要があります。 どちらの場合も、ユーザーは IIS マネージャーを使用して、サーバー管理者がユーザーにアクセス許可を付与したサイトまたはアプリケーションに接続できます。

IIS マネージャー ユーザーを追加する

次の手順では、IIS マネージャー ユーザー機能を開き、ユーザーを追加する方法について説明します。 [IIS マネージャー ユーザー] 機能ページを開くと、各 IIS マネージャーのユーザー名と、アカウントが有効または無効のどちらであるかが一覧に表示されます。 アクセス許可が付与されているサイトまたはアプリケーションに接続できるのは、有効なアカウントのみです。

IIS マネージャー ユーザーを追加するには:

  1. IIS マネージャーの [接続] ペインで、ツリー内のサーバー ノードをクリックします。
  2. サーバーのホーム ページで、[IIS マネージャー ユーザー] をダブルクリックします。
    Screenshot of B D E L A P C one dash I I S server home page. In the Connections pane the B D E L A P C one dash I I S server node is highlighted. I I S Manager Users Icon is highlighted.
  3. [IIS マネージャー ユーザー] ページの [操作] ウィンドウで、[ユーザーの追加] をクリックします。
  4. [ユーザー名] ボックスにユーザー名を入力します。
  5. [パスワード] ボックスにパスワードを入力し、[パスワードの確認入力] にそのパスワードをもう一度入力します。
  6. OK をクリックします。
    Screenshot of I I S Manager Users page. In the Actions pane, Add User is highlighted. An arrow is leading from Add User to the User name box.

サイトまたはアプリケーションに対する IIS マネージャーのアクセス許可を構成する

ユーザーがサーバー上のサイトまたはアプリケーションにリモートで接続するには、サーバー管理者がサイトまたはアプリケーションに対するアクセス許可を付与する必要があります。 アクセス許可が付与されたら、IIS マネージャーを使用して、Windows 資格情報 (Windows ユーザーの場合) または IIS マネージャー ユーザー資格情報 (IIS マネージャー ユーザーの場合) を使用してサイトまたはアプリケーションに接続できます。

IIS マネージャー ユーザーがサイトまたはアプリケーションに接続できるようにするには:

  1. IIS マネージャーの [接続] ペインで、アクセス許可を構成するサイトまたはアプリケーションを選択します。
  2. サイトまたはアプリケーションのホーム ページで、[IIS マネージャーのアクセス許可] をダブルクリックします。
    Screenshot of Connections pane. Default Web Site is selected. On the Default Web Site Home pane, I I S Manager Permissions is highlighted.
  3. [IIS マネージャーのアクセス許可] ページの [操作] ウィンドウで、[ユーザーの許可] をクリックします。
  4. [ユーザーの許可] ダイアログ ボックスで、[IIS マネージャー] を選択し、[選択] をクリックします。
    Screenshot of I I S Manager Permissions page and Actions pane. Allow User option is highlighted. The Allow User dialog box is shown. I I S Manager is selected.
  5. [ユーザー] ダイアログ ボックスで、一覧から 1 人以上の IIS マネージャー ユーザーを選択し、[OK] をクリックします。
    Screenshot of Users dialog box. TestAdmin is shown in the list under Name and Select User.
  6. [OK] をクリックして [ユーザーの許可] ダイアログ ボックスを閉じます。

Windows ユーザーがサイトまたはアプリケーションに接続できるようにするには:

  1. [IIS マネージャーのアクセス許可] ページの [操作] ウィンドウで、[ユーザーの許可] をクリックします。
  2. [ユーザーの許可] ダイアログ ボックスで、[Windows] を選択し、[選択] をクリックします。
  3. [ユーザーまたはグループの選択] ダイアログ ボックス で、ユーザー名を入力するかユーザー アカウントを検索し、[OK] クリックします。
    Screenshot of Select User or Group dialog box. Under the text Select this object type, User is written. Under the text From this location, B D E L A P C one dash I I S is written.
  4. [OK] をクリックして [ユーザーの許可] ダイアログ ボックスを閉じます。

コンテンツ ディレクトリのアクセス制御リスト (ACL) を構成する

ユーザーがサイトまたはアプリケーションに接続したときに IIS マネージャーが正しく機能するためには、サイトまたはアプリケーションの物理ディレクトリに対して ACL を適切に構成する必要があります。 Windows ユーザーの場合は、ディレクトリとファイルにアクセスする必要がある Windows ユーザーまたはグループごとにディレクトリとファイルの ACL を構成する必要があります。 IIS マネージャー ユーザーの場合は、WMSVC ユーザー (既定では NT Service\WMSVC) のディレクトリとファイルの ACL を構成する必要があります。

サイトまたはアプリケーションの物理ディレクトリの場合は、WMSVC ユーザー (IIS マネージャー ユーザーの接続を許可する場合) とそのサイトまたはアプリケーションに接続する必要がある Windows ユーザーに対して、読み取り、書き込み、実行のアクセス許可を構成します。

サイトまたはアプリケーションの物理ディレクトリが別のコンピューター (つまり UNC 共有上) にある場合は、その UNC 共有上のコンテンツに対する読み取り、書き込み、実行のアクセス許可を持つユーザーとして実行するように WMSVC を構成する必要があります (既定のユーザー NT Service\WMSVC は、別のコンピューター上の項目にアクセスできません)。

IIS マネージャーでサイトまたはアプリケーションに接続する

管理サービスを構成し、ユーザーとアクセス許可を構成すると、ユーザーは自分のサイトまたはアプリケーションに接続できます。

サイトまたはアプリケーションに接続するには

  1. IIS マネージャーで [ファイル] をクリックし、[サイトへの接続] (または [アプリケーションへの接続]) をクリックします。
  2. [サイトへの接続] または [アプリケーションへの接続] ウィザードで、接続するサーバー名とサイト名を入力します。 アプリケーションに接続する場合は、アプリケーション名も入力します。 続けて、 [次へ] をクリックします。
    Screenshot of Connect to Site wizard. Under the text Server name, localhost is written. Under the text Site name, contoso dot com is written. The option Next is highlighted.
  3. [サイトへの接続] または [アプリケーションへの接続] ウィザードの [Provide Credentials](資格情報の指定) ページで、現在の資格情報を使用するか、サイトに接続するための資格情報を指定するかを選択します。 資格情報を指定するときに、[Use IIS Manager credentials](IIS マネージャー資格情報の使用) チェックボックスを選択しない限り、既定値は Windows 資格情報です。 資格情報を指定したら、[次へ] をクリックしてサーバーに接続します。
    Screenshot of Connect to Site wizard. The Provide Credentials page is shown. Under the text Connecting to
  4. 接続が成功すると、IIS マネージャーは [サイトへの接続] または [アプリケーションへの接続] ウィザードの最後のページを表示して、接続に名前を付けます。 次の図に示すように、TestAdmin ユーザーによって Contoso.com サイトへのサイト接続が作成されました。
    Screenshot of Connect to Site wizard. The Internet Information Services ( I I S) Manager page is shown. The site name contoso dot com is highlighted and selected.

追加情報

次のセクションでは、機能の委任について説明します。 ただし、その前に、機能の委任とその仕組みについてわかりやすく説明するために、接続したばかりのサイトの 1 つの機能について見ていきます。 サイトが強調表示され、サイトのホーム ページが表示されます。 ホーム ページで、[エラー ページ] をダブルクリックします。

次の図に示すように、ページの右側に "This feature has been locked and is read only" (この機能はロックされており、読み取り専用です) というアラートが表示されます。このアラートは、機能がロックされているときに表示されます。次のセクションでは、機能の委任とロックについて詳しく説明します。

Screenshot of Error Pages is shown. On the right side of the page there is an alert saying, This feature has been locked and is read only, which is highlighted.

IIS マネージャーでの機能の委任

[機能の委任] 機能ページを使用すると、サーバー管理者は、IIS マネージャーでサイトおよびアプリケーション レベルで Web.config ファイル内に構成できる機能の委任状態を構成できます。 サーバー管理者は、[既定のドキュメント] や [ディレクトリの参照] などの特定の機能の構成を個々のサイト所有者に委任して、所有者が自分のサイトで委任された機能を構成できるようにする場合があります。

または、機能を読み取り専用として委任し、サイト所有者が機能の構成を表示できるが設定を変更できないようにする場合があります。 サーバー管理者は、サイト レベルとアプリケーション レベルで IIS マネージャーに機能が表示されないようにすることもできます。

複数の異なる委任状態があり、それぞれによって、機能が構成システムの下位レベルに委任されているかどうかや、ユーザーが下位レベルで接続したときに IIS マネージャーに機能が表示されるかどうかが決まります。 次の表では、各委任状態について説明します。

委任の種類 説明
Not Delegated (委任されていない) 構成がロックされており、Web.config ファイル内で機能を構成すると、ランタイム エラーが発生します。 この状態が設定されているレベルより下のレベルでユーザーが接続している場合、IIS マネージャーで機能を表示および構成できません。 たとえば、機能がサイト レベルで [Not Delegated](委任されていない) に構成されている場合、そのサイト内でアプリケーションに接続しているユーザーには IIS マネージャーで機能が表示されず、構成できません。
読み取り専用 構成がロックされており、Web.config ファイル内で機能を構成すると、ランタイム エラーが発生します。 ユーザーが下位レベルで接続している場合、機能は IIS マネージャーに表示されますが、変更が行われないように構成がロックされています。
読み取り/書き込み 機能は Web.config で構成できます。ユーザーが下位レベル (サイトまたはアプリケーション レベル) で接続している場合、IIS マネージャーに機能が表示され、構成できます。
Configuration Read Only (構成の読み取り専用) これは、読み取り専用と同じ意味ですが、IIS の外部 (データベースなど) に格納および管理される機能の設定またはデータがあります。
Configuration Read/Write (構成の読み取り/書き込み) これは、読み取り/書き込みと同じ意味ですが、IIS の外部 (データベースなど) に格納および管理される機能の設定またはデータがあります。

Note

サーバー管理者はすべての機能の構成を変更できるため、サーバーに接続している場合、機能が下位レベルで表示されないように構成されていても、すべてのレベルのすべての機能が表示されます。

IIS マネージャーで機能の既定の委任状態を構成する

[機能の委任] 機能ページを初めて開いたときに、IIS マネージャーで機能の既定の委任状態を構成できます。 これらの委任状態は、サーバー上のすべてのサイトとアプリケーションに対して IIS マネージャーで使用される既定の設定です。

IIS マネージャーで機能の既定の委任状態を構成するには

  1. IIS マネージャーの [接続] ペインで、ツリー内のサーバー ノードをクリックします。
  2. サーバーのホーム ページで、[機能の委任] をダブルクリックします。 Screenshot of connections pane in server home page showing B D E L A P C 1 dash I I S home selected and Feature Delegation icon highlighted.
  3. [グループ化] の一覧から [委任] を選択して、現在の委任状態別に機能の一覧を整理します。
    Screenshot of Feature Delegation list in the action pane with delegation from the group list highlighted.
  4. [機能の委任] の一覧で [エラー ページ] を選択し、[操作] ウィンドウで使用可能な委任状態を確認します。 [エラー ページ] 機能が選択され、[Set Feature Delegation](機能の委任の設定) の下で使用可能なオプションは、[読み取り/書き込み][Remove Delegation](委任の削除)[Reset to Inherited](継承済みにリセット) です。
    Screenshot of Feature Delegation list with Error Pages selected showing available options under Set Feature Delegations.
  5. [エラー ページ] を選択します。[操作] ウィンドウで、[読み取り/書き込み] をクリックして、[エラー ページ] 機能に関連する構成セクションのロックを解除します。 これにより、Web.config ファイルと IIS マネージャー内でサイトおよびアプリケーション レベルで機能を構成できるようになります。

追加情報

IIS 構成ファイルからの次の抜粋は、すべての場所 ("パス" とも呼ばれます) で値をオーバーライドできることを示しています。

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

この操作の動作を詳しく示すには、サイト レベルで [エラー ページ] 機能を見ます。 [接続] ペインでサイトに接続し、サイトのホーム ページで [エラー ページ] をダブルクリックします。 下の図に示すように、サイト レベルで接続されているユーザーが [エラー ページ] 機能を構成できるようになりました。

Screenshot of error pages with actions such as Add, Exit Feature Setting, Help, and Online Help highlighted.

サイトまたはアプリケーションの機能のカスタム委任状態を構成する

上の手順では、サーバー上のすべてのサイトで [エラー ページ] 機能の既定の委任状態を構成しました。 構成した委任状態をすべてのサイトに適用しない場合もあります。 この場合、特定のサイトに対してカスタムの委任状態を構成できます。 また、すべての機能のカスタム委任状態を 1 つのサイトから別のサイトにコピーすることもできます。

特定のサイトで機能のカスタム委任状態を構成するには

  1. IIS マネージャーで、[機能の委任] をダブルクリックします。
  2. [機能の委任] ページの [操作] ウィンドウで、[Custom Web Site Delegation](カスタム Web サイトの委任) をクリックします。
  3. [サイト] の一覧から、カスタム委任設定を構成するサイトを選択します。
    Screenshot of Custom Website Delegation pane with sites list highlighted.
  4. 機能を選択し、[操作] ウィンドウで委任状態をクリックします。

あるサイトから別のサイトにカスタム委任状態をコピーするには

  1. [Custom Web Site Delegation](カスタム Web サイトの委任)] ページの [サイト] の一覧で、別のサイトに委任をコピーする元のサイトを選択します。
  2. [Copy Delegation](委任のコピー) をクリックします。
  3. [Copy Delegation](委任のコピー) ダイアログ ボックスで、委任状態のコピー先のサイトを選択し、[OK] をクリックします。

機能の委任状態をリセットする

機能の委任状態に加えられた変更を元に戻すことが必要な場合があります。 特定のサイトまたはアプリケーションに誤って変更が加えられた場合や、機能の "実験" がうまくいかなかった場合などです。 この場合は、すべての機能の委任状態を既定の状態にリセットします。 または、1 つの機能のみを既定の状態にリセットします。

機能の委任状態をリセットするには

  1. [機能の委任] 機能ページを開きます。
  2. すべての機能の委任状態をリセットするには、[操作] ウィンドウで [Reset All Delegation](すべての委任のリセット) をクリックします。

特定の機能の委任状態をリセットするには、一覧でその機能を選択し、[操作] ウィンドウで [Reset to Inherited](継承済みにリセット) をクリックします。