Délégation d’identité pour Excel Services (SharePoint Server 2010)
S’applique à : Excel Services, SharePoint Server 2010
Dernière rubrique modifiée : 2016-11-30
Dans ce scénario, vous ajoutez l’application de service Excel Services à l’environnement SharePoint Server et configurez la délégation Kerberos contrainte pour que le service puisse actualiser des données dans une feuille de calcul à partir d’une source de données externe SQL Server.
Notes
Si vous installez sur Windows Server 2008, il vous faut peut-être installer le correctif suivant pour l’authentification Kerberos :
Une authentification Kerberos échoue avec le code d’erreur 0X80090302 ou 0x8009030f sur un ordinateur exécutant Windows Server 2008 ou Windows Vista lorsque l’algorithme AES est utilisé (https://support.microsoft.com/kb/969083/fr)
Dépendances du scénario
Pour effectuer ce scénario, vous devez avoir réalisé les scénarios suivants :
Scénario 1 : Configuration de base
Scénario 2 : Authentification Kerberos pour SQL OLTP
Liste de contrôle de configuration
Zone de configuration | Description |
---|---|
Configuration Active Directory |
Créer un compte de service Excel Services Configurer un nom principal de service sur un compte de service Excel Services Configurer la délégation Kerberos contrainte pour les serveurs exécutant Excel Services Configurer la délégation Kerberos contrainte pour le compte de service Excel Services |
Configuration SharePoint Server |
Démarrer le Service d’émission de jetons Revendications vers Windows sur les serveurs Excel Services Démarrer l’instance du service Excel Services sur le serveur Excel Services Créer l’application de service et le proxy Excel Services Configurer l’emplacement de fichiers approuvé et les paramètres d’authentification d’Excel Services |
Vérifier la délégation contrainte du service Excel |
Créer une bibliothèque de documents pour héberger un classeur de test Créer une base de données SQL de test et une table de test Créer un classeur de test Excel avec connexion de données SQL Publier le classeur sur SharePoint Server et actualiser la connexion de données |
Détails de l’environnement du scénario
Chemins de délégation Kerberos contrainte
Dans ce scénario, nous allons configurer le compte de service SharePoint Server Excel Services pour la délégation Kerberos contrainte au service SQL Server.
Notes
Dans ce scénario, nous allons configurer le Service d’émission de jetons Revendications vers Windows (C2WTS) de façon à utiliser un compte de service dédié. Si vous laissez C2WTS configuré pour utiliser Système local, vous devrez configurer la délégation contrainte sur le compte de l’ordinateur exécutant C2WTS et Excel Services.
Authentification logique SharePoint Server
L’authentification dans ce scénario commence par l’authentification du client avec Kerberos sur le serveur Web frontal. SharePoint Server 2010 convertira le jeton d’authentification Windows en jeton de revendications en utilisant le service STS (Security Token Service) local. L’application de service Excel acceptera le jeton de revendications et le convertira en jeton Windows (Kerberos) en utilisant le Service d’émission de jetons Revendications vers Windows (C2WTS) local qui fait partie de Windows Identity Framework (WIF). L’application de service Excel utilisera ensuite le ticket Kerberos du client pour s’authentifier auprès de la source de données dorsale.
Instructions de configuration pas à pas
Configuration Active Directory
Créer un compte de service Excel Services
Il est recommandé que Excel Services s’exécute sous sa propre identité de domaine. Pour configurer l’application de service Excel, un compte Active Directory doit être créé. Dans cet exemple, les comptes suivants ont été créés :
Service SharePoint Server | Identité de pool d’applications IIS |
---|---|
Excel Services |
vmlab\svcExcel |
Configurer un nom principal de service sur le compte de service Excel Services
La délégation Kerberos contrainte doit être configurée pour que Excel Services puisse déléguer l’identité du client à une source de données dorsale. Dans cet exemple, Excel Services va interroger les données d’une base de données transactionnelle SQL, donc la délégation Kerberos est requise.
Le composant logiciel enfichable MMC Utilisateurs et ordinateurs Active Directory est généralement utilisé pour configurer la délégation Kerberos. Pour configurer les paramètres de délégation dans le composant logiciel enfichable, l’objet Active Directory configuré doit avoir un nom principal de service appliqué, sinon l’onglet Délégation de l’objet ne sera pas visible dans la boîte de dialogue des propriétés de l’objet. Bien que Excel Services ne requiert pas de nom principal de service pour fonctionner, nous allons en configurer un à cette fin.
Sur la ligne de commande, exécutez la commande suivante :
SETSPN -S SP/ExcelServices
Notes
Le nom principal de service (SPN) n’est pas valide. Il est appliqué au compte de service spécifié pour révéler les options de délégation dans le complément Utilisateurs et ordinateurs AD. Il y a d’autres méthodes prises en charge pour spécifier les paramètres de délégation (spécifiquement l’attribut AD msDS-AllowedToDelegateTo) mais ce sujet n’est pas traité dans le présent document.
Configurer la délégation Kerberos contrainte pour Excel Services
Pour que Excel Services puisse déléguer l’identité des clients, la délégation Kerberos contrainte doit être configurée. Vous devez également configurer la délégation contrainte avec transition du protocole pour la conversion du jeton de revendications en jeton Windows via le service WIF C2WTS.
Chaque serveur qui exécute Excel Services doit être approuvé pour déléguer les informations d’identification à chaque service Excel dorsal auprès duquel s’authentifier. De plus, le compte du service Excel Services doit être configuré pour permettre la délégation aux mêmes services dorsaux.
Dans notre exemple, les chemins de délégation suivants sont définis :
Type principal | Nom principal | Délègue au service |
---|---|---|
Utilisateur |
svcExcel |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
*Utilisateur |
svcC2WTS |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
**Ordinateur |
VMSP10APP01 |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
* Configuré ultérieurement dans ce scénario
** Requis uniquement si C2WTS s’exécute en tant que système local
Pour configurer la délégation contrainte
Ouvrez les propriétés de l’objet Active Directory dans Utilisateurs et ordinateurs Active Directory.
Accédez à l’onglet Délégation.
Sélectionnez N’approuver cet utilisateur que pour la délégation aux services spécifiés.
Sélectionnez Utiliser tout protocole d’authentification. Cela active la transition du protocole, ce qui est requis pour que le compte de service utilise C2WTS.
Cliquez sur le bouton Ajouter pour sélectionner le principal de service autorisé pour la délégation.
Sélectionnez Utilisateurs et ordinateurs.
Sélectionnez le compte de service exécutant le service auquel déléguer. Dans cet exemple, il s’agit du compte de service pour le service SQL.
Notes
Le compte de service sélectionné doit avoir un nom principal de service appliqué. Dans notre exemple, le nom principal de service de ce compte a été configuré dans un scénario précédent.
Cliquez sur OK. Vous serez ensuite invité à sélectionner les noms principaux de service auxquels déléguer sur l’écran suivant.
Sélectionnez les services pour le cluster SQL et cliquez sur OK.
Vous devez maintenant voir les noms principaux de service sélectionnés dans la liste Ce compte peut présenter des informations d’identification déléguées à ces services.
Répétez ces étapes pour chaque chemin de délégation défini au début de cette section.
Vérifier le nom principal de service MSSQLSVC du compte de service exécutant le service sur le serveur SQL (effectué dans le scénario 2)
Vérifiez que le nom principal de service du compte de service Analysis Services (vmlab\svcSQL) existe à l’aide de la commande SetSPN suivante :
SetSPN -L vmlab\svcSQL
Vous devez voir les éléments ci-après :
MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433
Configuration SharePoint Server
Configurer et démarrer le Service d’émission de jetons Revendications vers Windows sur les serveurs Excel Services
Le Service d’émission de jetons Revendications vers Windows (C2WTS) est un composant de Windows Identity Foundation (WIF) responsable de la conversion des jetons de revendications d’utilisateur en jetons Windows. Excel Services utilise C2WTS pour convertir le jeton de revendications d’utilisateur en jeton Windows lorsque le service doit déléguer les informations d’identification à un système dorsal qui utilise l’authentification Windows intégrée. WIF est déployé avec SharePoint Server 2010 et C2WTS peut être démarré à partir de l’Administration centrale.
Chaque serveur d’applications Excel Services doit exécuter C2WTS localement. C2WTS n’ouvre aucun port et n’est pas accessible par un appelant distant. Par ailleurs, le fichier de configuration du service C2WTS doit être configuré de sorte à spécifiquement approuver l’identité du client appelant local.
Il est recommandé d’exécuter le Service d’émission de jetons Revendications vers Windows en utilisant un compte de service dédié et non en tant que Système local (configuration par défaut). Ce compte de service requiert des autorisations locales spéciales sur chaque serveur où le service s’exécute, alors assurez-vous de configurer ces autorisations chaque fois que vous démarrez le service sur un serveur. Idéalement, configurez les autorisations du compte de service sur le serveur local avant de démarrer le service, mais si vous les configurez après, vous pouvez redémarrer le service à partir de la console de gestion des services Windows (services.msc).
Pour démarrer le Service d’émission de jetons Revendications vers Windows
Créez un compte de service dans Active Directory sous lequel exécuter le service. Dans cet exemple, nous avons créé vmlab\svcC2WTS.
Ajoutez un nom principal de service (SPN) arbitraire au compte de service pour exposer les options de délégation pour ce compte dans Utilisateurs et ordinateurs Active Directory. Le SPN peut être d’un format quelconque car pour s’authentifier auprès du Service d’émission de jetons Revendications vers Windows nous n’utilisons pas l’authentification Kerberos. Il est recommandé de ne pas utiliser un nom principal de service HTTP pour éviter de créer potentiellement des noms principaux de service dupliqués dans votre environnement. Dans notre exemple, nous avons enregistré SP/C2WTS sur vmlab\svcC2WTS à l’aide de la commande suivante :
SetSPN -S SP/C2WTS vmlab\svcC2WTS
Configurez la délégation Kerberos contrainte sur le compte de service C2WTS. Dans ce scénario, nous allons déléguer les informations d’identification au service SQL qui s’exécute sous le nom principal de service MSSQLSVC/MySqlCluster.vmlab.local:1433.
Ensuite, configurez les autorisations de serveur local requises par C2WTS. Vous devez configurer ces autorisations sur chaque serveur où C2WTS s’exécute. Dans notre exemple, il s’agit de VMSP10APP01. Connectez-vous au serveur et octroyez à C2WTS les autorisations suivantes :
Ajoutez le compte de service au groupe Administrateurs local.
Dans la stratégie de sécurité locale (secpol.msc), sous l’attribution des droits utilisateur, octroyez au compte de service les autorisations suivantes :
Agir en tant que partie du système d’exploitation
Emprunter l’identité d’un client après l’authentification
Ouvrir une session en tant que service
Ouvrez l’Administration centrale.
Sous Sécurité->Configurer les comptes de service gérés, enregistrez le compte de service C2WTS en tant que compte géré.
Sous Services, sélectionnez Gérer les services sur le serveur.
Dans la zone de sélection du serveur au coin supérieur droit, sélectionnez le(s) serveur(s) exécutant Excel Services. Dans cet exemple, il s’agit de VMSP10APP01.
Recherchez le Service d’émission de jetons Revendications vers Windows et démarrez-le.
Accédez à Sécurité->Gérer les comptes de service. Remplacez l’identité de C2WTS par le nouveau compte géré.
Notes
Si C2WTS s’exécutait déjà avant la configuration du compte de service dédié, ou si vous devez changer les autorisations du compte de service alors que C2WTS s’exécute, vous devez redémarrer C2WTS à partir de la console des services.
D’autre part, si vous rencontrez des problèmes avec C2WTS après le redémarrage du service, il est peut-être nécessaire de réinitialiser les pools d’applications IIS qui communiquent avec C2WTS.
Ajouter les dépendances de démarrage au service WIF C2WTS
Il existe un problème connu avec C2WTS qui risque de ne pas démarrer automatiquement au redémarrage du système. Pour contourner ce problème, configurez une dépendance de service pour les Services de chiffrement :
Ouvrez la fenêtre d’invite de commandes.
Tapez : sc config "c2wts" depend= CryptSvc
Recherchez le Service d’émission de jetons Revendications vers Windows dans la console des services.
Ouvrez les propriétés du service.
Consultez l’onglet Dépendances. Assurez-vous que Services de chiffrement figure dans la liste.
Cliquez sur OK.
Accorder les autorisations du compte de service Excel Services sur la base de données de contenu de l’application Web
Lors de la configuration des applications Web Office SharePoint Server 2010, autoriser l’accès du compte de service de l’application Web aux bases de données de contenu est une étape requise. Dans cet exemple, nous allons accorder au compte de service Excel Services l’accès à la base de données de contenu de l’application Web de portail en utilisant Windows PowerShell.
Exécutez la commande suivante à partir de SharePoint 2010 Management Shell :
$w = Get-SPWebApplication -Identity http://portal
$w.GrantAccessToProcessIdentity("vmlab\svcExcel")
Démarrer l’instance du service Excel Services sur le serveur Excel Services
Avant de créer une application de service Excel Services, démarrez le service Excel Services sur les serveurs désignés de la batterie de serveurs.
Ouvrez l’Administration centrale.
Sous Services, sélectionnez Gérer les services sur le serveur.
Dans la zone de sélection du serveur au coin supérieur droit, sélectionnez le(s) serveur(s) exécutant Excel Services. Dans cet exemple, il s’agit de VMSP10APP01.
Démarrez les services de calcul Excel.
Créer l’application de service et le proxy Excel Services
Ensuite, configurez une application de service et un proxy d’application Excel Services pour permettre aux applications Web de consommer Excel Services :
Ouvrez l’Administration centrale.
Sélectionnez Gérer les applications de service sous Gestion des applications.
Sélectionnez Nouveau, puis cliquez sur Application Excel Services.
Configurez la nouvelle application de service. Assurez-vous de sélectionner le compte de service correct (créez un compte géré si le compte de service Excel ne figure pas dans la liste).
Configurer l’emplacement de fichiers approuvé et les paramètres d’authentification d’Excel Services
Une fois l’application Excel Services créée, configurez les propriétés de la nouvelle application de service pour spécifier un emplacement d’hébergement approuvé et les paramètres d’authentification.
Ouvrez l’Administration centrale.
Sélectionnez Gérer les applications de service sous Gestion des applications.
Cliquez sur le lien de la nouvelle application de service, Excel Services dans cet exemple.
Dans l’écran de gestion de Excel Services, cliquez sur Emplacements de fichiers approuvés.
Ajoutez un nouvel emplacement de fichiers approuvé.
Spécifiez l’emplacement de votre bibliothèque de test.
Notes
Dans notre exemple, nous approuvons l’URL racine de l’application Web et tous ses enfants. Dans un environnement de production, vous pouvez choisir de restreindre l’approbation à un emplacement plus granulaire.
Dans Données externes, sélectionnez Bibliothèques de connexions de données approuvées et incorporées.
Notes
Cet exemple utilisera une connexion incorporée pour se connecter à SQL Server. Dans votre environnement, vous pouvez choisir de créer un fichier de connexion distinct et de le stocker dans une bibliothèque de connexions de données approuvée. Dans ce cas, vous pouvez sélectionner Bibliothèques de connexions de données approuvées uniquement.
Changer l’âge du cache de données externes — À des fins de test, il est pratique de changer la durée de vie en cache des données externes pour s’assurer que les données s’actualisent à partir de la source de données et pas du cache. Sous Données externes, changez les paramètres suivants :
Actualisation automatique (périodique / à l’ouverture) = 0
Actualisation manuelle = 0
Notes
Dans un environnement de production, vous souhaiterez configurer un paramètre de cache supérieur à 0. Le paramétrage du cache à 0 est à des fins de test uniquement.
Vérifier la délégation contrainte Excel Services
Créer une bibliothèque de documents pour héberger le classeur de test
Ouvrez un site sur le chemin approuvé configuré à l’étape précédente. Créez une bibliothèque de documents pour héberger un classeur Excel de test.
Créer un classeur de test Excel avec connexion de données SQL
Ensuite, créez un classeur Excel avec une connexion de données vers la base de données test :
Ouvrez Excel.
Sur l’onglet Données, sélectionnez Autres sources->Provenance : SQL Server.
Connectez-vous à la source de données SQL de test.
Sélectionnez la base de données de test et la table de test (Sales dans notre exemple).
Cliquez sur Suivant. Cliquez sur le bouton Paramètres d’authentification. Assurez-vous que l’authentification Windows est spécifiée.
Cliquez sur Terminer.
Sélectionnez Rapport de tableau croisé dynamique.
Configurez le tableau croisé dynamique. Assurez-vous que les données proviennent de la source SQL.
Publier le classeur sur SharePoint Server et actualiser la connexion de données
La dernière étape de validation de l’application Excel Services consiste à publier le classeur et à tester l’actualisation de la connexion SQL incorporée.
Cliquez sur l’onglet Fichier.
Cliquez sur Enregistrer et envoyer, puis cliquez sur Enregistrer dans SharePoint, puis sur Rechercher un emplacement.
Entrez l’emplacement de la bibliothèque approuvée créée dans les étapes précédentes.
Assurez-vous que Ouvrir dans Excel dans le navigateur est sélectionné.
Une nouvelle fenêtre de navigateur va s’ouvrir avec votre classeur de test affiché. Une fois le classeur affiché, actualisez la connexion de données en cliquant sur Données puis sur Actualiser toutes les connexions.
Si la connexion de données s’actualise, vous avez correctement configuré la délégation Kerberos pour Excel Services. Pour tester davantage la connectivité, changez les données source via SQL Management Studio, puis actualisez la connexion. Les nouvelles données modifiées devraient apparaître dans votre classeur. Si vous ne voyez aucun changement, alors que vous n’obtenez pas d’erreur lors de l’actualisation, ce sont probablement les données du cache qui apparaissent. Par défaut, Excel Services mettra en cache les données provenant de sources externes pendant 5 minutes. Vous pouvez modifier ce paramètre de cache ; voir Configurer l’emplacement de fichiers approuvé et les paramètres d’authentification d’Excel Services dans cet article pour plus d’informations.