Le RLS oublié : quand un rapport Power BI dévoile les salaires à toute l'entreprise
Un seul rôle RLS non appliqué transforme un dashboard RH en fuite massive de données salariales. Voici comment ça arrive, ce que ça coûte et qui paie.
- Un dataset RH publié sans Row Level Security expose les rémunérations de toute l'organisation aux utilisateurs ayant accès à l'espace de travail.
- La fuite déclenche une obligation RGPD (notification CNIL sous 72 h) et engage la responsabilité du consultant qui a livré le rapport.
- Le coût combine investigation, notification, tensions sociales et perte de mission : facilement plusieurs dizaines de milliers d'euros.
- La RC Pro et la garantie cyber couvrent les dommages immatériels et les frais de gestion de l'incident.
Le scénario : un rôle RLS qui n'a jamais été appliqué
Vous livrez un rapport de pilotage RH à une ETI de 1 200 salariés. Le modèle sémantique est propre : tables de faits sur la paie, dimension collaborateur, dimension manager. Vous avez même créé un rôle Row Level Security nommé « Manager » avec un filtre DAX du type [ManagerEmail] = USERPRINCIPALNAME(), pour que chaque manager ne voie que son équipe.
Le piège est subtil : créer un rôle RLS dans Power BI Desktop ne suffit pas. Il faut ensuite, dans Power BI Service, assigner les utilisateurs ou les groupes de sécurité à ce rôle. Si personne n'est mappé au rôle, deux situations se produisent selon les droits de l'espace de travail. Les membres avec un rôle Viewer non rattachés à un rôle RLS se voient bloqués… ou, si le dataset est partagé via une app sans assignation correcte, le filtre ne s'applique tout simplement pas pour les comptes ayant des permissions de build.
Le jour de la mise en production, un responsable d'agence ouvre le rapport et découvre, en cliquant sur un visuel mal filtré, le salaire de l'ensemble du comité de direction, les primes individuelles et les écarts de rémunération de centaines de collaborateurs. En quelques heures, des captures d'écran circulent dans les couloirs.
Pourquoi le RLS est le maillon le plus fragile d'un projet décisionnel
Le Row Level Security concentre à lui seul plusieurs facteurs de risque que ne présentent pas les autres briques d'un projet Power BI :
- Il est invisible en développement. Sur votre poste, vous êtes administrateur du dataset : vous voyez toutes les lignes, donc vous ne « sentez » jamais le défaut. Il faut explicitement tester avec « Afficher en tant que rôle » pour le détecter.
- Il dépend d'une configuration côté Service, hors de votre fichier .pbix. Un déploiement via Pipeline ou une republication peut réinitialiser ou décaler les assignations de rôles.
- Il est sensible au contexte d'identité.
USERPRINCIPALNAME()renvoie l'identité de l'utilisateur connecté, mais sur un rapport intégré (embedded) ou partagé via un compte de service, ce contexte change radicalement.
Autrement dit, un RLS qui fonctionne parfaitement en recette peut se désactiver silencieusement en production sans qu'aucun message d'erreur n'apparaisse. C'est précisément ce silence qui rend le sinistre si grave : la donnée fuit pendant des jours avant que quelqu'un ne s'en aperçoive.
Un rapport qui plante alerte immédiatement. Un rapport qui montre trop de données ne déclenche aucune alarme technique : il fonctionne « trop bien ».
Le déclenchement RGPD : ce que la loi impose en 72 heures
Des rémunérations nominatives constituent des données à caractère personnel, et leur exposition non autorisée est une violation de données au sens de l'article 4 du RGPD. Dès la découverte de la fuite, l'entreprise cliente, en tant que responsable de traitement, doit :
- Documenter l'incident dans son registre des violations (article 33.5), même si elle décide de ne pas notifier.
- Notifier la CNIL sous 72 heures si la violation est susceptible d'engendrer un risque pour les droits et libertés des personnes — ce qui est presque toujours le cas pour des données salariales.
- Informer les personnes concernées lorsque le risque est élevé (article 34), ce qui, pour des centaines de salariés, est un événement social majeur.
En tant que consultant, vous n'êtes généralement pas le responsable de traitement. Mais vous êtes le prestataire technique dont l'erreur de configuration a causé la violation. Le client va naturellement chercher à engager votre responsabilité contractuelle pour faute professionnelle, et les frais qu'il engage (forensic, avocat, communication interne) entreront dans le calcul de son préjudice.
Le coût réel d'un RLS oublié, ligne par ligne
On imagine souvent qu'une erreur de configuration « ne coûte rien » puisqu'il suffit de corriger le rôle. La réalité financière est tout autre :
| Poste | Estimation |
|---|---|
| Investigation technique (logs d'accès, périmètre exact des données vues) | 4 000 € – 9 000 € |
| Conseil juridique RGPD et rédaction de la notification CNIL | 3 000 € – 7 000 € |
| Communication interne et accompagnement RH (climat social) | 5 000 € – 15 000 € |
| Arrêt de la mission en cours et perte du contrat de TMA | 10 000 € – 40 000 € |
| Éventuelle sanction CNIL si défaut de mesures techniques | variable |
On atteint très vite plusieurs dizaines de milliers d'euros, sans compter l'atteinte à votre réputation sur un marché — celui des Microsoft Solutions Partners et des grands comptes — où le bouche-à-oreille est déterminant.
Comment l'assurance intervient sur ce type de sinistre
Ce sinistre est un cas d'école de dommage immatériel non consécutif : aucun bien n'est détruit, mais une faute professionnelle entraîne un préjudice financier et juridique. Deux garanties se complètent.
La RC Pro prend en charge les conséquences pécuniaires de votre faute : l'indemnisation que le client est en droit de réclamer pour le préjudice subi, ainsi que vos frais de défense si la responsabilité est discutée. C'est le socle de toute mission de conseil décisionnel.
La garantie cyber ajoute une dimension précieuse face à une violation de données : prise en charge des frais d'investigation forensic, accompagnement à la notification CNIL, gestion de crise et assistance juridique spécialisée en protection des données. Sur un incident RGPD, c'est souvent cette assistance opérationnelle, disponible dès les premières heures, qui fait la différence.
Pour un freelance certifié PL-300 ou DP-600, l'addition de ces couvertures reste accessible. Le rapport entre le coût mensuel d'une protection et le montant d'un seul sinistre RLS est sans commune mesure. Découvrez le détail de l'offre dédiée au consultant Power BI.
Questions fréquentes
Si vous avez conçu et livré le modèle sémantique, la mise en place et la validation du Row Level Security font partie de votre prestation. Une livraison sans test de chaque rôle (« Afficher en tant que rôle ») est considérée comme une faute professionnelle, surtout sur des données sensibles comme la paie.
Les journaux d'audit de Power BI Service et du portail Microsoft Purview tracent les accès au dataset et les modifications de rôles. C'est précisément l'objet de l'investigation forensic, dont les frais peuvent être pris en charge par la garantie cyber.
Non. La notification CNIL est une obligation du client, pas une reconnaissance de votre responsabilité. Celle-ci s'apprécie au regard de votre contrat et de la réalité de la faute. Votre RC Pro finance précisément la défense de vos intérêts dans cette discussion.
Elle peut plafonner votre exposition, mais elle est souvent écartée en cas de faute lourde, et un défaut de test d'un RLS sur des données RH peut être qualifié ainsi. L'assurance reste le filet de sécurité fiable.
La RC Pro couvre l'indemnisation du préjudice. La garantie cyber apporte en plus l'assistance opérationnelle de gestion de crise (forensic, notification, juridique RGPD). Sur un incident de données, les deux sont complémentaires.
Souscrivez votre assurance pro en 2 minutes
Toutes nos protections pour votre activité de Consultant Power BI — attestation immédiate, sans engagement.
* Tarifs indicatifs « à partir de », selon votre profil, votre activité et les garanties choisies. · Voir la fiche Consultant Power BI →
Article rédigé et vérifié par l'équipe Insurio — Tutassûr, courtier en assurance immatriculé à l'ORIAS sous le n° 22001730. Information à caractère général ne se substituant pas aux conditions de votre contrat.