Lire l'article
La RLS (row level security) ou SNL (sécurité aux niveaux des lignes) est une fonctionnalité sur Power BI qui permet de restreindre l'accès au niveau des lignes à une population d'utilisateurs définie à l'avance.
Dans l'exemple illustré ci-dessus, dont le besoin est fréquemment exprimé en entreprise, on souhaite que les employés d'une entreprise X ne puissent voir les ventes que de leur pays respectif. Par exemple, les salariés de la France ne doivent voir que les ventes de la France, et idem pour les Etats-Unis.
Dans le modèle de données de l'entreprise, cela se matérialise à travers une colonne [Country] et une colonne [Sales]. Notre objectif sera donc de filtrer les ventes en fonction de la valeur de la colonne [Country], puis d'appliquer ces filtres en fonction des profils, utilisateurs.
Retrouvez ici une petite vidéo explicative sur la RLS :
Il existe trois types de RLS, chacune répondant à un besoin précis et nécessitant un niveau de maintenance qui lui est propre.
Le premier type de RLS permet de créer un filtre que nous pourrons appliquer par la suite à un utilisateur donné, ce qui va restreindre la visibilité des données à une personne n’ayant pas le niveau d’accès requis. Le principal défaut de cette méthode est surtout en terme de maintenabilité, car il est possible pour certains rapports que l’on soit amenés à créer et gérer de centaines voire des milliers de rôles. Ce qui devient très vite ingérable, mais on peut résoudre ce problème avec les autres types de RLS.
Ce type de RLS fonctionne de la même manière que la RLS statique, mais il est plus simple à gérer au niveau de la population d'utilisateurs.
Plutôt que de maintenir un grand nombre de rôles sur Power BI Desktop et d'y attribuer régulièrement de nouveaux membres individuels, on préférera attribuer des groupes de membres grâce à la fonction Groupe dans Azure Active Directory.
Voici ci-dessous un aperçu de différents groupes dans Azure Active Directory:
Voici la vue des membres d'un groupe Azure Active Directory (groupe Finance)
Affection du groupe Finance au rôle ProductsManagers_GoogleMaps
Au contraire de la RLS statique, la RLS dynamique permet d’éviter de créer une multitude de rôles et de maintenir régulièrement une population d'utilisateurs. Pour ce type de système, le principe est très simple : il consiste à avoir un fichier contenant les différentes informations nécessaires sur les personnes concernées (nom de la personne, adresse mail, périmètre géographique et/ou métier) et sur les rôles que nous voulons leur appliquer. Sur la capture d'écran ci-dessous, le fichier s'exprime à travers la table de droite, 'Liste RR'.
Il n'y aura ensuite qu'un seul rôle à créer dans la partie modélisation de Power BI Desktop.
Et celui-ci fera appel à l'adresse mail de l'utilisateur dont la vue devra être restreinte.
On peut ensuite publier le rapport sur Power BI Service et se rendre dans la partie "Sécurité" du jeu de données associé.
Contrairement à la RLS dite "statique", nous n'aurons pas besoin d'assigner des membres aux différents rôles que nous avons créés. Cela explique pourquoi la section de droite "Members" sur l'image ci-dessous reste vide.
Nous voyons bien que les données sont restreintes en fonction de l'adresse mail de l'utilisateur du rapport.
L'objectif de restreindre l'accès aux utilisateurs tout en minimisant l'effort de maintenance est donc rempli.
La sécurité au niveau de l'objet n'est disponible que depuis 2021 sur Tabular Editor.
Elle permet aux auteurs de modèles de sécuriser des tables ou des colonnes sensibles dans les navigateurs de rapports.
Par exemple, la colonne [Ventes] ou [Profits] d’un rapport de suivi financier peut être masquée à certains utilisateurs. Du point de vue d'un utilisateur n’ayant pas l’accès approprié, la table ou la colonne sécurisée n'existe pas.
De plus, les noms d'objet et les métadonnées sont sécurisés pour empêcher les utilisateurs malveillants de trouver un tel objet. Cette couche de sécurité supplémentaire vise à empêcher les utilisateurs sans niveau d'accès adéquat de révéler des informations personnelles critiques ou sensibles.
Pour en savoir plus sur les modifications du fonctionnement de la RLS et des rôles utilisateurs dans Power BI, cliquez ici.