La sécurité au niveau des lignes avec Power BI peut être utilisée pour restreindre l’accès aux données pour certains utilisateurs. Les filtres limitent les données au niveau des lignes. Vous pouvez définir des filtres au sein de rôles.

Vous pouvez configurer la sécurité au niveau des lignes (SNL) pour les modèles de données importés dans Power BI avec Power BI Desktop. Vous pouvez également configurer la sécurité au niveau des lignes sur les jeux de données qui utilisent DirectQuery, tels que SQL Server. Auparavant, vous pouviez uniquement implémenter la sécurité au niveau des lignes dans les modèles Analysis Services locaux en dehors de Power BI. Pour les connexions actives Analysis Services, la sécurité au niveau des lignes doit être configurée sur le modèle local. L’option de sécurité ne s’affiche pas pour les jeux de données d’une connexion active.

Définir les rôles et les règles dans Power BI Desktop

Vous pouvez définir des rôles et des règles dans Power BI Desktop. Lorsque vous publiez sur Power BI, les définitions de rôles sont elles aussi publiées.

Si vous souhaitez utiliser la sécurité dynamique, vous devez activer dans la version préliminaire le filtrage croisé dans les deux directions pour DirectQuery. Ceci permet d’appliquer un filtrage croisé et d’appliquer le filtre de sécurité dans les deux sens.

Pour définir les rôles de sécurité, vous pouvez procéder comme suit.

  1. Importez les données dans votre rapport Power BI Desktop ou configurez une connexion DirectQuery.

    Remarque :

    Vous ne pouvez pas définir les rôles Power BI Desktop pour les connexions actives Analysis Services. Vous devez le faire dans le modèle Analysis Services.

  2. Sélectionnez l’onglet Modélisation.

  3. Sélectionnez Gérer les rôles.

  4. Sélectionnez Créer.

  5. Donnez un nom au rôle.

  6. Sélectionnez la table à laquelle vous souhaitez appliquer une règle DAX.

  7. Entrez les expressions DAX. Cette expression doit renvoyer vrai ou faux. Par exemple : [ID d’entité] = « Valeur ».

    Remarque :

    Vous pouvez utiliser username() dans cette expression. N’oubliez pas que username() est au format DOMAINE\nom_utilisateur dans Power BI Desktop. Dans le service Power BI, il est au format UPN de l’utilisateur. Vous pouvez également utiliser userprincipalname(), qui renvoie systématiquement l’utilisateur au format de son nom d’utilisateur principal.

  8. Après avoir créé l’expression DAX, vous pouvez activer la case à cocher au-dessus de la zone d’expression pour valider l’expression.

  9. Sélectionnez Enregistrer.

Vous ne pouvez pas affecter d’utilisateurs à un rôle au sein de Power BI Desktop. Cette opération se fait dans le service Power BI. Dans Power BI Desktop, vous pouvez activer la sécurité dynamique en utilisant les fonctions DAX username() ou userprincipalname() et en configurant les relations appropriées.

Validation du rôle au sein de Power BI Desktop

Après avoir créé votre rôle, vous pouvez tester les résultats du rôle dans Power BI Desktop. Pour ce faire, sélectionnez Afficher comme rôles.

La boîte de dialogue Afficher comme rôles permet de modifier l’affichage de ce que vous voyez pour un rôle ou utilisateur spécifique. Vous voyez les rôles que vous avez créés.

Sélectionnez le rôle que vous avez créé, puis sélectionnez OK pour appliquer ce rôle à ce que vous voyez. Les rapports affichent uniquement les données pertinentes pour ce rôle.

Vous pouvez également sélectionner Autre utilisateur et indiquer un utilisateur spécifique. Il est préférable de fournir le nom d’utilisateur principal (UPN), puisque c’est ce que le service Power BI utilise. Sélectionnez OK pour effectuer le rendu des rapports en fonction de ce que cet utilisateur peut voir.

Remarque :

Dans Power BI Desktop, ceci affiche des résultats différents uniquement si vous utilisez la sécurité dynamique basée sur vos expressions DAX.

Gérer la sécurité sur votre modèle

Pour gérer la sécurité sur votre modèle de données, vous devez effectuer les opérations suivantes.

  1. Cliquez sur les points de suspension (…) d’un jeu de données.
  2. Sélectionnez Sécurité.

Cette action vous dirige vers la page de la fonctionnalité Sécurité au niveau des lignes pour ajouter des membres à un rôle que vous avez créé dans Power BI Desktop. L’option Sécurité est disponible uniquement pour les propriétaires du jeu de données. Si le jeu de données se trouve dans un groupe, seuls les administrateurs de ce groupe verront l’option de sécurité.

Vous pouvez uniquement créer ou modifier des rôles dans Power BI Desktop.

Utilisation des membres

Ajouter des membres

Vous pouvez ajouter un membre au rôle en entrant l’adresse de messagerie ou le nom de l’utilisateur, du groupe de sécurité ou de la liste de distribution que vous voulez ajouter. Le membre doit faire partie de votre organisation. Vous ne pouvez pas ajouter les groupes qui ont été créés dans Power BI.

Vous pouvez également voir combien de membres font partie du rôle grâce au nombre entre parenthèses situé en regard du nom du rôle ou en regard des membres.

Supprimer des membres

Vous pouvez supprimer des membres en cliquant sur la croix correspondant à leur nom.

Validation du rôle au sein du service Power BI

Vous pouvez vérifier que le rôle que vous avez défini fonctionne correctement en le testant.

  1. Sélectionnez les points de suspension (...) situés en regard du rôle.
  2. Sélectionnez Tester les données comme rôle

Vous verrez ensuite les rapports qui sont disponibles pour ce rôle. Les tableaux de bord ne s’affichent pas dans cette vue. Dans la barre bleue située au-dessus, vous voyez ce qui est appliqué.

Vous pouvez tester les autres rôles, ou une combinaison de rôles, en sélectionnant Affichage actuel comme.

Vous pouvez choisir d’afficher les données assignées à une personne spécifique, ou vous pouvez sélectionner une combinaison de rôles disponibles pour tester leur fonctionnement.

Pour revenir à l’affichage normal, sélectionnez Retour à la sécurité au niveau des lignes.

Utilisation des fonctions DAX username() et userprincipalname()

Vous pouvez utiliser les fonctions DAX username() et userprincipalname() dans votre jeu de données. Dans Power BI Desktop, celles-ci peuvent être utilisées dans des expressions. Une fois votre modèle publié, il est utilisé dans le service Power BI.

Dans Power BI Desktop, username() retourne un utilisateur au format DOMAINE\Utilisateur tandis que userprincipalname() le retourne au format user@contoso.com.

Dans le service Power BI, les fonctions username() et userprincipalname() retournent toutes les deux le nom d’utilisateur principal (UPN) de l’utilisateur. Celui-ci est similaire à une adresse e-mail.

Utilisation de la sécurité au niveau des lignes (SNL) avec des espaces de travail d’applications dans Power BI

Si vous publiez votre rapport Power BI Desktop dans un espace de travail d’applications du service Power BI, les rôles sont appliqués aux membres en lecture seule. Vous devez alors indiquer dans les paramètres de l’espace de travail d’applications que les membres peuvent uniquement afficher du contenu Power BI.

Avertissement :

Si vous avez configuré l’espace de travail d’applications afin que les membres disposent d’autorisations de modification, les rôles SNL ne s’appliquent pas à eux. Les utilisateurs sont en mesure de voir toutes les données.

Limites

Voici une liste des limites actuelles pour la sécurité au niveau des lignes sur les modèles cloud.

  • Si vous aviez précédemment des rôles/règles définis dans le service Power BI, vous devez les recréer dans Power BI Desktop.
  • Vous pouvez définir la sécurité au niveau des lignes uniquement sur les jeux de données créés à l’aide du client Power BI Desktop. Pour activer la sécurité au niveau des lignes pour les jeux de données créés avec Excel, vous devez d’abord convertir vos fichiers au format PBIX. En savoir plus
  • Seules les connexions ETL et DirectQuery sont prises en charge. Les connexions actives à Analysis Services sont gérées dans le modèle local.
  • Le moteur Questions et réponses et Cortana ne sont pour l’instant pas pris en charge avec la sécurité au niveau des lignes. La zone d’entrée de Q&R n’est pas disponible pour les tableaux de bord si la sécurité au niveau des lignes est configurée sur tous les modèles. Cela est prévu, mais aucune date n’est disponible pour l’instant.
  • Le partage externe n’est actuellement pas pris en charge avec les jeux de données qui utilisent la sécurité au niveau des lignes.
  • Pour un modèle donné, vous pouvez attribuer jusqu’à 1 000 principaux Azure AD (utilisateurs individuels ou groupes de sécurité) aux rôles de sécurité. Pour attribuer un grand nombre d’utilisateurs à des rôles, préférez les groupes de sécurité aux utilisateurs individuels.

Problèmes connus

Il existe un problème connu : un message d’erreur s’affiche quand vous tentez de publier à partir de Power BI Desktop un élément publié précédemment. Le scénario est le suivant.

  1. Anne possède un jeu de données publié sur le service Power BI et a configuré la sécurité au niveau des lignes.

  2. Anna met à jour le rapport dans Power BI Desktop et le publie une nouvelle fois.

  3. Une erreur s’affiche.

Solution de contournement : publiez à nouveau le fichier Power BI Desktop à partir du service Power BI jusqu'à ce que ce problème soit résolu. Pour cela, sélectionnez Obtenir des données > Fichiers.

FORUM AUX QUESTIONS

Question : Que se passe-t-il si j’ai précédemment créé des rôles/règles pour un jeu de données dans le service Power BI ? Continuent-ils de fonctionner si je ne fais rien ?
Réponse : Non. Les éléments visuels ne sont pas rendus correctement. Vous devez recréer les rôles/règles dans Power BI Desktop, puis les publier sur le service Power BI.

Question : Puis-je créer ces rôles pour des sources de données Analysis Services ?
Réponse : Oui si vous avez importé les données dans Power BI Desktop. Si vous utilisez une connexion active, vous n’êtes pas en mesure de configurer la sécurité au niveau des lignes (RLS) au sein du service Power BI. Celle-ci se définit localement dans le modèle Analysis Services.

Question : Puis-je utiliser la sécurité au niveau des lignes pour limiter les colonnes ou les mesures accessibles par mes utilisateurs ?
Réponse : non. Si un utilisateur a accès à une ligne particulière de données, il peut voir toutes les colonnes de données pour cette ligne.

Question : La sécurité au niveau des lignes m’autorise-t-elle à masquer les données détaillées tout en accédant aux données résumées dans les visuels ?
Réponse : Non, vous sécurisez les lignes de données individuelles, mais les utilisateurs peuvent toujours voir les détails ou les données résumées.

Étapes suivantes

Sécurité au niveau des lignes avec Power BI Desktop

D’autres questions ? Essayez d’interroger la communauté Power BI