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.

  1. Ouvrez la page d’administration du fournisseur de services partagés (SSP).

Pour ouvrir cette page, procédez ainsi :

    1. Dans la barre de navigation supérieure, cliquez sur Gestion des applications.
    2. Dans la page Gestion des applications, dans la section Services partagés Office SharePoint Server, cliquez sur Créer ou configurer les services partagés de cette batterie.
    3. Sur la page Gérer les services partagés de cette batterie, cliquez sur le fournisseur de services partagés dont vous voulez ouvrir la page d’administration.
  1. Dans la page d’accueil Administration de services partagés, dans la section Paramètres Excel Services, cliquez sur Bibliothèques de connexions de données approuvées.
  2. Ajouter une bibliothèque de connexions de données approuvée

Ensuite il faut approuver l’emplacement du fichier Excel :

  1. Ouvrez la page d’administration du fournisseur de services partagés (SSP).

Pour ouvrir cette page, procédez ainsi :

    1. Dans la barre de navigation supérieure, cliquez sur Gestion des applications.
    2. Dans la page Gestion des applications, dans la section Services partagés Office SharePoint Server, cliquez sur Créer ou configurer les services partagés de cette batterie.
    3. Sur la page Gérer les services partagés de cette batterie, cliquez sur le fournisseur de services partagés dont vous voulez ouvrir la page d’administration.
  1. Sur la page d’accueil Administration de services partagés, dans la section Paramètres Excel Services, cliquez sur Emplacements de fichiers approuvés.
  2. Ajouter un emplacement de fichier approuvé
    1. Sous Mode de calcul du classeur, sélectionnez l’option suivante :
      • Automatique

   2.  Dans la section Données externes, sous Autoriser les données externes, sélectionnez l’une des options suivantes :

      • Bibliothèques de connexions de données approuvées et incorporées

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.

clip_image001

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 :

clip_image002

L’écran suivant apparait, il faut alors sélectionner la checkbox Rafraîchir les données à l’ouverture du fichier.

clip_image003

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 :

clip_image004

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.

clip_image005

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.

clip_image006

Et faites de même pour publier le classeur Excel.

clip_image007

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.

clip_image008

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 :

clip_image009

En effet le compte User1 a bien des restrictions sur les pays d’Amérique

clip_image010

Et le compte User2 a bien des restrictions sur les pays d’Europe

clip_image011

L’utilisateur peut même faire un Drill/Down pour descendre dans la hiérarchie et voir le détail des départements.

clip_image012

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 ! :-)