Configurer l’authentification de serveur à serveur entre les batteries de serveurs de publication et consommateur

S’APPLIQUE À : yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seÉdition par abonnement no-img-sopSharePoint dans Microsoft 365

Lorsqu’une batterie de serveurs consomme l’application de service de profil utilisateur d’une batterie de serveurs de publication, SharePoint publie des demandes à l’aide de l’authentification de serveur à serveur pour le compte de l’utilisateur pour certaines fonctionnalités :

  • Suivez un document sur une application web de contenu lorsque le site personnel d’un utilisateur se trouve sur une application web dans une batterie de serveurs externe. L’application web de contenu effectue une demande OAuth à l’application web Mes sites au nom de l’utilisateur.

  • Créez ou répondez à un billet de flux de site pour un site qui se trouve sur une application web de contenu, mais qui est exécuté via le flux d’actualités mon site de l’utilisateur sur l’application web Mes sites. L’application web Mes sites effectuera une demande de l’application web de contenu au nom de l’utilisateur pour écrire le billet ou la réponse.

  • Une tâche d’application de service de profil utilisateur pour re le cache de flux doit lire le site personnel ou le site de contenu. Si l’application de service de profil utilisateur est en cours d’exécution dans une autre batterie de serveurs, elle envoie une demande OAuth à l’application web mes sites ou à l’application web de contenu pour lire les données de flux d’utilisateur ou de site dans le cache.

Avant de commencer

La procédure de cet article nécessite que vous configuriez déjà les opérations suivantes :

Vérifiez que vous êtes membre :

  • du rôle serveur fixe Securityadmin sur l'instance SQL Server.
  • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;
  • Membre du groupe Administrateurs intégré sur le serveur sur lequel vous exécutez les cmdlets PowerShell. Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

Configurer l’authentification de serveur à serveur entre la batterie de serveurs de publication et la batterie de serveurs consommatrice

La procédure suivante décrit comment configurer l’authentification de serveur à serveur entre les batteries de serveurs de publication et consommeurs, et comment accorder uniquement les autorisations nécessaires pour permettre le fonctionnement des fonctionnalités sociales. Chaque batterie de serveurs conserve son propre domaine d’authentification unique.

Autoriser la batterie de serveurs consommant à envoyer des demandes OAuth à la batterie hébergeant l’application web MySites

Dans un serveur SharePoint de la batterie exécutant l’application web MySites (qui n’est peut-être pas la batterie de serveurs de publication), démarrez SharePoint Management Shell et exécutez ce script PowerShell pour inscrire la batterie de serveurs consommant en tant qu’émetteur approuvé, obtenir son principal d’application et lui octroyer les autorisations requises :

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

Autoriser la batterie de serveurs de publication à envoyer des demandes OAuth à la batterie de serveurs consommant

Dans un serveur SharePoint de la batterie de serveurs consommable, démarrez l’environnement de ligne de SharePoint Management Shell et exécutez ce script PowerShell pour inscrire la batterie de publication en tant qu’émetteur approuvé, obtenir son principal d’application et lui octroyer les autorisations requises :

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

Voir aussi

Concepts

Partager des applications de service entre plusieurs batteries dans SharePoint Server

Vue d'ensemble de l'authentification pour SharePoint Server

Planifier l'authentification de serveur à serveur dans SharePoint Server

Autres ressources

New-SPTrustedSecurityTokenIssuer

Set-SPAppPrincipalPermission