Share via


2 つの SharePoint Server ファーム間で検索用の信頼を構成する

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

オンプレミスの SharePoint Server コンテンツ ファームが検索インデックスからの結果を別のオンプレミスの SharePoint Server ファームに返すように構成するには、次の 2 つの主要な手順を実行する必要があります。

  1. 検索クエリを受信するファームで、以下を実行してクエリを送信するファームの信頼を構成します。
  • Open Authorization 2.0 (OAuth 2.0) Web 認証プロトコルを使用してサーバー間の信頼関係を構成します。

  • クエリを受け取るファームが、コンテンツをホストする Web アプリケーションすべてから検索結果を返すようにします。

  1. 検索クエリを送信するファームで、次のそれぞれを実行する結果ソースを作成します。
  • プロトコルとして、 リモート SharePoint を指定します。

  • 検索クエリを受信する SharePoint Server ファーム内のルート サイト コレクションのアドレスを指定します。

詳細については、「SharePoint Server の検索に関する結果ソースを構成する」を参照してください。

注:

結果ソースの作成後、Web パーツまたはクエリ ルール処理で結果ソースを使用することによって提供される検索結果を公開します。 この方法で、検索クエリを送信しているファームのユーザーは、クエリを受信しているファームからの結果を表示できます。 詳細については、「SharePoint Server の検索に関する結果ソースの概要」を参照してください。

この記事では、前述のリストにある最初の手順を実行する方法、つまり検索クエリを受信するファームを、クエリを送信するファームを信頼するように構成する方法について説明します。

この記事では、簡潔にするために次の用語を使用しています。

   
SendingFarm 検索クエリを ReceivingFarm に送信する検索サービスが含まれるオンプレミスの SharePoint Server ファーム。
ReceivingFarm SendingFarm からの検索クエリを受信する検索インデックスが含まれるオンプレミスの SharePoint Server コンテンツ ファーム。 この記事では、ReceivingFarm にはコンテンツをホストする Web アプリケーションが少なくとも 1 つは含まれると想定しています。

SendingFarm が ReceivingFarm の検索インデックスから検索結果を取得できるようにするため、ファームには以下の特性が必要です。

注:

SharePoint Server はインターネット インフォメーション サービス (IIS) で Web サイトとして実行されることから、管理者およびユーザーはブラウザーが提供するユーザー補助機能に依存します。 SharePoint Server は、サポートされるブラウザーのアクセシビリティ機能をサポートします。 詳細については、以下を参照してください。

SendingFarm を信頼するよう ReceivingFarm を構成するには

  1. この手順を実行するユーザー アカウントが以下のグループのメンバーであることを確認します。
  • ReceivingFarm のファーム管理者グループ。

  • Microsoft PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    サーバーの管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server のコマンドレットを使用するアクセス許可を付与できます。 Add-SPShellAdmin コマンドレットを実行する場合、SQL Server インスタンス上の securityadmin 固定サーバー ロールのメンバーであること、および更新するすべてのデータベース上で db_owner 固定データベース ロールのメンバーであることが必要です。 詳細については、「 Add-SPShellAdmin」を参照してください。 これらのメンバーではない場合、システム管理者または SQL Server 管理者に連絡してメンバーシップを要求してください。

  1. ReceivingFarm のサーバーで、SharePoint 管理シェルを開始します。

    • Windows Server 2008 R2 の場合:

      SharePoint Server 環境の [スタート ] メニューの [ すべてのプログラム] を選択し、[ SharePoint 2016] を選択し、[ SharePoint 管理シェル] を選択します。

    • Windows Server 2012 の場合:

    • SharePoint Server 環境の [スタート ] ページで、[ SharePoint 管理シェル] を選択します。

    • SharePoint 管理シェル[スタート] ページにない場合は、[コンピューター] を右クリックし、[すべてのアプリ] を選択し、[SharePoint 管理シェル] を選択します。

    Windows Server 2012と対話する方法の詳細については、「Windows Server 2012の一般的な管理タスクとナビゲーション」を参照してください。

  2. ReceivingFarm のサーバーの PowerShell コマンド プロンプトで、次のコマンドを実行します。 このコマンドは、OAuth 2.0 Web 認証プロトコルを使用してサーバー間の信頼を構成し、ReceivingFarm が SendingFarm を信頼できるようにします。

    # Create a trusted security token issuer
    $i = New-SPTrustedSecurityTokenIssuer -Name "SendingFarm" -IsTrustBroker:$false -MetadataEndpoint "https://<SendingFarm_web_application>/_layouts/15/metadata/json/1"
    # Configure trust of the token-signing certificate'
    # by adding the trust used to sign oAuth tokens'
    # to the list of trusted root authorities'
    # in ReceivingFarm
    New-SPTrustedRootAuthority -Name "SendingFarm" -MetadataEndPoint https://<SendingFarm_web_application>/_layouts/15/metadata/json/1/rootcertificate
    

    詳細は次のとおりです。

    https://<SendingFarm_web_application> は、SendingFarm 内の任意の SSL 対応 Web アプリケーションです。

    重要

    サーバー間の受信要求用のサーバー間認証エンドポイントを含む Web アプリケーション、またはサーバー間の送信要求を発行する Web アプリケーションは、Secure Sockets Layer (SSL) を使用するように構成されている必要があります。 SSL を使用する Web アプリケーションの構成方法については、「SharePoint Server でクレーム ベースの Web アプリケーションを作成する」を参照してください。 サーバー間の要求のための HTTP サポートの構成については、「Configure server-to-server authentication in SharePoint Server」の「Configure server-to-server authentication between SharePoint Server farms」を参照してください。

  3. ReceivingFarm のサーバーの PowerShell コマンド プロンプトで、次のコマンドを実行します。

    # Use $realm to store the string'
    # that comes after the "@" character'
    # in the value of $i.NameId
    $realm = $i.NameId.Split("@")
    
  4. ReceivingFarm のサーバーの PowerShell コマンド プロンプトで、次のコマンドを実行し、ReceivingFarm のすべての Web アプリケーションが SendingFarm に検索結果を返すようにします。

    $s1 = Get-SPSite -Identity https://<ReceivingFarm_web_application>
    $sc1 = Get-SPServiceContext -Site $s1
    # Set up an authentication realm for'
    # a web application that hosts content in ReceivingFarm 
    Set-SPAuthenticationRealm -ServiceContext $sc1 -Realm $realm[1]
    # Get a reference to the application principal'
    # for that web application in Farm B
    $p = Get-SPAppPrincipal -Site https://<ReceivingFarm_web_application> -NameIdentifier $i.NameId
    # Grant rights to the application principal'
    # that SendingFarm will use'
    # when it sends queries to ReceivingFarm
    Set-SPAppPrincipalPermission -Site https://<ReceivingFarm_web_application> -AppPrincipal $p -Scope SiteCollection -Right FullControl
    

    詳細は次のとおりです。

    https://<ReceivingFarm_web_application> は、ReceivingFarm の SSL 対応 Web アプリケーションです。

  5. 前の手順 (手順 5) を、検索するコンテンツをホストする ReceivingFarm の Web アプリケーションごとに繰り返します。

関連項目

SharePoint Server の認証の概要

SharePoint Server でサーバー間認証を計画する

SharePoint Server でサーバー間認証を計画する

SharePoint Server でサーバー間認証を構成する

SharePoint 2013 のファーム間で oAuth 信頼を設定する

SharePoint 2013 においてリモート SharePoint インデックスからのすべての結果セットを取得する

JavaScript および .NET における JavaScript Object Notation (JSON) の概要