Поделиться через


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

 

**Применимо к:**SharePoint Server 2013, SharePoint Server 2016

**Последнее изменение раздела:**2017-09-05

Сводка. Настройте для фермы контента SharePoint Server 2016 или SharePoint Server 2013, которая получает поисковые запросы, доверие к ферме SharePoint Server 2016 или SharePoint Server 2013, которая отправляет эти запросы.

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

  1. Настройте на ферме, которая получает поисковые запросы, доверие ферме, которая будет отправлять запросы, выполнив следующие действия:

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

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

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

    • задает протокол Удаленный доступ к 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, чтобы запросить эти разрешения, если они отсутствуют.

  2. Запустите Командная консоль 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.

  3. На сервере в ферме 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 2013. Информацию о настройке поддержки HTTP для запросов "сервер-сервер" см. в разделе Настройка службы маркеров безопасности (STS) для HTTP статьи Настройка проверки подлинности между серверами в SharePoint 2013.

  4. На сервере в ферме ReceivingFarm выполните следующие команды в командной строке PowerShell.

    # Use $realm to store the string'
    # that comes after the \"\@\" character'
    # in the value of $i.NameId
    $realm = $i.NameId.Split("@")
    
  5. На сервере в ферме 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.

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

See also

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

Настройка проверки подлинности между серверами в SharePoint 2013
Настройка доверия oAuth между фермами в SharePoint 2013
Получение полного результирующего набора из удаленного индекса SharePoint в SharePoint 2013
Введение в объектную нотацию JavaScript (JSON) в JavaScript и .NET