フォーム認証を使用するホスト名付きサイトをクロールする準備をする

この記事の内容 :

  • ソリューションの必要条件

  • 高度なソリューションの概要

  • ソリューションを展開する

Web アプリケーションでホスト名付きサイトを使用するように設定する場合、Web ホストには、通常、既定領域に対してフォーム認証を使用します。検索サーバーのインデックス コンポーネントは、クローラとも呼ばれますが、次の理由のために、通常の方法で展開されたホスト名付き Web サイトをクロールできません。

  • クローラはフォーム認証を使用して認証できません。

  • ホスト名付きサイトでは、検索サーバーのインデックス コンポーネントが、ポーリング順序内の別の領域を使用して認証できるようになっていません。

ホスト名付きでないサイトでのポーリング順序の動作については、「認証方法を計画する (Windows SharePoint Services)」の「Authentication requirements for crawling content」を参照してください。

この記事では、クローラがホスト名付きサイトをクロールできるように、Windows SharePoint Services 3.0 でソリューションを作成する方法について説明します。ソリューションの構成要素は次のとおりです。

  • Web アプリケーション用の領域を 2 つ作成する。

  • エンドユーザーからの要求を、フォーム認証用に構成されている既定領域に転送する。

  • イントラネット ユーザーおよびクローラからの要求を、NTLM 認証用に構成したイントラネット領域に直接転送する。

ソリューションの必要条件

このソリューションでの手順には、次の種類の管理者が必要です。

  • ドメイン ネーム システム (DNS) 管理者

  • サーバー管理者

  • ファーム管理者

他の要件として、次のものが挙げられます。

  • 2 台の DNS サーバー : インターネットに接続している DNS サーバー 1 台と、イントラネットに接続している DNS サーバー 1 台。

  • 2 つの静的 IP アドレス : 1 つはインターネットに接続した DNS サーバーから、もう 1 つはイントラネットに接続した DNS サーバーからのもの。これら 2 つの IP アドレスは同じサイト名に関連付けられる必要があります。

このソリューションでは、次のことを前提にしています。

  • サーバー管理者は、2 つの静的 IP アドレスに対して個別のネットワーク インターフェイス カード (NIC) をサーバー ファーム内のすべてのフロントエンド Web サーバー上に構成するか、両方の静的 IP アドレスを 1 つの NIC に追加する。

  • Web アプリケーションに使用する検索サーバーが動作している。

  • 別の Web アプリケーションでポート 80 を使用していない。

    注意

    (両方の領域が同じポートを使用する限り) 別のポートを使用してこのソリューションを実装することはできますが、通常はポート 80 が使用され、エンドユーザーにはホスト名付きサイトの URL からポート番号はわかりません。

  • 環境内で既にフォーム認証を実装している。フォーム認証は、複数の異なる認証プロバイダを使用して実装できます。フォーム認証の実装に使用する認証プロバイダにより、ユーザー アカウントを格納する場所が決まります。

高度なソリューションの概要

次の図は、このソリューションの高度な概要を示しています。

フォーム認証を使用したホスト名付きサイト

このソリューションには 2 台の DNS サーバーが必要です。それぞれの DNS サーバーは、同じホスト名を異なる静的 IP アドレスにマップします。これは、通常、スプリット DNS 環境と呼ばれます。インターネットに接続した DNS サーバーは、ホスト名付きサイトの URL を Web アプリケーションの既定領域で解決します。これは、エンドユーザーがフォーム認証を使用してサイトにアクセスする場合に使用する領域です。イントラネットに接続した DNS サーバーは、この同じ URL を Web アプリケーションのイントラネット領域にマップされている IP アドレスで解決します。これは、イントラネット ユーザーとクローラが NTLM 認証を使用してサイトにアクセスする場合に使用する領域です。

Web アプリケーションを拡張することによって新しい領域が作成されると、Windows SharePoint Services 3.0 がその領域用のインターネット インフォメーション サービス (IIS) Web サイトを作成するため、このマッピングが可能になります。サーバー管理者は、IIS マネージャを使用して、特定の Web アプリケーションの特定の領域に関連付けられている IIS Web サイトに、静的 IP アドレスを直接マップすることができます。

高度な手順

次の一覧では、このソリューションの高度な手順について説明します。

  1. ファーム管理者は、サーバーの全体管理 Web サイトを使用して、ホスト ヘッダーを割り当てずにポート 80 上に Web アプリケーションを作成します。

  2. ファーム管理者は、フォーム認証を使用するように、この Web アプリケーションの既定領域を構成します。

  3. サーバー管理者は、カスタム XML 要素を適切な Web.config ファイルに追加して、フォーム認証で使用する認証プロバイダの名前を指定します。

  4. サーバー管理者は、stsadm.exe.config という名前のファイルを作成して、フォーム認証で使用する認証プロバイダの検索方法を決定する Stsadm コマンド ライン ユーティリティを有効にします。

  5. ファーム管理者は、Web アプリケーションを拡張し、ホスト ヘッダー名を指定し、イントラネット領域での NTLM 認証を指定します。

  6. DNS 管理者は、サイト名を DNS 内の静的 IP アドレスにマップします。

  7. サーバー管理者は IIS マネージャを使用して、次の操作を行います。

    • インターネットに接続した DNS サーバーから、Web アプリケーションの既定領域 (つまり、フォーム認証を使用する領域) に関連付けられた IIS Web サイトに静的 IP アドレスをマップします。

    • イントラネットに接続した DNS サーバーから、Web アプリケーションのイントラネット領域 (つまり、NTLM 認証を使用する領域) に関連付けられた IIS Web サイトに静的 IP アドレスをマップし、手順 5 でこのサイトに割り当てた IIS ホスト ヘッダーを削除します。

  8. サーバー管理者は、Stsadm コマンド ライン ユーティリティを使用して、ホスト ヘッダー ベースのサイト コレクションを作成します。

    注意

    Stsadm コマンド ライン ユーティリティを使用して、ホスト ヘッダー ベースのサイト コレクションに使用する URL を指定する必要があります。

  9. ファーム管理者は Web アプリケーションにアクセス許可を与えることができ、サイト コレクション管理者はサイト コレクションにアクセス許可を与えることができます。

ソリューションを展開する

前述のソリューションを展開する順序で、次の手順を使用します。

Web アプリケーションを作成する

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[管理ツール] をポイントし、[SharePoint 3.0 サーバーの全体管理] をクリックします。

  2. [サーバーの全体管理] ホーム ページのトップ リンク バーで、[アプリケーション構成の管理] をクリックします。

  3. [アプリケーション構成の管理] ページで、[SharePoint Web アプリケーション構成の管理] セクションの [Web アプリケーションの作成または拡張] をクリックします。

  4. [Web アプリケーションの作成または拡張] ページの [SharePoint Web アプリケーションの追加] セクションで、[新しい Web アプリケーションの作成] をクリックします。

  5. [新しい Web アプリケーションの作成] ページの [IIS Web サイト] セクションで、新しい Web アプリケーションに対して次の設定を構成します。

    1. 既定の設定である [新しい IIS Web サイトを作成する] を受け入れ、[説明] ボックスに Web サイトの名前を入力します。

    2. [ポート] ボックスに 80 と入力します。

    3. [ホスト ヘッダー] ボックスが空白であることを確認します。

  6. [アプリケーション プール] セクションで、[既存のアプリケーション プールを使用する] を選択するか、既定の設定である [新しいアプリケーション プールを作成する] を受け入れます。新しいアプリケーション プールを作成する場合、新しいアプリケーション プールに使用するセキュリティ アカウントを指定します。

  7. [検索サーバー] セクションで、この Web アプリケーションにインデックスを付けるために使用する検索サーバーを [Windows SharePoint Services 検索サーバーの選択] リストから選択します。

  8. [OK] をクリックします。

サーバー ファーム内のすべてのフロント エンド Web サーバーで、次の手順を実行します。

IIS を再起動する

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスの [名前] ボックスに「cmd」と入力し、[OK] をクリックします。

  3. コマンド ウィンドウで、次のコマンドを入力し、Enter キーを押します。

    iisreset /noforce

  4. コマンド プロンプト ウィンドウを閉じます。

次の手順を実行して、フォーム認証を使用するように Web アプリケーションを構成します。

フォーム認証を使用するように既定領域を構成する

  1. サーバーの全体管理のホーム ページで、[アプリケーション構成の管理] をクリックします。

  2. [アプリケーション構成の管理] ページの [アプリケーション セキュリティ] セクションで、[認証プロバイダ] をクリックします。

  3. [認証プロバイダ] ページの [領域] 列で、[既定] をクリックします。

  4. [認証の編集] ページの [認証の種類] セクションで、[フォーム] を選択します。

  5. [メンバシップ プロバイダ名] セクションの [メンバシップ プロバイダ名] ボックスに、メンバシップ プロバイダの名前を入力します。

  6. 必要に応じて、[ロール マネージャ名] セクションの [ロール マネージャ名] ボックスに、ロール マネージャの名前を入力します。

  7. [保存] をクリックします。

適用可能な Web.config ファイルに構成設定を追加する

サーバー管理者は、この記事で前に作成した Web アプリケーションの既定領域用の Web.config ファイルと、サーバーの全体管理サイト用の Web.config ファイルに、XML 要素を追加する必要があります。この XML 要素には、認証プロバイダの名前のほか、必要に応じて、組織でフォーム認証に使用する認証プロバイダに関するその他の情報を指定する必要があります。

この XML 要素の内容 (また要素自体の名前も) は組織によって異なります。この必須 XML 要素の構築に関する詳細については、「認証サンプル (Windows SharePoint Services)」を参照してください。

必須 XML 要素を構築した後、サーバー ファーム内の適切なサーバー上の適切な Web.config ファイルにその要素を追加する必要があります。Windows SharePoint Services Web Application サービスを実行しているファーム内の各サーバーでは、Web アプリケーションの既定領域に関連付けられている IIS Web サイトの Web.config ファイルに必須 XML 要素を追加します。サーバーの全体管理サービスを実行しているサーバー ファーム内の各サーバーでは、サーバーの全体管理サイトの Web.confg ファイルに必須 XML 要素を追加します。

注意

ファーム管理者は、サーバーの全体管理内の [サーバーのサービス] ページを使用して、これらのサービスがどのサーバーで実行しているかを特定できます。

Windows SharePoint Services Web Application サービスを実行しているサーバーにカスタム XML 要素を追加する

  1. Windows SharePoint Services Web Application サービスを実行しているサーバー ファーム内のサーバーにログオンします。

  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[ファイル名を指定して実行] ダイアログ ボックスで「inetmgr」と入力し、[OK] をクリックします。

  3. IIS マネージャのコンソール ツリーで、[ローカル コンピュータ] ノード、[Web サイト] の順に展開します。

  4. 作成済みの Web アプリケーションの既定領域に関連付けられている Web サイトを右クリックし、[エクスプローラ] をクリックします。

  5. [名前] 列で [web.config] を右クリックし、[開く] を選択して、メモ帳などの ASCII テキスト エディタでファイルを開きます。

  6. </configSections> の直後に、<connectionStrings> という名前のカスタム XML 要素を挿入します。

  7. オプションの <membership> または <roleManager> 要素を挿入する場合は、<system.web> 要素の内側に挿入する必要があります。

  8. Web.config ファイルを保存して閉じます。

  9. Windows SharePoint Services Web Application サービスを実行しているファーム内のその他のサーバーで、手順 1 ~ 7 を繰り返します。

次の手順を実行するには、Administrators グループのメンバである必要があります。

サーバーの全体管理サービスを実行しているサーバーに、カスタム XML 要素を追加します。

  1. サーバーの全体管理サービスを実行しているサーバー ファーム内のサーバーにログオンします。

  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[ファイル名を指定して実行] ダイアログ ボックスで「inetmgr」と入力し、[OK] をクリックします。

  3. IIS マネージャのコンソール ツリーで、[ローカル コンピュータ] ノード、[Web サイト] の順に展開します。

  4. サーバーの全体管理 Web サイトを右クリックして、[エクスプローラ] を右クリックします。このサイトには、既定で「SharePoint Central Administration v3」という名前が付けられています。

  5. [名前] 列で [web.config] を右クリックし、[開く] をクリックして、メモ帳などの ASCII テキスト エディタでファイルを開きます。

  6. </configSections> の直後に、<connectionStrings> という名前のカスタム XML 要素を挿入します。

  7. カスタムの <membership> または <roleManager> 要素を使用する場合は、<system.web> 要素の内側に挿入する必要があります。

  8. Web.config ファイルを保存して閉じます。

  9. サーバーの全体管理サービスを実行しているファーム内のその他のサーバーで手順 1 ~ 7 を繰り返します。

次の手順を使用して、stsadm.exe.config という名前のファイルを作成します。このファイルには、Web.config ファイルに追加したものと同じ XML 要素を含める必要があります。Stsadm コマンド ライン ユーティリティは、このファイルに基づいて、使用する認証プロバイダの検索方法を決定します。

stsadm.exe.config ファイルを作成する

  1. メモ帳などの ASCII テキスト エディタを開き、次のテキストを追加します。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <configuration>
    <system.web>
    </system.web>
    </configuration>
    
  2. 前の手順で Web.config ファイルに追加したものと同じ <connectionStrings> の名前のカスタム XML 要素を、<configuration> タグの後に挿入します。

  3. カスタムの <membership> または <roleManager> 要素を使用する場合は、<system.web> 要素の内側に挿入する必要があります。

  4. ファイルを保存し、stsadm.exe.config という名前を付けます。

  5. 使用しているテキスト エディタがファイル名に .txt 拡張子を追加しないことを確認する必要があります。追加する場合は、次の手順に進む前に .txt 拡張子を削除します。

  6. ファーム管理者が stsadm.exe ユーティリティを使用するファーム内の各サーバーの次のフォルダに、stsadm.exe.config ファイルをコピーします。

    systemdrive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

    このファイルをサーバー ファーム内の各サーバーにコピーすることをお勧めします。

Web アプリケーションを拡張する

Web アプリケーションを拡張して、NTLM 認証を使用する新しい領域を作成するには、次の手順を使用します。

Web アプリケーションを拡張する

  1. サーバーの全体管理のホーム ページで、[アプリケーション構成の管理] をクリックします。

  2. [アプリケーション構成の管理] ページで、[SharePoint Web アプリケーション構成の管理] セクションの [Web アプリケーションの作成または拡張] をクリックします。

  3. [Web アプリケーションの作成または拡張] ページの [SharePoint Web アプリケーションの追加] セクションで、[既存の Web アプリケーションの拡張] をクリックします。

  4. [別の IIS Web サイトへの Web アプリケーションの拡張] ページの [Web アプリケーション] セクションの [Web アプリケーション] メニューで、[Web アプリケーションの変更] をクリックします。

  5. [Web アプリケーションの選択] ページで、拡張する Web アプリケーションをリストから選択します。

  6. [IIS Web サイト] セクションで、次の操作を行います。

    1. [説明] ボックスに、新しいサイトの説明を入力します。

    2. [ポート] ボックスに 80 と入力します。

    3. [ホスト ヘッダー] ボックスにホスト ヘッダー名を入力します。

  7. [セキュリティの構成] セクションで [NTLM] が選択されていることを確認します。

  8. [負荷分散される URL] セクションで、使用する領域を選択します (この例では [イントラネット])。

    注意

    イントラネットに接続した DNS サーバーは、NTLM 認証を使用するように構成した Web サイトに割り当てた静的 IP アドレスで、この負荷分散された URL を解決できる必要があります。

  9. [OK] をクリックします。

サーバー ファーム内のすべてのフロント エンド Web サーバーで、次の手順を実行します。

IIS を再起動する

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスの [名前] ボックスに「cmd」と入力し、[OK] をクリックします。

  3. コマンド プロンプトで次のように入力し、Enter キーを押します。

    iisreset /noforce

  4. コマンド プロンプト ウィンドウを閉じます。

サイト名を DNS 内の静的 IP アドレスにマップする

ホスト名付きサイトでは、ファーム管理者が自分のサイトの URL に使用する名前を選択できます。この名前 (つまり URL) はドメインで一意の名前にする必要があることに注意してください。インターネットに接続した DNS の管理者は、ファーム管理者が選択したサイト名を、適切な静的 IP アドレスにマップする必要があります。サーバー管理者は後の手順で、Web アプリケーションによって使用される既定領域を使用するように構成された IIS Web サイトに、この静的 IP アドレスをマップします。

同様に、イントラネットに接続した DNS の管理者は、同じサイト名を別の静的 IP アドレスにマップする必要があります。サーバー管理者は後の手順で、Web アプリケーションによって使用されるイントラネット領域を使用するように構成された IIS Web サイトに、この静的 IP アドレスをマップします。また、この DNS 管理者は、Web アプリケーションを拡張したときにファーム管理者が使用したホスト ヘッダー名を、この静的 IP アドレスにマップする必要もあります。後の手順でこのホスト名が削除された場合でも、このホスト名は、クローラがイントラネット領域の Web アプリケーションにアクセスする際に使用されます。

次の手順は、サーバー管理者が、サーバー ファームの各フロントエンド Web サーバーで実行する必要があります。

静的 IP アドレスを Web サイトにマップする

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[管理ツール] をポイントし、[インターネット インフォメーション サービス (IIS) マネージャ] をクリックします。

  2. コンソール ツリーで、[ローカル コンピュータ] ノード、[Web サイト] の順に展開し、フォーム認証用に構成した Web サイトを右クリックして、[プロパティ] をクリックします。

  3. [プロパティ] ダイアログ ボックスの [Web サイト] タブの [Web サイトの識別] セクションで、顧客側の接続に使用する Web サイトにマップする IP アドレスを、[IP アドレス] リストから選択します。

  4. [OK] をクリックして、[プロパティ] ダイアログ ボックスを閉じます。

  5. コンソール ツリーで、NTLM 認証用に構成した Web サイトを右クリックし、[プロパティ] をクリックします。

  6. [プロパティ] ダイアログ ボックスの [Web サイト] タブの [Web サイトの識別] セクションで、[詳細設定] をクリックします。

  7. [Web サイト ID の詳細設定] ダイアログ ボックスの [この Web サイトの複数の ID] セクションで、NTLM 認証を使用する Web サイトに対して構成したホスト ヘッダー名を含む行を選択し、[編集] をクリックします。

  8. [Web サイトの識別の追加と編集] ダイアログ ボックスで、NTLM 認証を使用する Web サイトにマップする IP アドレスを、[IP アドレス] リストから選択します。

  9. [ホスト ヘッダー値] ボックスのホスト ヘッダー名を書き留めます。この名前が、NTLM 認証用に構成したサイトに割り当てたホスト ヘッダー名です。次の手順でこの名前を使用する必要があります。

  10. [ホスト ヘッダー値] ボックスで、ホスト ヘッダー名を削除し、[OK] をクリックします。

  11. [OK] をクリックして、[Web サイト ID の詳細設定] ダイアログ ボックスを閉じます。

  12. [OK] をクリックして、[プロパティ] ダイアログ ボックスを閉じます。

  13. IIS マネージャを閉じます。

次の手順を使用して、Web アプリケーションのサイト コレクションを作成します。この手順を実行するには、サーバー管理者である必要があります。

Web アプリケーションのサイト コレクションを作成する

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスの [名前] ボックスに「cmd」と入力し、[OK] をクリックします。

  3. 次のフォルダに移動します。

    systemdrive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

    systemdrive は Windows SharePoint Services 3.0 をインストールするドライブです。

  4. コマンド ウィンドウで、次のコマンドを入力し、Enter キーを押します。

    stsadm.exe -o createsite -url http://<HostNamedSiteAddress>

    -ownerlogin <ProviderName:UserName> -owneremail <username@example.com>

    -hostheaderwebapplicationurl http://<WebApplicationUrl>

次の表では、前述の手順 4 で使用される変数について説明します。

変数 説明

HostNamedSiteAddress

ユーザーがサイト コレクションのトップ レベル サイトにアクセスするために、ファーム管理者が選択した URL。DNS 管理者は、Web アプリケーションの既定領域へのアクセスに使用される IP アドレスに、この名前をマップします。

ProviderName:UserName

ホスト ヘッダー ベースのサイト コレクションの所有者。

username@example.com

サイト コレクション所有者の電子メール アドレス。

WebApplicationUrl

Web アプリケーションの既定領域の URL。サーバーの全体管理の [Web アプリケーションのリスト] ページでこのアドレスを確認できます。

ユーザーにアクセス許可を与える

作成した Web アプリケーション上のサイトにユーザーがアクセスするには、サイトへの適切なアクセス許可をそのユーザーにあらかじめ与えておく必要があります。Web アプリケーション レベルでセキュリティを管理する場合は、ファーム管理者が Web アプリケーションへのアクセス許可を与えるポリシーを作成できます。または、サイト コレクション レベルおよびその下位レベルでアクセス許可を管理する場合は、サイト コレクション管理者が適切な SharePoint グループにユーザーを追加できます。

ポリシーを使用してユーザーにアクセス許可を与える方法については、ヘルプ システムの「Manage permissions through policy (英語)」を参照してください。サイト コレクションおよび下位レベルでアクセス許可を管理する方法については、「サイトおよびコンテンツのセキュリティを計画する (Windows SharePoint Services)」を参照してください。

このブックをダウンロードする

のトピックは、簡単に読んだり印刷したりできるように、次のダウンロード可能なドキュメントに収められています。

入手可能なドキュメントの詳細な一覧については、「Windows SharePoint Services 3.0 のダウンロード可能なコンテンツ」を参照してください。