Настройка межсерверной проверки подлинности между публикацией и использованием ферм
ОБЛАСТЬ ПРИМЕНЕНИЯ:2013 2016 2019 Subscription Edition SharePoint в Microsoft 365
Когда ферма использует приложение службы профилей пользователей фермы публикации, SharePoint отправляет запросы с использованием проверки подлинности между серверами от имени пользователя для некоторых функций:
Следуйте документу в веб-приложении контента, если личный сайт пользователя находится в веб-приложении во внешней ферме. Веб-приложение содержимого отправляет запрос OAuth веб-приложению "Личные сайты" от имени пользователя.
Создайте публикацию веб-канала сайта или ответ на нее для сайта, который находится в веб-приложении контента, но выполняется через канал новостей личного сайта пользователя в веб-приложении "Личные сайты". Веб-приложение "Личные сайты" будет запрашивать веб-приложение содержимого от имени пользователя, чтобы написать сообщение или ответ.
Задача приложения-службы профилей пользователей для повторного заполнения кэша веб-канала должна считывать данные с личного сайта или сайта контента. Если приложение-служба профилей пользователей работает в другой ферме, оно отправляет запрос OAuth веб-приложению личных сайтов или веб-приложению контента для чтения данных пользователя или веб-канала сайта в кэше.
Подготовка к работе
Процедура, описанная в этой статье, требует, чтобы вы уже настроили следующее:
- Совместное использование приложения-службы профилей пользователей между потребляющей фермой и фермой публикации, как описано в статье Совместное использование приложений службы в фермах в SharePoint Server.
- Настройка параметров подписки и приложений службы управления приложениями в фермах публикации и использования, как описано в разделе "Настройка параметров подписки и приложений службы управления приложениями" этой статьи
Убедитесь, что вы являетесь участником следующих групп:
- Предопределенная роль сервера securityadmin для экземпляра SQL Server.
- Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
- Член встроенной группы администраторов на сервере, на котором выполняются командлеты PowerShell.
С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.
Примечание.
При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Настройка межсерверной проверки подлинности между фермой публикации и потребляющей фермой
В следующей процедуре описано, как настроить проверку подлинности между публикацией и использованием ферм, а также предоставить только необходимые разрешения, чтобы разрешить работу социальных функций. Каждая ферма сохраняет собственную уникальную область проверки подлинности.
Авторизация потребления фермы для отправки запросов OAuth в ферму, где размещается веб-приложение MySites
На сервере SharePoint в ферме с веб-приложением MySites (который может не быть фермой публикации), запустите командную консоль SharePoint и запустите этот сценарий PowerShell, чтобы зарегистрировать ферму в качестве доверенного издателя, получить ее субъект приложения и предоставить ему необходимые разрешения:
# Register the consuming farm as a trusted issuer using information in its metadata file
$trustedIssuer = New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<ConsumingFarmWinClaimsWebApp>/_layouts/15/metadata/json/1" -Name "<ConsumingFarmFriendlyName>"
# Get the app principal and set required authorizations
$mySiteHost = Get-SPWeb "http://<MySiteHostUrl/"
$appPrincipal = Get-SPAppPrincipal -Site $mySiteHost -NameIdentifier $trustedIssuer.NameId
# Grant permissions AppOnly and Write on the MySite host
Set-SPAppPrincipalPermission -EnableAppOnlyPolicy -Site $mySiteHost -AppPrincipal $appPrincipal -Scope SiteSubscription -Right Write
# Grant permissions Manage on the PrivateAPI and Read on the SocialPermissionProvider
$privateAPITypeId = New-Object -TypeName System.Guid ("a2ccc2e2-1703-4bd9-955f-77b2550d6f0d")
$socialPermissionProviderId = New-Object -TypeName System.Guid ("fcaec196-a98c-4f8f-b60f-e1a82272a6d2")
$mgr = New-Object -TypeName Microsoft.SharePoint.SPAppPrincipalPermissionsManager ($mySiteHost)
$mgr.AddSiteSubscriptionPermission($appPrincipal, $privateAPITypeId, [Microsoft.SharePoint.SPAppPrincipalPermissionKind]::Manage)
$mgr.AddSiteSubscriptionPermission($appPrincipal, $socialPermissionProviderId, [Microsoft.SharePoint.SPAppPrincipalPermissionKind]::Read)
Авторизация фермы публикации для отправки запросов OAuth в потребляющую ферму
На сервере SharePoint в потребляющей ферме запустите командную консоль SharePoint и запустите этот сценарий PowerShell, чтобы зарегистрировать ферму публикации в качестве доверенного издателя, получить субъект приложения и предоставить ему необходимые разрешения:
# Register the publishing farm as a trusted issuer using information in its metadata file
$trustedIssuer = New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<PublishingFarmWinClaimsWebApp>/_layouts/15/metadata/json/1" -Name "<PublishingFarmFriendlyName>"
# Get the app principal
$centralAdminWeb = Get-SPWeb "http://<ConsumingFarmCentralAdminURL/"
$appPrincipal = Get-SPAppPrincipal -Site $centralAdminWeb -NameIdentifier $trustedIssuer.NameId
# Grant app only permission and Read on the SiteSubscription
Set-SPAppPrincipalPermission -EnableAppOnlyPolicy -AppPrincipal $appPrincipal -Site $centralAdminWeb -Scope SiteSubscription -Right Read
# Grant permissions Manage on the PrivateAPI
$privateAPITypeId = New-Object -TypeName System.Guid ("a2ccc2e2-1703-4bd9-955f-77b2550d6f0d")
$mgr = New-Object -TypeName Microsoft.SharePoint.SPAppPrincipalPermissionsManager ($centralAdminWeb)
$mgr.AddSiteSubscriptionPermission($appPrincipal, $privateAPITypeId, [Microsoft.SharePoint.SPAppPrincipalPermissionKind]::Manage)
См. также
Понятия
Совместное использование приложений службы в разных фермах SharePoint Server
Обзор проверки подлинности для SharePoint Server
Планирование проверки подлинности между серверами в SharePoint Server