Konfigurieren der Server-zu-Server-Authentifizierung zwischen Veröffentlichung und Nutzung von Farmen

GILT FÜR:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Wenn eine Farm die Benutzerprofildienstanwendung einer Veröffentlichungsfarm nutzt, stellt SharePoint Anforderungen mithilfe der Server-zu-Server-Authentifizierung im Namen des Benutzers für einige Features aus:

  • Folgen Sie einem Dokument in einer Inhaltswebanwendung, wenn sich die persönliche Website eines Benutzers in einer Webanwendung in einer externen Farm befindet. Die Inhaltswebanwendung sendet im Namen des Benutzers eine OAuth-Anforderung an die Webanwendung "Meine Websites".

  • Erstellen oder beantworten Sie einen Websitefeedbeitrag für eine Website, die sich in einer Inhaltswebanwendung befindet, aber über den Newsfeed "Meine Website" des Benutzers in der Webanwendung "Meine Websites" ausgeführt wird. Die Webanwendung "Meine Websites" sendet eine Anforderung an die Inhaltswebanwendung im Namen des Benutzers, um den Beitrag oder die Antwort zu schreiben.

  • Eine Anwendungsaufgabe des Benutzerprofildiensts zum erneuten Auffüllen des Feedcaches muss aus der persönlichen Website oder Inhaltswebsite lesen. Wenn die Benutzerprofildienst-Anwendung in einer anderen Farm ausgeführt wird, sendet sie eine OAuth-Anforderung an die Webanwendung "Meine Websites" oder die Inhaltswebanwendung, um die Benutzer- oder Websitefeeddaten in den Cache zu lesen.

Vorabinformationen

Für die Prozedur in diesem Artikel müssen Sie Folgendes bereits konfiguriert haben:

Vergewissern Sie sich, dass Sie über die folgenden Mitgliedschaften verfügen:

  • Feste Serverrolle securityadmin auf der SQL Server-Instanz.
  • Feste Datenbankrolle db_owner auf allen Datenbanken, die aktualisiert werden sollen.
  • Mitglied der integrierten Gruppe Administratoren auf dem Server, auf dem Sie die PowerShell-Cmdlets ausführen. Mit dem Cmdlet Add-SPShellAdmin kann ein Administrator die Berechtigung zur Verwendung von SharePoint Server-Cmdlets gewähren.

    Hinweis

    [!HINWEIS] Wenn Sie über keine Berechtigungen verfügen, kontaktieren Sie Ihren Setup-Administrator oder SQL Server-Administrator, um die Berechtigungen anzufordern. Weitere Informationen zu PowerShell-Berechtigungen finden Sie unter Add-SPShellAdmin.

Konfigurieren einer Server-zu-Server-Authentifizierung zwischen den Veröffentlichungs- und Nutzungsfarmen

Im folgenden Verfahren wird beschrieben, wie Sie die Server-zu-Server-Authentifizierung zwischen Veröffentlichung und Nutzung von Farmen konfigurieren und nur die erforderlichen Berechtigungen erteilen, damit Features für soziale Netzwerke funktionieren. Jede Farm behält ihren eigenen, eindeutigen Authentifizierungsbereich.

Autorisieren der Farm zum Senden von OAuth-Anforderungen an die Farm, die die MySites-Webanwendung hostet

Starten Sie auf einem SharePoint-Server in der Farm, auf dem die Webanwendung MySites ausgeführt wird (bei der es sich möglicherweise nicht um die Veröffentlichungsfarm handelt), starten Sie die SharePoint-Verwaltungsshell, und führen Sie dieses PowerShell-Skript aus, um die farm zu registrieren, die nutzende Farm als vertrauenswürdigen Aussteller zu registrieren, ihren App-Prinzipal abzurufen und ihr die erforderlichen Autorisierungen zu gewähren:

# 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)

Autorisieren der Veröffentlichungsfarm zum Senden von OAuth-Anforderungen an die nutzende Farm

Starten Sie auf einem SharePoint-Server in der farm, die die Nutzung nutzt, die SharePoint-Verwaltungsshell, und führen Sie dieses PowerShell-Skript aus, um die Veröffentlichungsfarm als vertrauenswürdigen Aussteller zu registrieren, ihren App-Prinzipal abzurufen und ihr die erforderlichen Autorisierungen zu gewähren:

# 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)

Siehe auch

Konzepte

Freigeben von Dienstanwendungen für mehrere Farmen in SharePoint Server

Authentifizierungsübersicht für SharePoint Server

Planen der Server-zu-Server-Authentifizierung in SharePoint Server

Weitere Ressourcen

New-SPTrustedSecurityTokenIssuer

Set-SPAppPrincipalPermission