Configuration de l’authentification serveur à serveur dans SharePoint Online à partir de SharePoint Server

 

**Sapplique à :**SharePoint Online, SharePoint Server 2013, SharePoint Server 2016

**Dernière rubrique modifiée :**2017-06-21

Résumé : Découvrez comment créer une confiance serveur à serveur entre SharePoint Server et SharePoint Online.

Cet article fait partie d’une feuille de route de procédures de configuration pour les solutions hybrides SharePoint. Veillez à respecter une feuille de route lorsque vous effectuez les procédures décrites dans cet article.

Configurer l’authentification de serveur à serveur

Cet article donne des conseils pour le processus de déploiement d’environnement hybride SharePoint qui intègre SharePoint Server et SharePoint Online.

Conseil

Pour obtenir le résultat le plus fiable, exécutez les procédures dans l’ordre indiqué dans cet article.

Vérifier les paramètres de l’application web

Dans une solution hybride SharePoint, les utilisateurs fédérés peuvent envoyer des demandes à SharePoint Online à partir de n’importe quelle application web SharePoint Server configurée pour utiliser l’authentification Windows intégrée avec NTLM.

Par exemple, vous devez vous assurer que les sites Centre de recherche sur site que vous voulez utiliser dans votre solution sont configurés pour utiliser l’authentification Windows intégrée avec NTLM. Si ce n’est pas le cas, vous devez reconfigurer l’application web pour utiliser l’authentification Windows avec NTLM ou utiliser un site Centre de recherche sur une application web qui répond aux exigences. Vous devez également vous assurer que les utilisateurs qui attendent le renvoi des résultats de recherche par SharePoint Online sont des utilisateurs fédérés.

Pour vérifier qu’une application web répond à la demande

  1. Vérifiez que le compte d’utilisateur qui effectue cette procédure est membre du groupe SharePoint Administrateurs de batterie de serveurs.

  2. Dans l’Administration centrale, cliquez sur Gestion des applications, puis sur Gérer les applications web.

  3. Dans la colonne Nom, sélectionnez l’application web à vérifier, puis cliquez sur Fournisseurs d’authentification dans le ruban.

  4. Dans la boîte de dialogue Fournisseurs d’authentification dans la colonne Zone, cliquez sur la zone à laquelle le site Centre de recherche est associé.

  5. Dans la boîte de dialogue Modifier l’authentification, vérifiez que l’authentification Windows intégrée et NTLM sont sélectionnés, comme le montre la figure suivante.

    This figure illustrates the authentication type setting for a web application

Configurer OAuth sur HTTP (si nécessaire)

Par défaut, OAuth dans SharePoint Server requiert le protocole HTTPS. Si vous avez configuré votre application web principale de sorte qu’elle utilise le protocole HTTP au lieu du protocole SSL, vous devez activer le protocole OAuth sur HTTP sur chaque serveur web dans votre batterie de serveurs SharePoint Server.

Notes

Si vous avez configuré votre application web principale de sorte qu’elle utilise le protocole SSL, cette étape n’est pas obligatoire et vous pouvez passer à la section Créer et configurer une application cible pour le certificat SSL dans SharePoint Online.

Pour activer OAuth sur HTTP, exécutez les commandes suivantes avec un compte d’administrateur de batterie à partir de l’invite de commandes SharePoint 2016 Management Shell sur chaque serveur web de votre batterie SharePoint Server.

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $true
$serviceConfig.Update()

Si vous avez activé OAuth sur HTTP à des fins de test, mais que vous voulez reconfigurer votre environnement pour utiliser SSL, vous pouvez désactiver OAuth sur HTTP en exécutant les commandes suivantes avec un compte d’administrateur de batterie à partir de l’invite de commandes SharePoint 2016 Management Shell sur chaque serveur web de votre batterie SharePoint Server.

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $false
$serviceConfig.Update()

Configurer l’authentification de serveur à serveur entre SharePoint Server sur site et SharePoint Online

Cette section vous aidera à configurer l’authentification de serveur à serveur entre :

  • SharePoint Server

  • SharePoint Online

  • Azure Active Directory

Lors de la configuration de l’authentification de serveur à serveur pour les environnements hybrides, une relation d’approbation est créée entre votre batterie de serveurs SharePoint sur site et votre clientSharePoint Online, qui utilise Azure Active Directory en tant que service de signature de jetons approuvé. En ajoutant les modules et les composants logiciels enfichables PowerShell requis, ce processus peut s’effectuer dans une seule fenêtre PowerShell sur un serveur web SharePoint sur site.

Conseil

Pour conserver un enregistrement de vos étapes, des cmdlets PowerShell exécutées et de toute erreur que vous pourriez rencontrer, vous devez capturer l’intégralité du contenu de la mémoire tampon PowerShell lorsque vous avez terminé, avant de fermer la fenêtre. Ceci vous donne un historique des étapes réalisées, ce qui est utile si vous devez résoudre des problèmes ou expliquer le processus à d’autres personnes. Il est également utile d’actualiser votre mémoire si l’installation se produit en plusieurs étapes.

Voici une vue d’ensemble des procédures que vous devez exécuter dans cette section :

  1. Configurer le service d’émission de jeton de sécurité (STS) dans SharePoint Server :

    • Créer un certificat STS.

    • Remplacer le certificat STS par défaut sur chaque serveur de votre batterie de serveurs SharePoint Server.

  2. Installer les outils de gestion de service en ligne sur un serveur web dans votre batterie de serveurs SharePoint Server.

  3. Configurer l’authentification de serveur à serveur.

    • Définir les variables à utiliser dans les étapes ultérieures.

    • Télécharger le nouveau certificat STS sur site vers SharePoint Online.

    • Ajouter un nom de principal du service (SPN) à Azure.

    • Inscrire l’ID d’objet de principal de l’application SharePoint Online à l’aide de SharePoint Server sur site.

    • Configurer un domaine d’authentification commun entre votre batterie de serveurs SharePoint Server sur site et SharePoint Online.

    • Configurer un proxy d’application Azure Active Directory sur site.

Installer les outils de gestion de service en ligne et configurer la fenêtre Windows PowerShell

Pour continuer, vous devez installer ces outils dans un serveur web SharePoint Server sur site :

  • Assistant de connexion Microsoft Online Services

  • Module Azure Active Directory pour Windows PowerShell

  • SharePoint Online Management Shell

Le plus simple est d’effectuer cette action sur un serveur web dans votre batterie de serveurs SharePoint car il est plus facile de charger le composant logiciel enfichable Microsoft.SharePoint.PowerShell sur des serveurs web que sur des serveurs sur lesquels SharePoint Server n’est pas installé.

L’authentification à SharePoint Server, SharePoint Online et Azure Active Directory nécessite plusieurs comptes d’utilisateur. Pour plus d’informations sur la façon de déterminer les comptes à utiliser, voir Comptes nécessaires pour la configuration et les tests d’un environnement hybride.

Notes

Pour faciliter l’exécution de les étapes de cette section, nous allons ouvrir une fenêtre d’invite de commandes PowerShell sur un serveur web SharePoint Server, puis ajouter les modules et les composants logiciels enfichables qui vous permettront de vous connecter à SharePoint Server, SharePoint Online et Azure Active Directory. (Nous vous fournirons les étapes détaillées concernant cette procédure plus loin dans cet article.) Nous laisserons ensuite cette fenêtre ouverte, car elle nous servira pour les étapes PowerShell restantes de cet article.

Pour installer les outils de gestion de service en ligne et configurer la fenêtre PowerShell :

  1. Installez les outils de gestion de service en ligne :

    1. Installez l’Assistant de connexion Microsoft Online Services.

      Assistant de connexion Microsoft Online Services pour les professionnels des technologies de l’information BETA (version 64 bits) (https://go.microsoft.com/fwlink/?LinkId=391943)

      Pour plus d’informations, voir Assistant de connexion Microsoft Online Services pour les professionnels des technologies de l’information RTW (https://go.microsoft.com/fwlink/?LinkId=392322).

    2. Installez le Module Azure Active Directory pour Windows PowerShell :

      Module Azure Active Directory pour Windows PowerShell (version 64 bits) (https://go.microsoft.com/fwlink/p/?linkid=236297)

      Pour plus d’informations sur Module Azure Active Directory pour Windows PowerShell, voir Gérer Azure Active Directory à l’aide de Windows PowerShell (https://aka.ms/aadposh).

    3. Installez SharePoint Online Management Shell :

      SharePoint Online Management Shell (version 64 bits) (https://go.microsoft.com/fwlink/?LinkId=392323)

      Pour plus d’informations, voir Présentation de SharePoint Online Management Shell (https://go.microsoft.com/fwlink/?LinkId=392324).

  2. Ouvrez une fenêtre PowerShell.

  3. Pour être certain de ne pas remplir la mémoire tampon et de ne perdre aucun élément de votre historique des commandes, augmentez la taille de la mémoire tampon de la fenêtre PowerShell :

    1. Cliquez dans le coin supérieur gauche de la fenêtre PowerShell, puis sur Propriétés.

    2. Dans la fenêtre Propriétés de PowerShell, cliquez sur l’onglet Disposition.

    3. Sous Taille de la mémoire tampon écran, définissez le champ Hauteur sur 9999, puis cliquez sur OK.

  4. Cette étape permet de charger les modules téléchargés pour que vous puissiez les utiliser dans votre sessionPowerShell. Copiez les commandes suivantes dans votre session PowerShell et appuyez sur Entrée.

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    Import-Module Microsoft.PowerShell.Utility
    Import-Module MSOnline -force
    Import-Module MSOnlineExtended -force
    Import-Module Microsoft.Online.SharePoint.PowerShell -force
    

    Si vous devez à nouveau exécuter l’une de ces étapes de configuration ultérieurement, n’oubliez pas d’exécuter à nouveau ces commandes pour charger les modules et les composants logiciels enfichables requis dans PowerShell.

  5. Configurez la communication à distance dans Microsoft PowerShell :

    À partir de l’invite de commandes PowerShell, saisissez les commandes suivantes :

    enable-psremoting
    new-pssession
    

    Pour plus d’informations, voir about_Remote_Requirements (https://go.microsoft.com/fwlink/?LinkId=392326).

  6. Pour vous connecter à votre client SharePoint Online, saisissez les commandes suivantes à partir de l’invite de commandes PowerShell :

    $cred=Get-Credential
    Connect-MsolService -Credential $cred
    

    Vous êtes invité à vous connecter. Vous devez vous connecter à l’aide du compte d’administrateur général Office 365.

    Laissez la fenêtre PowerShell ouverte jusqu’à ce que vous ayez effectué toutes les étapes de cet article. Vous en aurez besoin pour nombre de procédures des sections suivantes.

Configurer l’authentification de serveur à serveur

Maintenant que vous avez installé les outils vous permettant d’administrer à distance Azure Active Directory et SharePoint Online, vous êtes prêt à configurer l’authentification de serveur à serveur.

À propos des variables que vous allez créer

Cette section décrit les variables que vous allez définir dans la procédure suivante. Ces variables contiennent d’importantes informations utilisées dans la plupart des étapes de configuration restantes.

Variable

Comments

$spcn

Nom de domaine racine de votre domaine public. Cette valeur ne doit pas prendre la forme d’une URL ; il doit s’agir du nom de domaine uniquement, sans aucun protocole.

Par exemple, adventureworks.com.

$spsite

URL interne de votre application web principale sur site, telle que https://sharepoint ou https://sharepoint.adventureworks.com. Cette valeur est une URL complète utilisant le protocole adéquat (http:// ou https://).

Il s’agit de l’URL interne de l’application web utilisée pour la fonctionnalité hybride :

Par exemple, https://sharepoint ou https://sharepoint.adventureworks.com.

$site

Objet de votre application web principale sur site. La commande qui remplit cette variable obtient l’objet du site spécifié dans la variable $spsite.

Cette variable est remplie automatiquement.

$spoappid

L’ID de principal de l’application SharePoint Online est toujours 00000003-0000-0ff1-ce00-000000000000. Cette valeur générique permet d’identifier les objets SharePoint Online dans un client Office 365.

$spocontextID

ID de contexte (ObjectID) de votre client SharePoint Online. Cette valeur est un GUID unique qui permet d’identifier votre client SharePoint Online.

Cette valeur est détectée automatiquement lors de l’exécution de la commande pour définir la variable.

$metadataEndpoint

URL utilisée par votre proxy Azure Active Directory pour se connecter à votre client Azure Active Directory.

Vous n’avez pas besoin d’entrer une valeur pour cette variable.

Étape 1 : Définir des variables

Maintenant que vous avez identifié les variables à définir, utilisez ces instructions pour les définir. Le pré-remplissage des variables les plus fréquemment utilisées devrait vous aider à effectuer les étapes restantes plus vite. Ces variables restent remplies tant que vous ne fermez pas la session PowerShell. Veillez à fournir des informations précises là où vous voyez des chevrons (< >) et supprimez toujours ces derniers avant d’exécuter la commande. Ne modifiez pas le code en dehors des chevrons.

Notes

Si vous devez à nouveau effectuer l’une de ces étapes de configuration ultérieurement, vous devez commencer par exécuter les commandes PowerShell suivantes dans cette étape pour re-remplir les variables importantes.

Copiez les déclarations de variable suivantes et collez-les dans un éditeur de texte tel que le Bloc-notes. Définissez les valeurs d’entrée propres à votre organisation. À partir de l’invite de commandes PowerShell configurée à l’aide des outils de gestion de service en ligne, exécutez les commandes.

$spcn="*.<public_root_domain_name>.com"
$spsite=Get-Spsite <principal_web_application_URL>
$site=Get-Spsite $spsite
$spoappid="00000003-0000-0ff1-ce00-000000000000"
$spocontextID = (Get-MsolCompanyInformation).ObjectID
$metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $spocontextID + "/metadata/json/1"

Après avoir rempli ces variables, vous pouvez afficher leurs valeurs en saisissant le nom de la variable dans la fenêtre PowerShell. Par exemple, si vous saisissez $metadataEndpoint, une valeur semblable à la suivante sera renvoyée :

https://accounts.accesscontrol.windows.net/00fceb75-246c-4ac4-a0ad-7124xxxxxxxx/metadata/json/1

Étape 2 : Télécharger le certificat STS vers SharePoint Online

Dans cette étape, vous téléchargez le certificat STS de votre batterie de serveurs SharePoint Server vers votre client SharePoint Online, ce qui permet à SharePoint Server et à SharePoint Online de se connecter et d’utiliser les applications de service de l’un et de l’autre.

This figure illustrates the architecture involved when a STS certificate is uploaded to SharePoint Online

Les commandes dans cette étape permettent d’ajouter le nouveau certificat sur site (clé publique uniquement) à l’objet principalSharePoint Online de votre client Office 365.

À partir de l’invite de commandes PowerShell, saisissez les commandes suivantes.

$stsCert=(Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
$binCert = $stsCert.GetRawCertData()
$credValue = [System.Convert]::ToBase64String($binCert);
New-MsolServicePrincipalCredential -AppPrincipalId $spoappid -Type asymmetric -Usage Verify -Value $credValue

Étape 3 : Ajouter un SPN pour votre nom de domaine public sur Azure Active Directory

La prochaine étape consiste à ajouter un nom de principal du service (SPN) à votre client Azure Active Directory. Le SPN est composé de l’objet principal SharePoint Online et de l’espace de noms DNS public de votre entreprise.

Tout comme pour les SPN dans Active Directory, la création de ce SPN inscrit un objet auprès de Azure Active Directory. Celui-ci est alors utilisé pour prendre en charge l’authentification mutuelle entre SharePoint Server et votre client SharePoint Online. La syntaxe de base du SPN est la suivante :

<type de service>/<nom d’instance>

o๠:

  • <type de service> est l’objet principal SharePoint Online (identique pour tous les clients SharePoint Online).

  • <nom d’instance> correspond à l’URL de l’espace de noms de domaine DNS public de votre entreprise, qui est toujours exprimé sous la forme d’un caractère générique (même si le certificat SSL de canal sécurisé est un certificat SAN).

Voici un exemple :

00000003-0000-0ff1-ce00-000000000000/*.<public domain name>.com

Si le nom commun de votre certificat est sharepoint.adventureworks.com, la syntaxe du SPN ressemblera à ce qui suit :

00000003-0000-0ff1-ce00-000000000000/*.adventureworks.com

La valeur générique permet à SharePoint Online de vérifier les connexions avec n’importe quel hôte dans ce domaine, ce qui est utile si vous avez besoin de changer le nom d’hôte de votre point de terminaison externe (si votre topologie en inclut un) ou de votre application web SharePoint Server dans le futur.

Pour ajouter le SPN à Azure Active Directory, saisissez les commandes suivantes dans l’invite de commandes Module Azure Active Directory pour Windows PowerShell :

$msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid
$spns = $msp.ServicePrincipalNames
$spns.Add("$spoappid/$spcn") 
Set-MsolServicePrincipal -AppPrincipalId $spoappid -ServicePrincipalNames $spns

Pour valider la définition du SPN, saisissez les commandes suivantes dans l’invite de commandes Module Azure Active Directory pour Windows PowerShell.

$msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid
$spns = $msp.ServicePrincipalNames 
$spns

Vous devez voir la liste actuelle des SPN pour SharePoint Online dans votre client Office 365, et l’un des SPN doit inclure votre nom de domaine racine public, précédé de l’ID principal de l’application SharePoint Online. Il s’agit d’une inscription générique qui doit ressembler à l’exemple suivant :

00000003-0000-0ff1-ce00-000000000000/*.<nom de domaine public>.com

Il doit s’agir de l’unique SPN de la liste incluant votre nom de domaine racine public.

Étape 4 : Inscrire l’ID d’objet principal de l’application SharePoint Online auprès de SharePoint Server

Cette étape permet d’inscrire l’ID d’objet principal de l’application SharePoint Online auprès du service de gestion de l’application SharePoint sur site, qui permet à SharePoint Server de s’authentifier sur SharePoint Online à l’aide d’OAuth.

À partir de l’invite de commandes PowerShell, saisissez les commandes suivantes :

$spoappprincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $spoappid).ObjectID
$sponameidentifier = "$spoappprincipalID@$spocontextID"
$appPrincipal = Register-SPAppPrincipal -site $site.rootweb -nameIdentifier $sponameidentifier -displayName "SharePoint Online"

Pour valider cette étape, saisissez la variable $appPrincipal à partir de l’invite de commandes PowerShell.

$appPrincipal | fl

La sortie attendue est une description du principal d’application inscrit avec le nom SharePoint Online, semblable à ceci :

This figure illustrates the registered application principal for SharePoint Online

Étape 5 : Définir le domaine d’authentification SharePoint

Cette étape définit le domaine d’authentification de votre batterie SharePoint Server sur l’ID de contexte du client Office 365 de l’organisation.

À partir de l’invite de commandes PowerShell, saisissez la commande suivante.

Set-SPAuthenticationRealm -realm $spocontextID

Pour valider cette étape, saisissez les commandes suivantes à partir de l’invite de commandes PowerShell :

$spocontextID
 Get-SPAuthenticationRealm

La sortie de chacune de ces commandes est le GUID qui représente l’ID de contexte du client SharePoint Online. Ces GUID doivent être identiques.

Important

Si vous avez configuré des scripts d’installation de batterie de serveurs qui spécifient la valeur de domaine d’authentification de batterie de serveurs, vous devez mettre à jour les scripts d’installation avec cette nouvelle valeur avant de les exécuter une nouvelle fois.
Pour plus d’informations sur les exigences associées aux valeurs de domaine dans les scripts d’installation de batterie de serveurs, voir Planifier l’authentification de serveur à serveur dans SharePoint Server. Cette batterie de serveurs SharePoint étant désormais configurée pour participer à la configuration hybride, la valeur de domaine d’authentification de batterie SharePoint doit toujours correspondre à l’identificateur de contexte de client. Si vous modifiez cette valeur, la batterie ne participera plus à la fonctionnalité hybride.

Étape 6 : Configurer un proxy sur site pour Azure Active Directory

À cette étape, vous allez créer un service proxy Azure Active Directory dans la batterie de serveurs SharePoint Server. Cette action active Azure Active Directory en tant qu’émetteur de jeton approuvé qui sera utilisé par SharePoint Server pour signer et authentifier les jetons de revendication à partir de SharePoint Online.

À partir de l’invite de commandes PowerShell, saisissez les commandes suivantes.

New-SPAzureAccessControlServiceApplicationProxy -Name "ACS" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
New-SPTrustedSecurityTokenIssuer -MetadataEndpoint $metadataEndpoint -IsTrustBroker:$true -Name "ACS"

Pour valider la commande New-SPAzureAccessControlServiceApplicationProxy :

  1. Parcourez le site web Administration centrale de SharePoint 2016 et cliquez sur Sécurité > Sécurité générale > Gérer la relation d’approbation.

  2. Vérifiez qu’il existe une entrée dont le nom commence par ACS et de type Consommateur de services approuvés.

Pour valider cette étape, saisissez la commande suivante à partir de l’invite de commandes PowerShell.

Get-SPTrustedSecurityTokenIssuer

La sortie attendue est une description de l’émetteur de jeton approuvé de la batterie où la valeur de la propriété RegisteredIssuerName est la suivante :

00000001-0000-0000-c000-000000000000@<ID de contexte>

Où <ID de contexte> correspond à l’ID de contexte de votre client SharePoint Online, valeur de la variable $spocontextID.

Validation et étapes suivantes

Après avoir terminé les tâches de cette rubrique et ses étapes de validation, vous devez vérifier votre SSO et la configuration de la synchronisation d’annuaires à l’aide des étapes de validation de la rubrique Valider votre configuration SSO.

Pour pouvoir disposer d’un historique des étapes effectuées, vous devez capturer l’intégralité du contenu de la mémoire tampon PowerShell dans un fichier. Il s’agit d’une étape cruciale si vous devez référencer votre historique de configuration à des fins de résolution des problèmes ou pour toute autre raison. Vous pourrez également reprendre là où vous en étiez si la configuration s’étend sur plusieurs jours ou implique plusieurs personnes.

Une fois que vous avez terminé et validé les tâches de configuration dans cette rubrique, poursuivez votre feuille de route de configuration.

See also

Environnement hybride pour SharePoint Server
Installer et configurer SharePoint Server hybride