Настройка доверия для поиска между двумя фермами SharePoint Server
ОБЛАСТЬ ПРИМЕНЕНИЯ:2013 2016 2019 Subscription Edition SharePoint в Microsoft 365
Чтобы настроить локальную ферму контента 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 Server. Сведения о настройке поддержки HTTP для запросов между серверами см. в статье Настройка проверки подлинности между серверами SharePoint Server в статье Настройка проверки подлинности между серверами sharePoint Server.
На сервере в ферме 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, где размещается нужный контент.
См. также
Обзор проверки подлинности для SharePoint Server
Планирование проверки подлинности между серверами в SharePoint Server
Планирование межсерверной проверки подлинности в SharePoint Server
Настройка межсерверной проверки подлинности в SharePoint Server
Настройка доверия oAuth между фермами в SharePoint 2013
Получение полного результирующего набора из удаленного индекса SharePoint в SharePoint 2013
Введение в объектную нотацию JavaScript (JSON) в JavaScript и .NET