Créer une stratégie de données pour la sécurité au niveau des lignes

Utilisez une stratégie de données pour appliquer la sécurité au niveau des lignes à une ou plusieurs tables dans une connexion virtuelle. Une stratégie de données filtre les données, garantissant que les utilisateurs ne voient que les données qu’ils sont censés voir. Les stratégies de données s’appliquent à la fois aux connexions en direct et aux connexions d’extraits.

À propos des stratégies de données

Une stratégie de données comporte trois composants principaux :

Un exemple des trois composants d’une stratégie de données dans l’éditeur de connexion virtuelle

  1. Les tables auxquelles elle s’applique, appelées tables de stratégie. Ce sont les tables qui sont filtrées.
  2. Les colonnes mappées qui définissent les relations entre les tables (par exemple entre les tables de droits et de faits), et entre les colonnes de table et les colonnes de stratégie. Une colonne de stratégie est la colonne utilisée pour filtrer les données.
  3. La condition de stratégie, qui est une expression ou un calcul faisant l’objet d’une évaluation pour chaque ligne lors d’une requête. Si la condition de stratégie est TRUE, la ligne s’affiche dans la requête.

Lorsque vous créez une stratégie des données, vous avez besoin d’une colonne que vous pouvez utiliser pour filtrer les données. Cette colonne est appelée colonne de stratégie. Les données sont filtrées par la condition de stratégie, généralement à l’aide d’une fonction utilisateur, telle que USERNAME() ou FULLNAME().

Si votre table de stratégie comprend une colonne sur laquelle vous pouvez appliquer un filtre, utilisez cette colonne comme colonne de stratégie.

Lorsqu’une table de stratégie n’inclut pas de colonne de ce type, utilisez une table des droits avec une colonne que vous pouvez utiliser pour filtrer les données. Une table des droits est une table qui comprend à la fois une colonne de stratégie que vous pouvez utiliser pour filtrer les tables de stratégie et une autre colonne que vous pouvez associer (mapper) à une colonne dans une table de stratégie (comme illustré dans l’image d’exemple de stratégie de données ci-dessus).

Filtrer avec une colonne de stratégie à partir d’une table de stratégie

Le moyen le plus courant de filtrer les données consiste à utiliser une colonne dans la table qui contient les données auxquelles vous souhaitez appliquer le filtre. Utilisez cette colonne comme colonne de stratégie, puis mappez les colonnes de table appropriées à la colonne de stratégie.

Pour utiliser une colonne de stratégie pour filtrer vos données, commencez par ajouter des tables à la stratégie à partir du volet gauche. Pour ajouter une table, effectuez l’une des opérations suivantes :

  • Double-cliquez sur le nom de la table.
  • Cliquez sur la flèche déroulante à côté du nom de la table et sélectionnez Gérer la table avec la stratégie.
  • Sinon, faites glisser la table vers la droite et déposez-la sur Ajouter en tant que table de stratégie.

Une fois qu’une table est ajoutée à une stratégie, une icône de bouclier Icône de stratégie des données apparaît à droite du nom de la table dans le volet gauche, indiquant qu’il s’agit d’une table de stratégie.

Ensuite, mappez les colonnes pour créer une relation entre le nom de colonne dans la table et le nom de colonne de stratégie. Utilisez le nom de colonne de stratégie dans la condition de stratégie de données pour contrôler l’accès aux données au niveau des lignes pour les utilisateurs :

  1. Cliquez sur +Ajouter une colonne à la carte pour ajouter une ou plusieurs colonnes qui serviront à filtrer les données.
  2. Nommez la colonne de stratégie. Vous utiliserez ce nom dans la condition de stratégie.
  3. Pour chaque table à laquelle la stratégie s’applique, utilisez le menu déroulant pour sélectionner la colonne de table qui correspond à la colonne de stratégie.
  4. Répétez ce processus pour autant de colonnes de stratégie que vous souhaitez utiliser dans la condition de stratégie.

Astuce : au lieu d’utiliser le bouton +Ajouter une colonne à la carte, vous pouvez commencer à saisir le calcul dans la zone de condition de stratégie et utiliser la saisie semi-automatique pour choisir le nom de la colonne, qui remplira ensuite les informations de la colonne de stratégie à l’étape 1.

Un exemple utilisant une colonne de stratégie d’une table de stratégie

Diagramme d’une stratégie de données qui utilise une colonne de stratégie d’une table de stratégie pour filtrer les données

  1. La table Sales a une colonne [Salesperson] et la table Region a une colonne [SalesRep]. Les données Salesperson et SalesRep correspondent au nom complet des utilisateurs Tableau sur votre site.
  2. Vous souhaitez filtrer les données des ventes et de la région par vendeur, vous nommez donc la colonne de stratégie « Salesperson » (Commercial) puis mappez la colonne Salesperson et la colonne SalesRep depuis Region à la colonne de stratégie Salesperson.
  3. Écrivez ensuite la condition de stratégie pour filtrer les deux tables. Utilisez la colonne de stratégie [Salesperson] et la fonction utilisateur FULLNAME() afin que chaque utilisateur ne puisse voir que ses propres données.

Filtrer avec la colonne de stratégie d’une table des droits

Les tables des droits sont utilisées lorsque votre table de stratégie ne contient pas de colonne sur laquelle vous pouvez appliquer un filtre. Vous pouvez utiliser la table des droits pour mapper la colonne dans la table de données à une colonne dans la table des droits. Notez les points suivants :

  • Assurez-vous d’inclure la table des droits en tant que table dans la connexion virtuelle. Vous pouvez utiliser une table à partir de n’importe quelle connexion ou base de données comme table des droits centrale qui sécurise les tables dans de nombreuses autres bases de données. Dans certains cas, une table des droits qui se trouve dans la même base de données que les tables que vous sécurisez peut constituer un risque de sécurité potentiel du fait de l’exposition possible des données des employés. Le fait d’avoir une table des droits dans une base de données différente peut en outre faciliter le contrôle des autorisations, par exemple, pour accorder à un utilisateur l’accès à une base de données.
  • Si vous ne voulez pas que les utilisateurs de connexion virtuelle voient la table des droits, vous pouvez changer le paramètre dans la colonne Visibilité de l’onglet Tables pour le masquer. Une fois masquée, la table des droits est toujours disponible pour le filtrage des stratégies, mais ne peut pas être utilisée dans les visualisations ou les sources de données du classeur.

Remarque : la connexion directe à une sortie de flux (fichier .hyper) n’est pas prise en charge pour la table des droits. La sortie du flux doit écrire directement dans la base de données.

Pour utiliser une table des droits pour filtrer vos données :

  1. Ajoutez les tables de données auxquelles vous souhaitez appliquer la stratégie de données. Effectuez l’une des actions suivantes :
    • Double-cliquez sur le nom de la table.
    • Cliquez sur la flèche déroulante à côté du nom de la table et sélectionnez Gérer la table avec la stratégie.
    • Sinon, faites glisser la table vers la droite et déposez-la sur Ajouter en tant que table de stratégie.
  2. Une fois qu’une table est ajoutée à une stratégie, une icône de bouclier Icône de stratégie des données apparaît à droite du nom de la table dans le volet gauche, indiquant qu’il s’agit d’une table de stratégie.
  3. Sélectionnez la table des droits, puis :
    • Cliquez sur la flèche déroulante et sélectionnez Utiliser comme table de droits.
    • Sinon, faites glisser la table vers la droite et déposez-la sur Ajouter en tant que table des droits.
  4. Ensuite, pour chaque table à laquelle la stratégie s’applique, cliquez sur le menu déroulant et sélectionnez les colonnes pour mapper la table de stratégie à la table des droits.

Exemple d’utilisation d’une colonne de stratégie d’une table des droits

Diagramme d’une stratégie de données qui utilise une colonne de stratégie d’une table des droits pour filtrer les données

  1. Les données que vous souhaitez filtrer ont une colonne EMP_ID, mais pas une colonne de nom d’employé. Cependant, vous avez une deuxième table qui inclut des colonnes à la fois pour EMP_ID et FULL NAME de l’employé. De plus, les valeurs de la colonne FULL NAME de l’employé correspondent au nom complet des utilisateurs Tableau sur votre site.
  2. Vous pouvez ajouter la table Employés à la stratégie en tant que table des droits, puis mapper le nom de colonne de table de stratégie EMP_ID au nom de colonne de droits EMP_ID pour chaque table.
  3. Utilisez ensuite la fonction FULLNAME() dans votre condition de stratégie pour faire correspondre le nom complet de l’utilisateur de Tableau Server avec la colonne [FULL NAME] de la table des droits (qui est la colonne de stratégie) afin que chaque utilisateur ne puisse voir que ses propres données.

Écrire une condition de stratégie

La dernière étape de la création d’une stratégie de données consiste à écrire une condition de stratégie, qui est un calcul ou une expression servant à définir l’accès au niveau des lignes. Les conditions de stratégie sont souvent utilisées pour limiter l’accès aux utilisateurs ou aux groupes via des fonctions utilisateur.

Une condition de stratégie :

  • Est requise dans une stratégie de données.
  • Doit être évaluée sur vrai ou faux.
  • Affiche des lignes lorsque la condition de stratégie est vraie.

Exemples de conditions de stratégie

Affiche uniquement les lignes où la valeur de la colonne Region est « North » :

[Region] = "North"

Permet à un utilisateur connecté de voir les lignes où le nom de l’utilisateur correspond à la valeur dans EmployeeName :

FULLNAME() = [EmployeeName]

Permet aux membres du groupe Managers de voir toutes les lignes, tandis que les utilisateurs ne peuvent voir que les lignes où leur nom d’utilisateur correspond à la valeur de la colonne employee_name :

ISMEMBEROF('Managers') OR USERNAME() = [employee_name]

Remarque : lorsque vous fermez un onglet de stratégie, votre travail n’est pas supprimé.

Fonctions Tableau prises en charge dans des conditions de stratégie

Les conditions de stratégie prennent en charge un sous-ensemble de fonctions Tableau :

  • Logique (sauf lié à une valeur null)
  • Chaîne
  • Utilisateur
  • Date
  • Nombre : MIN, MID, MAX

Pour voir quelles fonctions spécifiques sont prises en charge, dans l’éditeur de connexion virtuelle, dans l’onglet Stratégie de données, consultez le volet Référence sur la droite.

Qui peut le faire ?

Pour certifier une stratégie de données, vous devez :

  • avoir des informations d’identification pour la base de données à laquelle la connexion virtuelle se connecte, et
  • être un administrateur de serveur ou de site, ou un utilisateur Creator.

Étapes suivantes

Après avoir créé une stratégie de données, l’étape suivante consiste à vérifier qu’elle fonctionne comme attendu. Voir Tester la sécurité au niveau des lignes avec l’option Afficher en tant qu’utilisateur. Ou, si vous êtes prêt à partager la connexion virtuelle et ses stratégies de données avec d’autres, consultez Publier une connexion virtuelle et définir des autorisations.

Ressources

Pour plus d’informations sur les calculs, consultez Comprendre les calculs dans Tableau(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau Desktop et de la création Web.

Pour des informations sur les fonctions utilisateur, consultez Fonctions utilisateur(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau Desktop et de la création Web.

Pour plus d’informations sur les autres options de sécurité au niveau des lignes dans Tableau, consultez Présentation des options de sécurité au niveau des lignes dans Tableau(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau Server.

Merci de vos commentaires !Avis correctement envoyé. Merci