Konfigurieren der Server-zu-Server-Authentifizierung zwischen Veröffentlichungs- und Nutzungsfarmen

GILT FÜR:  yes-img-13 2013  yes-img-16 2016  yes-img-19 2019  yes-img-se Abonnementedition  no-img-sop SharePoint in Microsoft 365

Wenn eine Farm die Benutzerprofildienstanwendung einer Veröffentlichungsfarm nutzt, SharePoint Anforderungen mithilfe der Server-zu-Server-Authentifizierung im Auftrag 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 eine OAuth-Anforderung an die Webanwendung "Meine Websites" im Namen des Benutzers.

  • Erstellen oder antworten Sie auf 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" fordert die Inhaltswebanwendung im Namen des Benutzers auf, den Beitrag oder die Antwort zu schreiben.

  • Eine Benutzerprofildienst-Anwendungsaufgabe zum Erneuten Auffüllen des Feedcaches muss von 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.

Bevor Sie beginnen

Für das Verfahren 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

    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öffentlichungs- und Nutzungsfarmen konfigurieren und nur die erforderlichen Berechtigungen erteilen, damit Features für soziale Netzwerke funktionieren. Jede Farm behält ihren eigenen, eindeutigen Authentifizierungsbereich bei.

Autorisieren der Farm, die OAuth-Anforderungen an die Farm sendet, in der die MySites-Webanwendung gehostet wird

Starten Sie auf einem SharePoint Server in der Farm, auf dem die MySites-Webanwendung ausgeführt wird (die möglicherweise nicht die Veröffentlichungsfarm ist), die SharePoint Verwaltungsshell, und führen Sie dieses PowerShell-Skript aus, um die Farm als vertrauenswürdigen Herausgeber zu registrieren, den App-Prinzipal abzurufen und ihm die erforderlichen Autorisierungen zu erteilen:

# 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 farm, die den Dienst in Anspruch nimmt

Starten Sie in einem SharePoint Server in der Farm, die den Dienst in Anspruch nimmt, die SharePoint Verwaltungsshell, und führen Sie dieses PowerShell-Skript aus, um die Veröffentlichungsfarm als vertrauenswürdigen Aussteller zu registrieren, den App-Prinzipal abzurufen und ihm die erforderlichen Autorisierungen zu erteilen:

# 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