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

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

Lorsqu’une batterie de serveurs consomme l’application de service Profil utilisateur d’une batterie de publication, SharePoint émet 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 requête 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 situé sur une application web de contenu, mais effectué via le flux d’actualités Mon site de l’utilisateur sur l’application web Mes sites. L’application web Mes sites effectue 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 profil utilisateur pour remplir à nouveau le cache de flux doit lire à partir du site personnel ou du site de contenu. Si l’application du service de profil utilisateur s’exécute dans une autre batterie de serveurs, elle envoie une requête OAuth à l’application web Mes sites ou à l’application web de contenu pour lire les données de flux utilisateur ou de site dans le cache.

Avant de commencer

La procédure décrite dans cet article nécessite que vous ayez déjà configuré les éléments suivants :

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 applets de commande PowerShell. Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Remarque

    [!REMARQUE] 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 de consommation, et accorder uniquement les autorisations nécessaires pour permettre aux fonctionnalités de réseaux sociaux de fonctionner. Chaque batterie de serveurs conserve son propre domaine d’authentification unique.

Autoriser la consommation de la batterie de serveurs à envoyer des requêtes OAuth à la batterie de serveurs hébergeant l’application web MySites

Dans un serveur SharePoint de la batterie de serveurs 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 consommatrice en tant qu’émetteur approuvé, obtenir son principal d’application et lui accorder 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 publication de la batterie de serveurs pour envoyer des requêtes OAuth à la batterie de serveurs consommatrice

Dans un serveur SharePoint de la batterie de serveurs consommatrices, démarrez SharePoint Management Shell et exécutez ce script PowerShell pour inscrire la batterie de serveurs de publication en tant qu’émetteur approuvé, obtenir son principal d’application et lui accorder 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