Restreindre l’accès aux données avec la sécurité au niveau des lignes (SNL) pour Power BI Desktop

Vous pouvez utiliser la sécurité au niveau des lignes avec Power BI Desktop 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 maintenant configurer la sécurité au niveau des lignes 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.

Important

Si vous avez défini des rôles et des règles au sein du service Power BI, vous devez recréer ces rôles dans Power BI Desktop et publier le rapport sur le service. Découvrez-en plus sur les options de la sécurité au niveau des lignes dans le service Power BI.

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

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

Pour définir des rôles de sécurité, effectuez les étapes suivantes.

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

    Notes

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

  2. Sous l’onglet Modélisation, sélectionnez Gérer les rôles.

    Sélectionner Gérer les rôles

  3. Dans la fenêtre Gérer les rôles, sélectionnez Créer.

    Sélectionner Créer

  4. Sous Rôles, entrez un nom pour le rôle.

  5. Sous Tables, sélectionnez la table à laquelle vous souhaitez appliquer une règle DAX.

  6. Dans la zone Expression DAX de filtre de table, entrez les expressions DAX. Cette expression retourne la valeur true ou false. Par exemple : [Entity ID] = “Value”.

    Fenêtre Gérer les rôles

    Notes

    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 et Power BI Report Server, c’est le nom d’utilisateur principal (UPN) de l’utilisateur qui est employé. Vous pouvez également utiliser userprincipalname() , qui retourne systématiquement l’utilisateur au format de son nom d’utilisateur principal, username@contoso.com.

  7. Une fois l’expression DAX créée, cochez la case au-dessus de la zone d’expression pour valider l’expression.

    Valider l’expression DAX

    Notes

    Dans cette zone d’expression, vous utilisez des virgules pour séparer les arguments des fonctions DAX, même si vous utilisez des paramètres régionaux qui utilisent normalement des points-virgules comme séparateurs (par exemple le français ou l’allemand).

  8. Sélectionnez Enregistrer.

Vous ne pouvez pas attribuer d’utilisateurs à un rôle dans Power BI Desktop. Vous devez le faire 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.

Valider les rôles dans Power BI Desktop

Après avoir créé vos rôles, vous pouvez tester les résultats de ces rôles dans Power BI Desktop.

  1. Sous l’onglet Modélisation, sélectionnez Voir comme.

    Sélectionner Afficher comme rôles

    Dans la fenêtre Afficher comme rôles qui s’ouvre, vous voyez les rôles que vous avez créés.

    Fenêtre Afficher comme rôles

  2. Sélectionnez un rôle que vous avez créé, puis OK pour l’appliquer.

    Le rapport affiche les données pertinentes pour ce rôle.

  3. Vous pouvez également sélectionner Autre utilisateur et indiquer un utilisateur spécifique.

    Sélectionner Autre utilisateur

    Il est préférable de fournir le nom d’utilisateur principal (UPN), celui-ci étant utilisé par le service Power BI et Power BI Report Server.

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

  4. Sélectionnez OK.

    Le rapport est affiché en fonction de ce que cet utilisateur peut voir.

Limites

Les limitations actuelles pour la sécurité au niveau des lignes sur les modèles cloud sont les suivantes :

  • Si vous avez précédemment défini des rôles et des règles 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 (SNL) uniquement sur les jeux de données créés à l’aide de 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 (Power BI Desktop). En savoir plus.

  • Les principaux de service ne peuvent pas être ajoutés à un rôle SNL. En conséquence, la sécurité au niveau des lignes (SNL) ne s’applique pas aux applications utilisant un principal de service en tant qu’identité effective finale.

  • Seules les connexions Import et DirectQuery sont prises en charge. Les connexions actives à Analysis Services sont gérées dans le modèle local.

Problèmes connus

Il existe un problème connu : vous obtenez un message d’erreur quand vous tentez de publier un rapport déjà publié à partir de Power BI Desktop. Le scénario est le suivant :

  1. Anna 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 republie.

  3. Anna reçoit une erreur.

Solution de contournement : republiez 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.

Questions fréquentes (FAQ)

Question : Que se passe-t-il si j’avais déjà créé des rôles et des 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, car les visuels ne seront pas rendus correctement. Vous devez recréer les rôles et 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 me permet-elle de 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.

Question : Ma source de données a déjà des rôles de sécurité définis (par exemple des rôles SQL Server ou des rôles SAP BW). Quelle est la relation entre ces éléments et SNL ?
Réponse : La réponse varie selon que vous importez des données ou que vous utilisez DirectQuery. Si vous importez des données dans votre jeu de données Power BI, les rôles de sécurité de votre source de données ne sont pas utilisés. Dans ce cas, vous devez définir la sécurité au niveau des lignes pour appliquer des règles de sécurité aux utilisateurs qui se connectent dans Power BI. Si vous utilisez DirectQuery, les rôles de sécurité de votre source de données sont utilisés. Quand un utilisateur ouvre un rapport, Power BI envoie une requête à la source de données sous-jacente, qui applique des règles de sécurité aux données en fonction des informations d’identification de l’utilisateur.

Étapes suivantes

Pour plus d’informations en rapport avec cet article, consultez les ressources suivantes :