クロールのための Kerberos 認証サイトの構成

この記事の内容 :

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

ソリューション 1 の概要手順

ソリューション 1 の展開 (Kerberos を使用する新しい Web サイトの構成)

ソリューション 2 の概要手順

ソリューション 2 の展開 (Kerberos を使用する既存の Web サイトの構成)

Kerberos 認証は、Microsoft Office SharePoint Server 2007 Web アプリケーションの既定の認証メカニズムである NTLM より強いセキュリティを提供します。ただし、Kerberos 認証を使用するサイトが非標準のポートを使用するように構成されている場合、インデックス サーバーのインデックス コンポーネント (クローラとも呼ばれます) は、そのようなサイトをクロールできないことに注意してください。TCP ポート 80 (HTTP) および SSL ポート 443 (HTTPS) 以外のポート番号は、非標準ポートです。

Web アプリケーション領域のポーリング順序は、クロールに影響を与えます。クローラは常に、既定の領域からポーリングを開始します。この領域で Kerberos 認証が使用されている場合に、TCP ポート 80 も SSL ポート 443 も使用されていないと、クローラは、次のポーリング順序の領域を使用して認証を試みることはなく、Web アプリケーションのコンテンツはクロールされません。つまり、コンテンツのインデックスは作成されず、検索クエリを行ってもコンテンツは返されません。クローラでポーリング順序を処理する方法の詳細については、「認証方法を計画する (Office SharePoint Server)」の「クロール コンテンツの認証を計画する」を参照してください。

この記事は、Office SharePoint Server 2007 のスタンドアロンとサーバー ファームの両方の展開に適用できます。この記事では、既定の領域で Kerberos 認証を使用するサイトをクロールするためのソリューションと、既定の領域で NTLM を使用し別の領域で Kerberos 認証を使用するサイトをクロールするためのソリューションについて説明します。どちらのソリューションを使用しても、認証に Kerberos を使用する Web アプリケーションにアクセスするエンド ユーザーは、検索クエリの結果を取得できます。以下に、そのソリューションを示します。

  • ソリューション 1 : 既定の領域での認証に Kerberos を使用する Web アプリケーションを作成し、標準ポートを使用するように構成します。Kerberos を使用して認証を行うユーザーは、サイトの URL でポート番号を指定する必要がないので、このソリューションを使用することをお勧めします。このソリューションを展開できない場合は、ソリューション 2 を使用します。

  • ソリューション 2 : NTLM 認証を使用する Web アプリケーションを作成し、2 番目の領域で Kerberos 認証を使用するように Web アプリケーションを拡張します。このようにすると、クローラは NTLM 認証を使用して、既定の領域でコンテンツをクロールできます。標準ポートで Kerberos 認証を使用できない場合は、このソリューションを使用します。

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

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

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

  • サーバー管理者

  • 検索サービス管理者

  • ファームの管理者

  • インターネット インフォメーション サービス (IIS) 管理者

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

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

ソリューション 1 の概要手順

  1. Kerberos 認証を使用する Web アプリケーションを作成します。

  2. ポート 80 またはポート 443 を新しい Web アプリケーションに割り当てます。

  3. Active Directory で SPN を作成します。

  4. Web アプリケーションの参照が成功することを確認します。

  5. Web アプリケーションに対する読み取りアクセス許可レベル以上の権限がクローラに与えられていることを確認します。

  6. 検索クロールの動作が適切かどうかを確認します。

  7. 検索クエリが正確な結果を返すことを確認します。

  8. URL をエンド ユーザーに発行します。

ソリューション 1 の展開

Kerberos 認証を使用する Web アプリケーションの作成

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

  2. [アプリケーション構成の管理] タブをクリックします。

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

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

  5. [新しい Web アプリケーションの作成] ページの [IIS Web サイト] セクションで、既定の設定の [新しい IIS Web サイトを作成する] をそのまま使用し、[説明] ボックスに Web サイトの名前を入力します。

  6. [ポート] ボックスに、「80」または「443」と入力します。ポート 443 を使用する場合は、[SSL (Secure Sockets Layer) を使用する] も選択する必要があります。

  7. Web サイトの IIS ホスト ヘッダーを指定します。

    IIS ホスト ヘッダーを使用して Web サイト用に SSL を構成する方法の詳細については、「Configuring SSL Host Headers (IIS 6.0) (英語)」(https://go.microsoft.com/fwlink/?linkid=111285&clcid=0x411) を参照してください。

  8. [セキュリティの構成] セクションで、[ネゴシエート (Kerberos)] を選択します。

  9. [アプリケーション プール] セクションで、既定の設定の [新しいアプリケーション プールを作成する] をそのまま使用し、新しいアプリケーション プールのセキュリティ アカウントを指定します。

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

  11. IIS を再起動します。

    IIS を再起動するには、コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Iisreset /restart /noforce

  12. コマンド プロンプトを閉じます。

  13. DNS/WINS を更新し、IIS ホスト ヘッダーを Web フロントエンド サーバーの IP アドレスに解決します。

Active Directory での SPN の作成

  • Windows Server 2003 サポート ツールの Setspn.exe ツールを使用して、Kerberos 認証を使用するように構成する Web アプリケーション用に 2 つの SPN を作成します。1 つの SPN では Web アプリケーションの NetBIOS 名を使用する必要があり、もう 1 つの SPN では Web アプリケーションの DNS 完全修飾ドメイン名 (FQDN) を使用する必要があります。次の構文を使用します。

    **Setspn.exe -A HTTP/**ServerName AdDomain/UserName

    HTTP はサービス クラス、ServerName は NetBIOS 名または FQDN、AdDomain は Active Directory ドメイン、UserName は Web アプリケーションのアプリケーション プールの ID です。

    次の例は、Web アプリケーションに対して構成するホスト ヘッダーが server1.contoso.com の場合の SPN を示しています。

    • NetBIOS SPN: HTTP/server1

    • FQDN SPN: HTTP/server1.contoso.com

Kerberos 認証を使用して Web アプリケーションを参照できたことを確認する

  1. サーバー ファームと同じドメインにあるコンピュータにログオンします。コンピュータがファームにおけるフロントエンド Web サーバーではないことを確認します。

    重要

    Kerberos 認証を使用して Web サイトをホストしているいずれかのコンピュータで Kerberos 認証の適切な動作を直接確認しないでください。その代わりに、ドメイン内の別のコンピュータからこの動作を確認してください。

  2. この別のコンピュータで Web ブラウザを開き、Web アプリケーションの URL を参照します。

    Kerberos 認証を使用する Web アプリケーションのホーム ページが表示される必要があります。Web アプリケーションにアクセスするために Kerberos 認証が使用されたことを確認する方法の詳細については、「Kerberos 認証を構成する (Office SharePoint Server)」の「Confirm successful access to the Web applications using Kerberos authentication」を参照してください。

Web アプリケーションに対する読み取り以上のアクセス許可レベルがクローラに付与されていることを確認する

  • クローラを Web アプリケーションで認証できるようにするには、その Web アプリケーションに対する読み取り以上のアクセス許可レベルをクローラに付与する必要があります。適切なアクセス許可レベルが付与されていない場合、クロールは失敗します。次のどちらかの条件に当てはまることを確認してください。

    • Web アプリケーションに対する読み取り以上のアクセス許可レベルが付与されたドメイン アカウントを指定するクロール ルールが存在する。

    • 既定のコンテンツ アクセス アカウントに割り当てられているドメイン アカウントに、Web アプリケーションに対する読み取り以上のアクセス許可レベルが付与されている。

    クロール ルールと既定のコンテンツ アクセス アカウントの詳細については、「クローラの認証方法を構成する (Office SharePoint Server 2007)」を参照してください。

適切な検索クロールの動作を確認する

  1. [共有サービス管理] ページの [検索] セクションで、[検索の設定] をクリックします。

  2. [検索設定の構成] ページの [クロール設定] セクションで、[コンテンツ ソースとクロールのスケジュール] をクリックします。

    注意

    既定では、ファーム管理者が Web アプリケーションを作成または拡張すると、Web アプリケーションの URL が既定のコンテンツ ソースに自動的に追加されます。このコンテンツ ソースの既定の名前は、"ローカルの Office SharePoint Server サイト" です。既定のコンテンツ ソースを使用して新しい Web アプリケーションのフル クロールを実行することもできますが、それを行うと、そのコンテンツ ソースで指定されている他のすべての Web アプリケーションもクロールされます。新しいコンテンツ ソースのフル クロールを実行する必要があるので、既定のコンテンツ ソースを使用してコンテンツをクロールすると、クロール対象のコンテンツの量によっては、完了するまでに長い時間がかかる場合があります。既定のコンテンツ ソース内のすべてのコンテンツをクロールしないようにするには、新しいコンテンツ ソースを作成して新しい Web アプリケーションをクロールしてください。その場合は、最初に、既存のコンテンツ ソースから Web アプリケーションへの URL を削除する必要があります。コンテンツ ソースの作成については、「SharePoint サイト、Web サイト、ファイル共有、または Microsoft Exchange パブリック フォルダのクロール用にコンテンツ ソースを追加する (Office SharePoint Server)」を参照してください。

  3. [コンテンツ ソースの管理] ページで、クロールするコンテンツ ソースをポイントし、表示される矢印をクリックし、表示されるメニューの [フル クロールの開始] をクリックします。

    注意

    この手順で選択したコンテンツ ソースの [状態] 列の値が [フル クロール中] に変わります。ただし、そのページの [状態] 列の値は、クロール完了時に自動的に変更されません。[状態] 列を更新するには、[更新] をクリックして [コンテンツ ソースの管理] ページを更新する必要があります。

  4. クロールが完了するのを待ちます。"アクセス拒否" エラーでクロールが失敗する場合は、コンテンツ アクセス アカウントにコンテンツ ソースへのアクセス権がないか、または Kerberos 認証が失敗しています。検索クエリが正しい結果を返すことを確認するには、その前に Kerberos 認証を使用する Web アプリケーションのフル クロールが完了している必要があるので、次の手順に進むにはこのエラーを解決する必要があります。コンテンツ アクセス アカウントの詳細については、「Web アプリケーションに対する読み取り以上のアクセス許可レベルがクローラに付与されていることを確認する」を参照してください。

検索クエリから正確な結果が返されることを確認する

  1. サーバー ファームと同じドメインにあるコンピュータにログオンします。コンピュータがファームにおけるフロントエンド Web サーバーではないことを確認します。

  2. そのコンピュータで Web ブラウザを開き、クロールした Web アプリケーションのトップレベル サイトを参照します。

  3. ホーム ページが表示されたら、[このサイト] 検索範囲を選択します。

  4. [検索] フィールドにキーワードを入力して、Enter キーを押します。

    ヒント

    Web サイトで使われているキーワードを使用してください。

  5. Web アプリケーションに関する検索クエリの結果が返されることを確認します。結果が返されない場合は、次の点を確認してください。

    • 入力したキーワードが Web アプリケーションで使用されている。

    • インデックス作成が正常に実行されている。

    • Office SharePoint Server Search サービスがインデックス サーバーおよびクエリ サーバーで実行されている。

    • インデックス サーバーがクエリ サーバーを兼ねていない場合は、インデックス サーバーからクエリ サーバーへの検索の伝達に問題がないことを確認してください。

  6. Kerberos 認証を使用する Web アプリケーションの URL をエンド ユーザーに発行します。

ソリューション 2 の概要手順

  1. NTLM 認証を使用する Web アプリケーションを作成します。これは既定の認証方法です。

  2. 既定の領域で NTLM 認証を使用するように構成した新しい Web アプリケーションを拡張し、Kerberos 認証を使用するように別の領域を構成します。

  3. IIS でランダムなポートを割り当てるか、またはユーザーが非標準ポートを指定して、Kerberos 認証用に拡張した Web アプリケーションの領域を構成します。

  4. Kerberos 認証用に構成した領域に SPN を作成してポート番号を設定し、ブラウザを構成します。

  5. 拡張した Web アプリケーションを、Kerberos 認証を使用して正常に参照できることを確認します。

  6. Web アプリケーションを、NTLM 認証を使用して正常に参照できることを確認します。

  7. Web アプリケーションに対する読み取りアクセス許可レベル以上の権限がクローラに与えられていることを確認します。

  8. 検索クロールの動作が適切かどうかを確認します。

  9. 検索クエリが正確な結果を返すことを確認します。

  10. Kerberos 認証を使用する Web アプリケーションの URL をエンド ユーザーに発行します。URL にポート番号が含まれていることを確認します。

ソリューション 2 の展開

NTLM 認証を使用する Web アプリケーションの作成

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

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

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

  4. [新しい Web アプリケーションの作成] ページの [IIS Web サイト] セクションで、既定の設定の [新しい IIS Web サイトを作成する] をそのまま使用し、[説明] ボックスに Web サイトの名前を入力します。

  5. [ポート] ボックスで、次のどちらかの操作を行います。

    • 「80」または「443」を入力します。ポート 443 を使用する場合は、[SSL (Secure Sockets Layer) を使用する] も選択する必要があります。

    • 非標準ポート番号を入力するか、IIS で非標準ポート番号を割り当てます。

  6. Web サイトの IIS ホスト ヘッダーを指定します。

    IIS ホスト ヘッダーを使用して Web サイト用に SSL を構成する方法の詳細については、「Configuring SSL Host Headers (IIS 6.0) (英語)」(https://go.microsoft.com/fwlink/?linkid=111285&clcid=0x411) を参照してください。

  7. [セキュリティの構成] セクションで、既定の設定の [NTLM] をそのまま使用します。

  8. [アプリケーション プール] セクションで、既定の設定の [新しいアプリケーション プールを作成する] をそのまま使用し、新しいアプリケーション プールのセキュリティ アカウントを指定します。

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

  10. IIS を再起動します。

    IIS を再起動するには、コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Iisreset /restart /noforce

  11. コマンド プロンプトを閉じます。

  12. DNS/WINS を更新し、IIS ホスト ヘッダーを Web フロントエンド サーバーの IP アドレスに解決します。

Kerberos 認証を使用する場合の Web アプリケーションの拡張

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

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

  3. [Web アプリケーションの選択] ページで、作成した Web アプリケーションをクリックします。

  4. [IIS Web サイト] セクションで、拡張した Web アプリケーションの設定を構成します。

  5. [説明] ボックスで、拡張した Web アプリケーションの説明を必要に応じて入力します。

  6. 次の操作のどちらかを行います。

    1. [ポート] ボックスに、使用するポート番号を入力します。

    2. IIS でランダムなポート番号を割り当てます。

  7. [セキュリティの構成] セクションで、[ネゴシエート (Kerberos)] を選択します。

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

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

  10. IIS を再起動します。

    IIS を再起動するには、コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Iisreset /restart /noforce

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

  11. コマンド プロンプトを閉じます。

Active Directory での SPN の作成とブラウザの構成

  1. Windows Server 2003 サポート ツールの Setspn.exe ツールを使用して、Web アプリケーション用に 2 つの SPN を作成します。次の構文を使用します。

    **Setspn.exe -A HTTP/**ServerName:Port AdDomain/UserName

    HTTP はサービス クラス、ServerName は NetBIOS 名または FQDN、Port は拡張 Web アプリケーションに割り当てた非標準ポートまたはランダムなポート、AdDomain は Active Directory ドメイン、UserName は拡張 Web アプリケーションのアプリケーション プールの ID です。

  2. ブラウザに Internet Explorer を使用している場合は、SPN のポート番号を認識するようにブラウザを構成します。SPN のポート番号を含むように Internet Explorer を構成する方法については、サポート技術情報の記事 908209 (https://go.microsoft.com/fwlink/?linkid=99681&clcid=0x411) を参照してください。

Kerberos 認証を使用して Web アプリケーションを参照できたことを確認する

  1. サーバー ファームと同じドメインにあるコンピュータにログオンします。

    重要

    Kerberos 認証を使用して Web サイトをホストしているいずれかのコンピュータで Kerberos 認証の適切な動作を直接確認しないでください。その代わりに、ドメイン内の別のコンピュータからこの動作を確認してください。

  2. この別のコンピュータで Web ブラウザを開き、Kerberos 認証用に構成した領域内の Web アプリケーションの URL を参照します。

    Kerberos 認証を使用する Web アプリケーションのホーム ページが表示される必要があります。Web アプリケーションにアクセスするために Kerberos 認証が使用されたことを確認する方法の詳細については、「Kerberos 認証を構成する (Office SharePoint Server)」の「Confirm successful access to the Web applications using Kerberos authentication」を参照してください。

NTLM 認証を使用した Web アプリケーションの参照の確認

  1. サーバー ファームと同じドメインにあるコンピュータにログオンします。

    Note

    参照している Web サイトをホストしているコンピュータのいずれかで、NTLM 認証の動作が正しいかどうかを直接検証しないでください。代わりに、ドメイン内の別のコンピュータからこの動作を検証します。

  2. この別のコンピュータで Web ブラウザを開き、NTLM 認証用に構成した領域内の Web アプリケーションの URL を参照します。

  3. NTLM 認証を使用する Web アプリケーションのホーム ページが表示される必要があります。ホーム ページが表示されない場合は、調査してエラーを修正します。

Web アプリケーションに対する読み取り以上のアクセス許可レベルがクローラに付与されていることを確認する

  • クローラを Web アプリケーションで認証できるようにするには、その Web アプリケーションに対する読み取り以上のアクセス許可レベルをクローラに付与する必要があります。適切なアクセス許可レベルが付与されていない場合、クロールは失敗します。次のどちらかの条件に当てはまることを確認してください。

    • Web アプリケーションに対する読み取り以上のアクセス許可レベルが付与されたドメイン アカウントを指定するクロール ルールが存在する。

    • 既定のコンテンツ アクセス アカウントに割り当てられているドメイン アカウントには、Web アプリケーションに対する読み取りアクセス許可レベル以上の権限が与えられています。

    クロール ルールと既定のコンテンツ アクセス アカウントの詳細については、「クローラの認証方法を構成する (Office SharePoint Server 2007)」を参照してください。

適切な検索クロールの動作を確認する

  1. [共有サービス管理] ページの [検索] セクションで、[検索の設定] をクリックします。

  2. [検索設定の構成] ページの [クロール設定] セクションで、[コンテンツ ソースとクロールのスケジュール] をクリックします。

  3. [コンテンツ ソースの管理] ページで、作成した NTLM Web アプリケーションの URL を含むコンテンツ ソースをポイントし、表示される矢印をクリックして、表示されるメニューの [フル クロールの開始] をクリックします。

    注意

    この手順で選択したコンテンツ ソースの [状態] 列の値が [フル クロール中] に変わります。ただし、そのページの [状態] 列の値は、クロール完了時に自動的に変更されません。[状態] 列を更新するには、[更新] をクリックして [コンテンツ ソースの管理] ページを更新する必要があります。

    クロールが完了するのを待ってから、クロールしたコンテンツ ソースのクロール ログを表示して、クロールが "アクセス拒否" エラーで失敗していないことを確認します。クロールが "アクセス拒否" エラーで失敗する場合は、クローラが使用しているコンテンツ アクセス アカウントに、Web アプリケーション内の Web サイトへのアクセス権がない可能性があります。検索クエリが正しい結果を返すことを確認するには、その前に Kerberos 認証を使用する Web アプリケーションのフル クロールが完了している必要があるので、次の手順に進むにはこのエラーを解決する必要があります。コンテンツ アクセス アカウントの詳細については、上記の「Web アプリケーションに対する読み取り以上のアクセス許可レベルがクローラに付与されていることを確認する」を参照してください。

検索クエリから正確な結果が返されることを確認する

  1. サーバー ファームと同じドメインにあるコンピュータにログオンします。コンピュータがファームにおけるフロントエンド Web サーバーではないことを確認します。

  2. そのコンピュータで Web ブラウザを開き、クロールした Web アプリケーションのトップレベル サイトを参照します。

  3. ホーム ページが表示されたら、[このサイト] 検索範囲を選択します。

  4. [検索] フィールドに検索キーワードを入力して、Enter キーを押します。

    ヒント

    Web サイトで使われているキーワードを使用してください。

  5. Web アプリケーションに関する検索クエリの結果が返されることを確認します。結果が返されない場合は、次の点を確認してください。

    • 入力したキーワードが Web アプリケーションで使用されている。

    • クロールしたコンテンツ ソースのクロール ログを表示して、インデックスの作成が正常に実行されていることを確認します。

    • Office SharePoint Server Search サービスがインデックス サーバーおよびクエリ サーバーで実行されている。

    • インデックス サーバーがクエリ サーバーを兼ねていない場合は、インデックス サーバーからクエリ サーバーへの検索の伝達に問題がないことを確認してください。

  6. Kerberos 認証を使用する Web アプリケーションの URL をエンド ユーザーに発行し、URL にポート番号が含まれていることを確認します。

関連項目

その他のリソース

Joel Oleson's Blog - SharePoint Land (英語)