RLS dynamique

Catégories : Concepts BI, Power BI Desktop, Power BI Service

La RLS dynamique (Dynamic Row Level Security) est une variante de la RLS dans laquelle le filtre de sécurité n'est pas écrit en dur dans le rôle, mais déterminé à l'exécution selon l'identité de l'utilisateur connecté au rapport. Là où la RLS statique impose de créer autant de rôles que de périmètres à couvrir (un rôle par pays, par exemple), la RLS dynamique n'en nécessite qu'un seul.

Pour la mettre en place, il faut d'abord ajouter au modèle une table de sécurité associant chaque utilisateur à son périmètre, puis créer un rôle contenant une expression DAX qui compare l'identifiant de l'utilisateur à cette table (ex : [Email] = USERPRINCIPALNAME()). La fonction USERPRINCIPALNAME() renvoie l'adresse de connexion de l'utilisateur, dans Power BI Desktop comme dans Power BI Service, ce qui la rend préférable à USERNAME(). Il faut ensuite veiller à ce que le filtre se propage bien de la table de sécurité jusqu'à la table de faits, ce qui suppose parfois d'activer un filtrage croisé bidirectionnel.

Son principal avantage est la maintenance : lors de l'arrivée ou du départ d'un collaborateur, il suffit de mettre à jour la table de sécurité et d'actualiser le modèle sémantique, sans republier le rapport. Pour une sécurité hiérarchique, où un manager accède aux données de toute son équipe, la RLS dynamique se combine avec les fonctions DAX PATH() et PATHCONTAINS().

DETAILS

Infographie
Tutoriel

Ressources liées

Vidéo : Comment mettre en place la RLS Dynamique dans Power BI

Article : Qu'est-ce que la RLS Dynamique et comment l'utiliser ?

Faites-nous confiance
pour vos projets

Devenez un expert en Power BI

avec nos formations 100% pratique et sur mesure
Découvrir nos formations

Retrouvez nos autres marques

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram