Configuration de Excel Services (ECS) sur SharePoint 2010
Ce post a pour objectif de tracer les principaux point de la configuration de Excel Services pour SharePoint 2010. Comme methode de configuration je vous propose de suivre le cheminement d’une requête entre l’utilisateur et le dernier maillons de la chaîne, dans ce cas Analysis Services.
Principe Général
Excel services, permet à un utilisateur de se connecter à un fichier Excel qui consomme des données d’une source externe. Les données peuvent être également rafraichies à partir de la source dans le contexte de la session utilisateur.
Voici le trajet de la requête du client :
Apres avoir configuré la partie Active Directory (AD) il faut configurer Excel Services au niveau de SharePoint :
1) Démarrer le service Claims to Windows Token Service sur le serveur exécutant Excel Services.
2) Démarrer l’instance Excel Services
3) Créer le Service Application et proxy pour Excel Services
4) Définir pour le service Application : trusted file location et trusted data connections libraries
Nous reprenons ci-après ces étapes de manière détaillée.
Scenario
Ferme SPS 2010 avec un front end et un back end avec un serveur SQL qui contient aussi l’instance Analysis Services.
Les tableaux ci-dessous résument les paramètres que nous allons utiliser :
Utilisation (URL) | Application pool for web application ( https://intranet.domain.com ) |
Account | Domain\portal |
Privilèges | X |
SPN | HTTP/intranet HTTP/intranet.domain.com |
Trusted for delegation | yes |
Constrained Delegation (use any authentication protocol) | X |
Utilisation |
Service Application for the Excel Calculation service (ECS) |
Account | Domain\svcExcel |
Privilèges | X |
SPN | SP/Excelservices (fake SPN) |
Trusted for delegation | X |
Constrained Delegation (use any authentication protocol) | MSOLAPSvc.3/sql01.domain.com MSOLAPSvc.3/sql01 MSSQLSvc/sql01.domain.com MSSQLSvc/sql01 MSSQLSvc/sql01.domain.com:1433 MSSQLSvc/sql01:1433 |
Utilisation |
Service account for the service C2WTS |
Account | Domain\svcC2WTS |
Privilèges | *Act as part of the operating system *Impersonate a client after authentication *Log on as a service |
SPN | SP/C2WTS (fake SPN) |
Trusted for delegation | X |
Constrained Delegation (use any authentication protocol) | MSSQLSvc/sql01.domain.com; MSSQLSvc/sql01; MSSQLSvc/sql01.domain.com:1433; MSSQLSvc/sql01:1433; |
Utilisation |
Compte Machine du Front End |
Account | Domain\WFE_SPS$ |
Privilèges | X |
SPN | X |
Trusted for delegation | yes |
Constrained Delegation (use any authentication protocol) | X |
Utilisation |
Compte Machine du Back End |
Account | Domain\BACK_SPS$ |
Privilèges | X |
SPN | X |
Trusted for delegation | yes |
Constrained Delegation (use any authentication protocol) | X |
Utilisation |
Compte Machine SQL / AS |
Account | Domain\SQL1$ |
Privilèges | X |
SPN | MSSQLSvc/sql01.domain.com; MSSQLSvc/sql01; MSSQLSvc/sql01.domain.com:1433; MSSQLSvc/sql01:1433; |
Trusted for delegation | yes |
Constrained Delegation (use any authentication protocol) | X |
Légende : X : ne pas configurer et n’est pas nécessaire
Note :
Les 2 comptes (Domain\svcExcel et Domain\svcC2WTS) qui vont être utilisés au niveau SharePoint doivent faire partie des comptes gérés par SharePoint à définir dans :
Central Administration (CA) > Security > Configure Managed Accounts > Register Managed Account .
Instructions détaillées
1) Démarrer le service Claims to Windows Token Service sur le serveur exécutant Excel Services.
i. Dans la Central Administration (CA) > Manage Services on server, sélectionner le serveur exécutant ECS et cliquer sur « start » pour le service « Claims to Windows Token Service ».
ii. Vérifier que dans CA > Security > Configure service accounts que le compte pour « Windows Service – Claims to Windows Token Service » correspond bien à domain\svc2CWTS.
Note : Il existe un soucis au redémarrage d’un serveur pour le service C2WTS. Il conseillé de créer une dépendance avec le service Cryptsvc :
En ligne de commande comme administrateur exécuter
sc config “c2wts” depend= CryptSvc
iii. Au niveau du système de fichier dans <system drive>\program files\Windows Identity Foundation\v3.5\c2wtshost.exe.config ,
Ouvrir le fichier dans notepad.
Dans la section <allowedCallers>, ajouter le compte du pool d’application pour ECS
<allowedCallers>
<clear />
<add value="WSS_WPG" />
<add value="domain\svcC2WTS" />
</allowedCallers>
2) Démarrer l’instance Excel Services
i. Pour que ECS puisse tourner correctement il faut que le compte domain\svcExcel ait des permissions sur la base de contenu de la web application. Pour cela lancer les commandes PowerShell suivantes :
$w = Get-SPWebApplication -Identity https://intranet.domain.com
$w.GrantAccessToProcessIdentity("domain\svcExcel")
ii. Dans la CA > Manage Services on server,
sélectionner le serveur qui fait tourner ECS,
cliquer sur « start » pour le service Excel Calculation Services
3) Créer le Service Application et proxy pour Excel Services
i. Il faut maintenant créer le Service Application pour ECS.
Dans CA > Application Management > Manage service applications, dans le ruban sélectionner « New » et « Excel Services Application »
4) Configuration du Service Application et des paramètres “trusted file location” et “trusted data connections”
Apres avoir validé cette page vous devez définir les sites qui seront autorisés à utiliser ECS.
i. Dans CA > Application Management > Manage service applications > « Excel Services Service Application name » > Trusted file locations > Add Trusted File Location,
Définir l’url de votre web application,
ii. Options de configuration :
si vous voulez utiliser ECS dans l’ensemble de la collection de site, sélectionner l’option « children trusted » dans Location.
Si vous utilisez les connexions embarqués dans les fichiers Excel dans la partie « External Data » sélectionnez “trusted data connection libraries and embedded”.
C’est Fini !
Voilà nous avons terminé les étapes de configuration de ECS pour SharePoint 2010.
Il ne reste plus qu’à tester le rafraichissement des données à partir d’une web part Excel Web Access ou d’un fichier Excel qui utilise une connexion de donnée.
Cette partie ainsi que le troubleshooting feront partie d’un autre post …
Miguel Godinho | Support Escalation Engineer | SharePoint & Technologies | CSS