Configurare l'autenticazione da server a server tra la pubblicazione e l'utilizzo di farm
SI APPLICA A:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
Quando una farm utilizza l'applicazione del servizio profili utente di una farm di pubblicazione, SharePoint invia richieste tramite l'autenticazione da server a server per conto dell'utente per alcune funzionalità:
Seguire un documento in un'applicazione Web di contenuto quando il sito personale di un utente si trova in un'applicazione Web in una farm esterna. L'applicazione Web del contenuto effettua una richiesta OAuth all'applicazione Web Siti personali per conto dell'utente.
Creare o rispondere a un post di feed di sito per un sito che si trova in un'applicazione Web di contenuto, ma eseguito tramite il newsfeed del sito personale dell'utente nell'applicazione Web Siti personali. L'applicazione Web Siti personali effettuerà una richiesta dell'applicazione Web del contenuto per conto dell'utente per scrivere il post o la risposta.
Un'attività dell'applicazione del servizio profili utente per ripopolare la cache dei feed deve essere letta dal sito personale o dal sito del contenuto. Se l'applicazione servizio profili utente è in esecuzione in una farm diversa, invia una richiesta OAuth all'applicazione Web Siti personali o all'applicazione Web del contenuto per leggere i dati dell'utente o del feed del sito nella cache.
Prima di iniziare
La procedura descritta in questo articolo richiede che sia già stato configurato quanto segue:
- È stata condivisa l'applicazione del servizio profili utente tra una farm di pubblicazione e una di utilizzo, come documentato in Share Service Applications tra farm in SharePoint Server.
- Configurare le impostazioni della sottoscrizione e le applicazioni del servizio Gestione app nelle farm di pubblicazione e utilizzo, come illustrato nella sezione "Configurare le impostazioni della sottoscrizione e le applicazioni del servizio Gestione app" di questo articolo
Verificare di essere membri dei ruoli e dei gruppi seguenti:
- Ruolo predefinito del server securityadmin per l'istanza di SQL Server.
- Ruolo predefinito del database db_owner in tutti i database da aggiornare.
- Membro del gruppo Administrators predefinito nel server in cui si eseguono i cmdlet di PowerShell.
Un amministratore può utilizzare il cmdlet Add-SPShellAdmin per concedere le autorizzazioni per l'utilizzo dei cmdlet di SharePoint Server.
Nota
[!NOTA] Se non si dispone delle autorizzazioni, richiederle all'amministratore per l'installazione o all'amministratore di SQL Server. Per altre informazioni sulle autorizzazioni di PowerShell, vedere Add-SPShellAdmin.
Configurare l'autenticazione da server a server tra la farm di pubblicazione e la farm di utilizzo
La procedura seguente descrive come configurare l'autenticazione da server a server tra la pubblicazione e l'utilizzo di farm e concedere solo le autorizzazioni necessarie per consentire il funzionamento delle funzionalità di social networking. Ogni farm mantiene la propria area di autenticazione univoca.
Autorizzare l'utilizzo della farm per inviare richieste OAuth alla farm che ospita l'applicazione Web MySites
In un server SharePoint nella farm che esegue l'applicazione Web MySites (che potrebbe non essere la farm di pubblicazione), avviare SharePoint Management Shell ed eseguire questo script di PowerShell per registrare la farm di utilizzo come autorità di certificazione attendibile, ottenere l'entità app e concedere le autorizzazioni necessarie:
# 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)
Autorizzare la farm di pubblicazione a inviare richieste OAuth alla farm di utilizzo
In un server SharePoint nella farm di utilizzo avviare SharePoint Management Shell ed eseguire questo script di PowerShell per registrare la farm di pubblicazione come autorità di certificazione attendibile, ottenere l'entità app e concedere le autorizzazioni necessarie:
# 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)
Vedere anche
Concetti
Condividere le applicazioni di servizio tra farm in SharePoint Server
Panoramica dell'autenticazione per SharePoint Server
Pianificare l'autenticazione da server a server in SharePoint Server