Une question revient souvent chez nos clients : comment configurer Excel Services pour utiliser l’authentification Windows sur un cube OLAP ?
En effet, la chose n’est pas aisée car il est important de respecter un ordre de publication des connexions (.odc) et fichiers Excel pour être sûr de ne pas rencontrer de soucis lors du rafraîchissement des données à l’ouverture du rapport dans SharePoint.
La publication de rapports Excel Services connectés à des données externes est assez procédurale. Vous allez donc publier une connexion à la base de données dans une librairie de connexion et ensuite publier le fichier Excel correspondant.
En premier, il faut donc s’assurer que la librairie de connexion dans laquelle vous publiez le fichier de connexion est bien approuvée.
Pour ouvrir cette page, procédez ainsi :
Ensuite il faut approuver l’emplacement du fichier Excel :
2. Dans la section Données externes, sous Autoriser les données externes, sélectionnez l’une des options suivantes :
Maintenant que les différentes librairies sont approuvées, je vous propose de créer un rapport “Tableau croisé dynamique” connecté à un cube sur lequel vous aurez spécifié des rôles d’accès aux données. La sécurité dans les cubes Analysis Services n’étant pas le sujet de ce post, vous trouverez ci-dessous un lien expliquant la configuration et l’application des droits sur les données d’un cube : Octroi d'accès aux utilisateurs.
Exemple : dans ce cube, deux rôles ont été créés sur la dimension Geographie, l’un avec une restriction sur les pays d’Europe et l’autre avec une restriction sur les pays d’Amérique.
Ouvrez Excel 2007 et créez une connexion à une source de données externe (en l’occurrence un cube Analysis Services). Lorsque la connexion est créée cliquez sur Propriétés pour publier votre connexion avant de créer le rapport comme ci-dessous :
L’écran suivant apparait, il faut alors sélectionner la checkbox Rafraîchir les données à l’ouverture du fichier.
Ensuite cliquez sur l’onglet Définition et sur la checkbox Toujours utiliser ce fichier de connexion, puis vérifier que les paramètres d’authentification sont bien positionnés sur Authentification Windows en cliquant sur le bouton Paramètres d’authentification :
Puis cliquez sur Exporter le fichier de connexion pour le publier dans votre librairie de connexion de données précédemment approuvée.
Lorsque la connexion est publiée, cliquez sur Ok pour créer votre tableau croisé dynamique basé sur cette connexion.
Une fois le rapport créé, il faut maintenant le publier dans votre librairie de rapports précédemment approuvée.
Lorsque qu’il a été publié, n’oubliez pas non plus d’approuver la connexion publiée pour autoriser l’accès aux utilisateurs du site.
Et faites de même pour publier le classeur Excel.
Lorsque vous cliquez sur votre rapport publié avec le compte utilisé pour la publication (administrator dans mon cas) il s’ouvre et les données se rafraîchissent.
Vérifions maintenant si la sécurité et l’authentification Windows fonctionnent en utilisant les comptes pour lesquels des rôles sont spécifiés. Tout d’abord, User1 :
En effet le compte User1 a bien des restrictions sur les pays d’Amérique
Et le compte User2 a bien des restrictions sur les pays d’Europe
L’utilisateur peut même faire un Drill/Down pour descendre dans la hiérarchie et voir le détail des départements.
Si vous êtes dans le cas d’une architecture single serveur, que tout semble bien configuré et que vous avez toujours une erreur lors du rafraîchissement des données à l’ouverture du fichier, alors lancez les 3 lignes de commandes ci-dessous afin d’activer la délégation au niveau de SharePoint et tout devrait rentrer dans l’ordre !
stsadm -o set-ecssecurity -accessmodel delegation -ssp <sspname>
stsadm -o execadmsvcjobs
iisreset
sspname étant le nom des Services Partagés soit « SharedServices1 » par défaut sur votre serveur.
Pour une architecture multi-serveurs, il va falloir mettre en place Kerberos dans votre environnement, et dans ce cas là je ne saurai que vous conseiller cet excellent article : Kerberos Authentication & Excel Services
May the force be with you ! :-)