Настройка доверия для поиска между двумя фермами SharePoint Server

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint в Microsoft 365

Чтобы настроить локальную ферму контента SharePoint Server для возврата результатов из индекса поиска в отдельную локальную ферму SharePoint Server, необходимо выполнить следующие два основных действия:

  1. Настройте на ферме, которая получает поисковые запросы, доверие ферме, которая будет отправлять запросы, выполнив следующие действия:
  • Настройте отношение доверия между серверами с помощью протокола веб-авторизации Open Authorization 2.0 (OAuth 2.0).

  • Разрешите ферме, которая получает запросы, возвращать результаты поиск из всех веб-приложений, в которых размещается контент.

  1. Создайте на ферме, которая будет отправлять поисковые запросы, источник результатов, который:
  • задает протокол Удаленный доступ к SharePoint;

  • задает адрес любого корневого семейства веб-сайтов в ферме SharePoint Server, которое будет получать поисковые запросы.

Дополнительные сведения см. в статье Настройка источников результатов для поиска в SharePoint Server.

Примечание.

После создания источника результатов вы открываете предоставляемые им результаты поиска, используя его в веб-части или действии правила запросов. Таким образом, пользователям фермы, отправляющей поисковые запросы, видны результаты из фермы, которая получает запросы. Дополнительные сведения см. в статье Общие сведения об источниках результатов для поиска в SharePoint Server.

В этой статье описывается, как выполнить первую процедуру из приведенного выше списка: настройку фермы, которая получает поисковые запросы, для доверия ферме, отправляющей запросы.

Для краткости в данной статье используются следующие термины:

   
SendingFarm Локальная ферма SharePoint Server, содержащая службу поиска, которая отправляет поисковые запросы в ReceivingFarm.
ReceivingFarm Локальная ферма контента SharePoint Server, содержащая индекс поиска, которая получает поисковые запросы от SendingFarm. В этой статье предполагается, что в ReceivingFarm есть как минимум одно веб-приложение, в котором размещается контент.

Чтобы ферма SendingFarm могла получать результаты поиска из индекса в ферме ReceivingFarm, фермы должны иметь следующие характеристики:

Примечание.

[!Примечание] Так как SharePoint Server выполняется как веб-сайты в службах IIS, администраторы и пользователи зависят от специальных возможностей браузеров. SharePoint Server поддерживает специальные возможности поддерживаемых браузеров. Дополнительные сведения см. в следующих ресурсах:

Настройка доверия к SendingFarm для ReceivingFarm

  1. Убедитесь, что учетная запись, с помощью которой выполняется данная процедура, входит в следующие группы:
  • Группа администраторов фермы ReceivingFarm.

  • Группа администраторов сервера, на котором выполняются командлеты Microsoft PowerShell.

    Администратор этого сервера может использовать командлет Add-SPShellAdmin , чтобы предоставить пользователю разрешение на использование командлетов SharePoint Server. При выполнении командлета Add-SPShellAdmin необходимо иметь членство в предопределенной роли сервера securityadmin в экземплярах SQL Server, а также членство в предопределенной роли базы данных db_owner для всех обновляемых баз данных. Дополнительные сведения см. в статье Add-SPShellAdmin. Если у вас их нет, обратитесь к системному администратору или администратору SQL Server.

  1. Запустите командную консоль SharePoint на сервере в ферме ReceivingFarm.

    • Для 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 для настройки доверия между серверами, чтобы ферма 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> это любое веб-приложение с поддержкой SSL в ферме SendingFarm

    Важно!

    Для веб-приложений, которые включают конечные точки проверки подлинности "сервер-сервер" для входящих запросов между серверами или выполняют исходящие запросы "сервер-сервер", необходимо настроить использование SSL. Сведения о настройке веб-приложения для использования SSL см. в статье Создание веб-приложений на основе утверждений в SharePoint Server. Сведения о настройке поддержки HTTP для запросов между серверами см. в статье Настройка проверки подлинности между серверами SharePoint Server в статье Настройка проверки подлинности между серверами sharePoint Server.

  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 возвращать результаты поиска ферме 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> это веб-приложение с поддержкой SSL в ферме ReceivingFarm.

  5. Повторите предыдущий этап (этап 5) для каждого веб-приложения в ферме ReceivingFarm, где размещается нужный контент.

См. также

Обзор проверки подлинности для SharePoint Server

Планирование проверки подлинности между серверами в SharePoint Server

Планирование межсерверной проверки подлинности в SharePoint Server

Настройка межсерверной проверки подлинности в SharePoint Server

Настройка доверия oAuth между фермами в SharePoint 2013

Получение полного результирующего набора из удаленного индекса SharePoint в SharePoint 2013

Введение в объектную нотацию JavaScript (JSON) в JavaScript и .NET