Quelques notes sur l’authentification par formulaire avec SSRS intégré à SharePoint

Il est possible d’utiliser un mode d’authentification propriétaire dans SharePoint: il suffit de se définir un ASP.Net Membership Provider. Si vous avez aussi besoin de définir des rôles afin de faciliter l’autorisation du contenu pour les différents utilisateurs, vous devrez aussi définir un ASP.Net Role Provider.

En mode Claims (ex. avec SharePoint 2010), vous aurez besoin de modifier plusieurs Web.Config afin d’intégrer votre Membership et Role provider:

  1. Ceux de vos applications Web (ex. SharePoint – 80)
  2. Celui de SharePoint Administration
  3. Celui de Security Token Service sous SharePoint Web Services

Si vous avez plusieurs “applications SSRS” accessibles par différents types d’utilisateurs, l’idéal serait de définir des rôles (ex. Analysts, Executives etc.) et de sécuriser les sites SharePoint contenant les rapports SSRS avec ces rôles. La structure de site serait donc:

  1. Site racine (/)
  2. Sous-site pour les analystes (/Analysts) accessible uniquement pour les membres du rôle Analysts
  3. Sous site pour les exécutifs (/Executives) accessible uniquement pour les membres du rôle Executives

La navigation de SharePoint enlève automatiquement les liens vers les sites dont l’utilisateur n’ont pas accès. Par exemple, si un utilisateur n’est n’est ni dans le rôle Analysts ni dans le rôle Executives, la section “Sites and Workspaces” sera vide:

image

Si vos rapports utilisent des sources de données XML (ex. sur un fichier de configuration), vous devrez stocker ces fichiers statiques dans un site SharePoint où l’accès anonyme a été autorisé. La raison est que les sources de données XML supportent uniquement l’authentification Windows ou Anonyme. Il n’est pas possible d’utiliser une identité stockée (ex. compte de service) avec ce type de connexion.

Donc notre site racine permettrait l’accès anonyme et contiendrait une librairie de documents contenant ces fichiers statiques. Les sources de données XML référeraient à ces fichiers en mode anomyme:

  1. L’application Web doit permettre l’accès anonyme:

    image

  2. Le site racine doit permettre l’accès anonyme:

    image

    image

  3. La source de données XML doit être en mode anonyme:

    image

  4. Les utilisateurs doivent s’authentifier pour accéder aux rapports:

    image

    image

    Autrement, ils auront cette erreur:

    image

    Reporting Services does not support anonymous user from a SharePoint site. To view Reporting Services reports, choose a SharePoint site that does not have Anonymous access enabled or sign in on an anonymous site.

Si vous utilisez des sources de données vers des bases de données Analysis Services (SSAS) et que celles-ci utilisent la sécurité de données vous pourrez utiliser cette technique:

  1. Un compte Active Directory devra être créé pour représenter un rôle dans la base de données SSAS (ex. Analysts et Executives).
  2. Une composante (ex. procédure stockée SQL) devra être capable de faire correspondre un utilisateurs formulaire vers un rôle (ex. Analyste1 est dans le rôle Analysts).
  3. Les rapports définissent des connexions directement dans le rapport (et non dans une source de données partagée) afin de pouvoir utiliser une expression qui ajoute EffectiveUserName=Analysts|Executives à la fin. Le rapport appelle la composante en #2 pour obtenir le nom du compte Windows à utiliser dans EffectiveUserName.
  4. L’identité d’un compte de service, administrateur de l’instance SSAS, devra être utilisée pour la connexion. C’est requis afin d’être en mesure d’utiliser EffectiveUserName.

J’en parle avec plus de détails dans mon article intitulé: Authentification par formulaire, SharePoint, SSRS et sécurité des données dans SSAS

SYNTELL a réalisé plusieurs mandats où l’on devait intégrer l’authentification propriétaire du client au sein d’une solution Microsoft BI.

Références

Claims Walkthrough: Creating Forms-Based Authentication for Claims-Based SharePoint 2010 Web Applications Using ASP.NET SQL Membership and Role Providers
https://msdn.microsoft.com/en-us/library/office/gg252020%28v=office.14%29.aspx

Forms Authentication in SharePoint Products and Technologies (Part 2): Membership and Role Provider Samples
https://msdn.microsoft.com/en-us/library/office/bb975135%28v=office.12%29.aspx

XML Connection Type (SSRS)
https://msdn.microsoft.com/fr-ca/library/dd220468.aspx?f=255&MSPPError=-2147217396

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s