Настройка доверия для поиска между двумя фермами 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, необходимо выполнить следующие два основных действия:
Настройте на ферме, которая получает поисковые запросы, доверие ферме, которая будет отправлять запросы, выполнив следующие действия:
Настройте отношение доверия между серверами с помощью протокола веб-авторизации Open Authorization 2.0 (OAuth 2.0).
Разрешите ферме, которая получает запросы, возвращать результаты поиск из всех веб-приложений, в которых размещается контент.
Создайте на ферме, которая будет отправлять поисковые запросы, источник результатов, который:
задает протокол Удаленный доступ к SharePoint;
задает адрес любого корневого семейства веб-сайтов в ферме SharePoint Server, которое будет получать поисковые запросы.
Дополнительные сведения см. в статье Настройка источников результатов для поиска в SharePoint Server.
Примечание
После создания источника результатов вы открываете предоставляемые им результаты поиска, используя его в веб-части или действии правила запросов. Таким образом, пользователям фермы, отправляющей поисковые запросы, видны результаты из фермы, которая получает запросы. Дополнительные сведения см. в статье Общие сведения об источниках результатов поиска в SharePoint Server.
В этой статье описывается, как выполнить первую процедуру из приведенного выше списка: настройку фермы, которая получает поисковые запросы, для доверия ферме, отправляющей запросы.
Для краткости в данной статье используются следующие термины:
SendingFarm |
Локальная ферма SharePoint Server, содержащая службу поиска, которая отправляет поисковые запросы в ReceivingFarm. |
ReceivingFarm |
Локальная ферма контента SharePoint Server, содержащая индекс поиска, которая получает поисковые запросы от SendingFarm. В этой статье предполагается, что в ReceivingFarm есть как минимум одно веб-приложение, в котором размещается контент. |
Чтобы ферма SendingFarm могла получать результаты поиска из индекса в ферме ReceivingFarm, фермы должны иметь следующие характеристики:
Каждая ферма является локальным развертыванием SharePoint Server.
Профили пользователей в двух фермах синхронизируются. Дополнительные сведения см. в статье Межсерверная проверка подлинности и профили пользователей в SharePoint Server.
Примечание
Поскольку SharePoint Server выполняется в виде веб-сайтов в IIS, администраторы и пользователи зависят от специальных возможностей, предоставляемых браузерами. SharePoint Server может использовать специальные возможности всех поддерживаемых браузеров. Дополнительные сведения см. в следующих источниках.
Настройка доверия к SendingFarm для ReceivingFarm
Убедитесь, что учетная запись, с помощью которой выполняется данная процедура, входит в следующие группы:
Группа администраторов фермы ReceivingFarm.
Группа администраторов сервера, на котором выполняются командлеты Microsoft PowerShell.
Администратор этого сервера может использовать командлет Add-SPShellAdmin, чтобы предоставить другому пользователю разрешение на использование командлетов SharePoint Server. При выполнении командлета Add-SPShellAdmin необходимо быть участником фиксированной роли сервера securityadmin в экземплярах SQL Server, а также фиксированной роли базы данных db_owner во всех базах данных, которые будут обновлены. Дополнительные сведения см. в статье Add-SPShellAdmin. Обратитесь к системному администратору или администратору SQL Server, чтобы запросить эти разрешения, если они отсутствуют.
Запустите Командная консоль 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.
На сервере в ферме 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.
На сервере в ферме ReceivingFarm выполните следующие команды в командной строке PowerShell.
# Use $realm to store the string' # that comes after the \"\@\" character' # in the value of $i.NameId $realm = $i.NameId.Split("@")
На сервере в ферме 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) для каждого веб-приложения в ферме ReceivingFarm, где размещается нужный контент.
See also
Обзор проверки подлинности для SharePoint Server
Планирование проверки подлинности между серверами в SharePoint Server
Планирование проверки подлинности между серверами в SharePoint Server
Настройка проверки подлинности между серверами в SharePoint 2013
Настройка доверия oAuth между фермами в SharePoint 2013
Получение полного результирующего набора из удаленного индекса SharePoint в SharePoint 2013
Введение в объектную нотацию JavaScript (JSON) в JavaScript и .NET