Avec l’explosion du volume de données produites par les unités de production, la Data Governance a pris une place d’honneur, si ce n’est centrale, dans l’activité de production. Il s’agit de l’ensemble des pratiques qui permettent de définir qui peut faire quelles actions autour de l’accès aux données de l’entreprise et sur quel champ d’application.

Elle a 3 objectifs :

  • L’intégrité des données en permettant des audits réguliers auprès d’acteurs identifiés aux rôles bien définis
  • Par là même, la sécurité des données par des protocoles connus et contrôlés
  • La qualité des données en mettant en place des pipelines de données gérées par des responsables ou une équipe selon une logique pertinente pour l’organisation

 

Heureusement, Power BI intègre beaucoup de fonctionnalités qui permettent d’assurer à plusieurs niveaux une part de cette gouvernance, tout particulièrement la sécurité et la qualité.

Tout d’abord, le système RLS (Row Level Security) permet de masquer directement une partie des données aux utilisateurs selon une logique propre à votre organisation. Cela peut-être par département, business unit, les deux… Comme son nom l’indique, il s’agit principalement de sécurité.

Ensuite, nous allons explorer les rôles et permissions à l’échelle du rapport, de l’espace de travail et du tenant.

Bien entendu, ce n’est là qu’une part de la gouvernance des données nécessaire à une organisation. Nous ne parlerons pas des questions légales d’intégrité de la donnée car nous ne parlerons que de lecture des données, pas d’écriture ni de modification. Nous ne rentrerons pas non plus dans les détails légaux (importants !) du RGPD car cela concerne bien plus que la gestion de vos données, mais aussi la production et gestion des ressources humaines de votre entreprise.

 

Le RLS dans Power BI c’est quoi ?

 

La Row Level Security (RLS) est une fonctionnalité qui permet de cacher directement une partie des données selon le rôle attribué à chaque utilisateur. Définir un rôle et y associer les utilisateurs permet un contrôle d’accès granulaire, quasiment au cas par cas si le modèle de donnée est pertinent à la logique de votre organisation.

Le fonctionnement est simple. Une ou plusieurs conditions sont définies pour une ou plusieurs tables. Pour chaque ligne de donnée consultée, quelque soit la table, cette condition est testée. Si elle est vraie, la ligne est visible, sinon, non.

Prenons un exemple, un rôle « Marketing » est créé avec la condition Departement == marketing. Lorsqu’un utilisateur associé à ce rôle consulte des données de dépenses, chaque dépense est associée à une business unit dans les données de l’entreprise.

Dans une table séparée, chaque business unit est associée à un département. Le rapport Power BI remonte les relations du modèle et n’affiche que ce qui est associé à une business unit rattachée au département Marketing.

 

Cependant, créer un rôle pour chaque département peut être laborieux et manquer de flexibilité. Une technique plus avancée consiste à créer des rôles dynamiques, par exemple par niveau d’autorisation.
Par exemple, un rôle limité à la business unit peut exister. Les utilisateurs assignés à ce rôle ne peuvent voir que les données associées à leur propre BU.

Ce rôle est défini comme [E-mail Address] = userprincipalname() dans la table des utilisateurs qui contient aussi la BU à laquelle appartient l’utilisateur. Par association, si le reste des données est bien rattaché à une BU par cette table, seules les lignes pertinentes seront visibles.

On peut aussi envisager de créer un rôle de directeur de département, des rôles plus transversaux ou même un rôle « admin » donnant une visibilité complète. Ainsi, on remplit déjà une étape forte de la sécurité des données exposées par ce rapport.

Cependant, les mesures DAX présentent un défi. Leur fonctionnement fait une lecture des données de façon dynamique, puis exécute des formules à partir de cette lecture, en fonction de la sélection des utilisateurs. Or, beaucoup de KPI sont calculés sur des statistiques descriptives du jeu de données (écart à la moyenne, croissance des ventes sur plusieurs mois…).

Dans un cas de RLS, ces statistiques sont donc faites sur une partie des données, faussant potentiellement toutes les KPIs globales affichées à l’utilisateur.

Une solution est de faire ces calculs en amont dans Power Query (avant la construction du modèle de données) et de les stocker dans une ou plusieurs tables indépendantes des autres. Chaque mesure est redéfinie pour prendre en compte ces calculs intermédiaires, et non plus les données elles-mêmes. Le résultat est donc correct sans donner accès à toutes les données de manière inconditionnelle.

 

La gouvernance des espaces de travail dans Power BI

 

Des rôles peuvent également être distribués au niveau d’un espace de travail. En plus de sa fonction sécuritaire, cela sert à faciliter la collaboration entre les équipes et attribuer des responsabilités de contrôle des jeux de données (rafraîchissement, maintenance, contrôle des credentials….). Les rôles peuvent être attribués à des individus, des groupes d’utilisateurs tels que des groupes de sécurité, des groupes Microsoft 365 et des listes de distribution.

Il existe principalement quatre rôles dans Power BI : Admin, Member, Contributor et Viewer.

  • Admin : Les administrateurs ont le contrôle total sur l’espace de travail. Ils peuvent créer, modifier, supprimer des contenus, ainsi qu’ajouter ou retirer des membres, y compris d’autres administrateurs. Ils ont également la capacité de publier, dépublier et modifier les permissions d’une application.
    • Correspond typiquement à un rôle de directeur de département ou un administrateur classique.
    • A le pouvoir de prendre le contrôle de jeux de donnée. Cela permet de contrôler leur mise à jour, mettre en place les accès aux sources de données et partager le rapport
    • C’est un rôle administratif mais aussi de contrôle qualitatif
  • Member : Les membres ont des permissions élevées, bien que légèrement inférieures à celles des administrateurs. Ils peuvent ajouter d’autres utilisateurs avec des permissions inférieures, mais ne peuvent pas en retirer. Ils peuvent également créer, modifier et supprimer du contenu, comme des rapports, dans l’espace de travail.
    • Correspond typiquement à un rôle de directeur de BU mais peut aussi être attribué à un directeur de département
  • Contributor : Les contributeurs sont souvent des développeurs Power BI. Ils peuvent publier des rapports dans l’espace de travail, éditer et supprimer le contenu, et accéder à tous les objets de l’espace de travail, comme les rapports, les tableaux de bord, les classeurs, les ensembles de données et les flux de données.
  • Viewer : Les visualiseurs peuvent voir et interagir avec les éléments, et lire les données stockées dans les flux de données de l’espace de travail. Ils peuvent également partager des éléments dans un espace de travail ou une application, si l’option permettant le partage des ensembles de données a été activée par le créateur de l’application.

 

En terme de qualité, les données doivent pouvoir se mettre à jour, à un intervalle pertinent et visible à ceux que cela concerne. On voit alors que la charge de contrôle qualité repose principalement sur l’administrateur(s) et les membres d’un espace de travail, en plus des alertes remontées par les utilisateurs.

Il est à noter que la notion d’expérience du métier est centrale dans le jugement de cette qualité. Personne ne pourra mieux juger cela que quelqu’un pour qui ces chiffres ont un sens 5 jours par semaine.
Nous ne recommandons pas de déléguer cette tache à un Governance Officer, sauf pour des questions particulièrement techniques évidemment.

Par ailleurs, un administrateur du tenant Fabric peut contrôler un grand nombre de paramètres dans un panneau d’administration. Nous ne rentrerons pas dans les détails de ceux-ci, mais il est notamment possible de contrôler l’exportation des données et par quels biais.

En conclusion, la gouvernance des données dans Power BI est une démarche essentielle pour garantir la sécurité, l’intégrité et l’efficacité des informations manipulées au sein d’une organisation. En structurant l’accès aux données via les rôles et les permissions, en mettant en place une RLS efficace, et en administrant judicieusement les paramètres et les rôles au niveau du tenant, les entreprises peuvent optimiser l’exploitation de Power BI. Ces mesures contribuent non seulement à une gestion des données conforme et sécurisée, mais elles favorisent également une collaboration fluide et éclairée entre les équipes.

 

Si vous souhaitez exploiter vos données avec la solution Power BI, n’hésitez pas à contacter nos experts !

Contactez-nous dès aujourd’hui