Connexions virtuelles et sécurité au niveau des lignes dans Tableau

Comme toujours, la dernière version (2021.4) a ajouté de nouvelles fonctionnalités intéressantes. L'une d'entre elles, très attendue, concerne les connexions virtuelles qui incluent également une sécurité centralisée au niveau des lignes.
Sécurité au niveau des lignes est la pratique qui consiste à restreindre les lignes de base de données visibles par un utilisateur donné en fonction de son profil. Par exemple, les responsables régionaux qui ne devraient voir les résultats que dans leur région. La centralisation de cette pratique signifie que nous disposons d'un emplacement central où la définition des règles de sécurité est stockée et que cette logique n'est pas dupliquée. Dans la nouvelle version de Tableau, les connexions virtuelles offrent cette possibilité, simplifiant ainsi la mise en œuvre et le maintien de la sécurité au niveau des lignes sur les données d'une organisation.

Connexions virtuelles sont exactement ce que leur nom suggère : des objets contenant toutes les informations de connexion à une base de données : URL, port, nom d'utilisateur et mot de passe. Ils peuvent être utilisés comme proxy pour accéder à la base de données via Tableau. Les connexions virtuelles fonctionnent comme n'importe quel autre type de connexion et peuvent donc être combinées avec d'autres données et enrichies par des calculs pour créer les sources de données Tableau les plus courantes. En prime, les règles de sécurité peuvent être intégrées à une connexion virtuelle afin qu'elles soient automatiquement appliquées chaque fois que la connexion est utilisée.

Pour vous donner un scénario concret, imaginons une entreprise dotée d'un tableau de bord des ventes. Chaque responsable régional ne doit voir que les données de sa région et tout le personnel de vente ne doit voir que ses propres opportunités de vente, indépendamment de la région. Par conséquent, nous devons appliquer la sécurité au niveau des lignes pour n'afficher aux utilisateurs que les lignes auxquelles ils ont droit.
Dans ce qui suit, nous montrons comment créer une connexion virtuelle, comment définir des règles de sécurité et comment l'utiliser dans Tableau Desktop.
Comment créer une connexion virtuelle
Les connexions virtuelles sont une fonctionnalité de serveur disponible avec le module complémentaire Data Management de Tableau et peuvent être créées dans Tableau Server ou Tableau Online. Dans l'exemple suivant, nous allons nous connecter à une base de données Snowflake contenant des données de vente.
Pour créer une nouvelle connexion, vous pouvez vous rendre sur la page « Explorer » et cliquer sur « Nouveau » et « Connexion virtuelle » comme indiqué dans l'image ci-dessous.

Une nouvelle fenêtre s'ouvre dans laquelle vous pouvez sélectionner le type de base de données, puis vous y connecter. La page ci-dessous est similaire à celle qui était déjà disponible pour les sources de données.

Nous allons nous connecter à notre instance Snowflake où nous avons deux tables :
· Les « OFFRES », qui contiennent des informations sur les offres, y compris la région dans laquelle se situent les offres et le vendeur désigné,
· EMPLOYÉS contenant des informations sur les employés, y compris l'affectation des responsables à une ou plusieurs régions.

Un aperçu des données est affiché en bas de la fenêtre et, pour notre démonstration, les données complètes se présentent comme suit :


Comment définir les règles de sécurité
Dans cette démo, nous allons implémenter les règles de sécurité suivantes :
· Chaque vendeur peut voir ses propres offres
· Les responsables peuvent voir toutes les offres de leur région, comme défini dans le tableau EMPLOYÉS.
Pour faire simple, nous n'avons qu'un seul manager, Cédric Pompei (le PDG d'Argusa !) qui a accès à la région « CH ».
Afin de définir les règles de sécurité, nous pouvons cliquer sur l'onglet « Politiques de données », puis sur le bouton « Créer une nouvelle politique » et enfin faire glisser le tableau des employés dans la zone de travail.
Deux zones d'atterrissage apparaissent : « Tableau des politiques » et « Tableau des droits ». Le tableau des politiques est le tableau sur lequel la sécurité sera appliquée. La table Entitlement est la table qui met en correspondance les utilisateurs et leurs droits. Nous voulons utiliser la table des employés comme mappage des droits. Nous la faisons donc glisser vers la zone d'atterrissage nommée « Table des droits ».

Dans l'interface, les tableaux des droits apparaissent en haut, comme le montre l'image ci-dessous.
Nous pouvons désormais également faire glisser le tableau des offres sur la zone de travail pour y appliquer les règles de sécurité. Enfin, nous sélectionnons dans le menu le champ qui mappe les deux tables, qui est la région dans notre cas :

Dans l'éditeur de calcul situé juste à droite, nous pouvons maintenant définir notre règle de sécurité. La règle est la suivante :
[Email]=USERNAME() OR [SalesPerson]=USERNAME()où USERNAME () est la fonction Tableau permettant de récupérer le nom d'utilisateur de l'utilisateur actuellement connecté. Pour Tableau Online, il correspond à l'adresse e-mail de l'utilisateur.
· Dans la première partie de la condition, le champ « E-mail » provient de la table Employés. Cette condition indique à Tableau d'autoriser les files d'attente pour les employés dont la « région gérée » correspond à la « région » de l'offre.
· Dans la deuxième condition, « SalesPerson » est un champ de la table des offres. Cette condition indique à Tableau d'autoriser les lignes dont l'utilisateur est actuellement connecté en tant que vendeur.

La règle est définie !
Il est maintenant temps de vérifier si la règle de sécurité répond à nos attentes. En haut de l'aperçu des données, vous pouvez cocher la case « Avec la politique appliquée » pour voir l'effet des règles de sécurité.
Vous pouvez également choisir un utilisateur à tester. La possibilité de changer d'utilisateur n'est présente que dans la phase de création de la connexion lorsque le créateur a nécessairement accès à toutes les données. Notez que chaque fois que vous souhaitez modifier la connexion virtuelle, Tableau demande à l'utilisateur le mot de passe de la base de données pour s'assurer que l'utilisateur qui crée la connexion virtuelle peut accéder à toutes les données.
Vous pouvez voir qu'en sélectionnant Luca ou Fatima, nous n'obtenons que les offres pour lesquelles ils sont vendeurs. Un indicateur indique également le nombre de lignes que l'utilisateur sélectionné peut voir sur le total.


Si nous passons à Cédric, nous pouvons constater qu'il peut voir toutes les offres de la région CH puisqu'il est le directeur régional et, en même temps, il peut voir une offre de la région « FR » car il est le vendeur qui y est affecté.

Nous pouvons publier la connexion en lui donnant un nom pour enregistrer la configuration.
Comment utiliser les connexions virtuelles dans Tableau Desktop
Dans Tableau Desktop, vous pouvez rechercher une connexion virtuelle sur le serveur, comme vous le feriez normalement pour les sources de données publiées.

Pour ouvrir une telle connexion, vous n'avez pas besoin de fournir d'informations d'identification de base de données, car elles sont stockées dans la connexion elle-même. Notez que je suis connecté sous le nom de Luca, donc je ne peux voir que deux lignes ! Par conséquent, je ne peux pas modifier l'utilisateur et je ne peux accéder qu'aux données que je suis autorisé à voir.
La connexion virtuelle fonctionne comme n'importe quelle autre connexion et vous pouvez donc la combiner avec d'autres données provenant d'autres connexions. Pour la démonstration, nous allons charger un fichier quota.xlsx contenant des quotas définis pour chaque vendeur et le joindre à la connexion virtuelle en utilisant une relation.

Conclusion
Les connexions virtuelles et la sécurité centralisée au niveau des lignes sont des fonctionnalités attendues depuis longtemps qui rendent l'offre Tableau encore plus attrayante en tant que système de BI en libre-service. Nous espérons vous avoir montré comment ces nouvelles fonctionnalités permettent d'automatiser l'intégration des exigences hiérarchiques et de sécurité des grandes entreprises.
Comme toujours, la dernière version (2021.4) a ajouté de nouvelles fonctionnalités intéressantes. L'une d'entre elles, très attendue, concerne les connexions virtuelles qui incluent également une sécurité centralisée au niveau des lignes.
Sécurité au niveau des lignes est la pratique qui consiste à restreindre les lignes de base de données visibles par un utilisateur donné en fonction de son profil. Par exemple, les responsables régionaux qui ne devraient voir les résultats que dans leur région. La centralisation de cette pratique signifie que nous disposons d'un emplacement central où la définition des règles de sécurité est stockée et que cette logique n'est pas dupliquée. Dans la nouvelle version de Tableau, les connexions virtuelles offrent cette possibilité, simplifiant ainsi la mise en œuvre et le maintien de la sécurité au niveau des lignes sur les données d'une organisation.

Connexions virtuelles sont exactement ce que leur nom suggère : des objets contenant toutes les informations de connexion à une base de données : URL, port, nom d'utilisateur et mot de passe. Ils peuvent être utilisés comme proxy pour accéder à la base de données via Tableau. Les connexions virtuelles fonctionnent comme n'importe quel autre type de connexion et peuvent donc être combinées avec d'autres données et enrichies par des calculs pour créer les sources de données Tableau les plus courantes. En prime, les règles de sécurité peuvent être intégrées à une connexion virtuelle afin qu'elles soient automatiquement appliquées chaque fois que la connexion est utilisée.

Pour vous donner un scénario concret, imaginons une entreprise dotée d'un tableau de bord des ventes. Chaque responsable régional ne doit voir que les données de sa région et tout le personnel de vente ne doit voir que ses propres opportunités de vente, indépendamment de la région. Par conséquent, nous devons appliquer la sécurité au niveau des lignes pour n'afficher aux utilisateurs que les lignes auxquelles ils ont droit.
Dans ce qui suit, nous montrons comment créer une connexion virtuelle, comment définir des règles de sécurité et comment l'utiliser dans Tableau Desktop.
Comment créer une connexion virtuelle
Les connexions virtuelles sont une fonctionnalité de serveur disponible avec le module complémentaire Data Management de Tableau et peuvent être créées dans Tableau Server ou Tableau Online. Dans l'exemple suivant, nous allons nous connecter à une base de données Snowflake contenant des données de vente.
Pour créer une nouvelle connexion, vous pouvez vous rendre sur la page « Explorer » et cliquer sur « Nouveau » et « Connexion virtuelle » comme indiqué dans l'image ci-dessous.

Une nouvelle fenêtre s'ouvre dans laquelle vous pouvez sélectionner le type de base de données, puis vous y connecter. La page ci-dessous est similaire à celle qui était déjà disponible pour les sources de données.

Nous allons nous connecter à notre instance Snowflake où nous avons deux tables :
· Les « OFFRES », qui contiennent des informations sur les offres, y compris la région dans laquelle se situent les offres et le vendeur désigné,
· EMPLOYÉS contenant des informations sur les employés, y compris l'affectation des responsables à une ou plusieurs régions.

Un aperçu des données est affiché en bas de la fenêtre et, pour notre démonstration, les données complètes se présentent comme suit :


Comment définir les règles de sécurité
Dans cette démo, nous allons implémenter les règles de sécurité suivantes :
· Chaque vendeur peut voir ses propres offres
· Les responsables peuvent voir toutes les offres de leur région, comme défini dans le tableau EMPLOYÉS.
Pour faire simple, nous n'avons qu'un seul manager, Cédric Pompei (le PDG d'Argusa !) qui a accès à la région « CH ».
Afin de définir les règles de sécurité, nous pouvons cliquer sur l'onglet « Politiques de données », puis sur le bouton « Créer une nouvelle politique » et enfin faire glisser le tableau des employés dans la zone de travail.
Deux zones d'atterrissage apparaissent : « Tableau des politiques » et « Tableau des droits ». Le tableau des politiques est le tableau sur lequel la sécurité sera appliquée. La table Entitlement est la table qui met en correspondance les utilisateurs et leurs droits. Nous voulons utiliser la table des employés comme mappage des droits. Nous la faisons donc glisser vers la zone d'atterrissage nommée « Table des droits ».

Dans l'interface, les tableaux des droits apparaissent en haut, comme le montre l'image ci-dessous.
Nous pouvons désormais également faire glisser le tableau des offres sur la zone de travail pour y appliquer les règles de sécurité. Enfin, nous sélectionnons dans le menu le champ qui mappe les deux tables, qui est la région dans notre cas :

Dans l'éditeur de calcul situé juste à droite, nous pouvons maintenant définir notre règle de sécurité. La règle est la suivante :
[Email]=USERNAME() OR [SalesPerson]=USERNAME()où USERNAME () est la fonction Tableau permettant de récupérer le nom d'utilisateur de l'utilisateur actuellement connecté. Pour Tableau Online, il correspond à l'adresse e-mail de l'utilisateur.
· Dans la première partie de la condition, le champ « E-mail » provient de la table Employés. Cette condition indique à Tableau d'autoriser les files d'attente pour les employés dont la « région gérée » correspond à la « région » de l'offre.
· Dans la deuxième condition, « SalesPerson » est un champ de la table des offres. Cette condition indique à Tableau d'autoriser les lignes dont l'utilisateur est actuellement connecté en tant que vendeur.

La règle est définie !
Il est maintenant temps de vérifier si la règle de sécurité répond à nos attentes. En haut de l'aperçu des données, vous pouvez cocher la case « Avec la politique appliquée » pour voir l'effet des règles de sécurité.
Vous pouvez également choisir un utilisateur à tester. La possibilité de changer d'utilisateur n'est présente que dans la phase de création de la connexion lorsque le créateur a nécessairement accès à toutes les données. Notez que chaque fois que vous souhaitez modifier la connexion virtuelle, Tableau demande à l'utilisateur le mot de passe de la base de données pour s'assurer que l'utilisateur qui crée la connexion virtuelle peut accéder à toutes les données.
Vous pouvez voir qu'en sélectionnant Luca ou Fatima, nous n'obtenons que les offres pour lesquelles ils sont vendeurs. Un indicateur indique également le nombre de lignes que l'utilisateur sélectionné peut voir sur le total.


Si nous passons à Cédric, nous pouvons constater qu'il peut voir toutes les offres de la région CH puisqu'il est le directeur régional et, en même temps, il peut voir une offre de la région « FR » car il est le vendeur qui y est affecté.

Nous pouvons publier la connexion en lui donnant un nom pour enregistrer la configuration.
Comment utiliser les connexions virtuelles dans Tableau Desktop
Dans Tableau Desktop, vous pouvez rechercher une connexion virtuelle sur le serveur, comme vous le feriez normalement pour les sources de données publiées.

Pour ouvrir une telle connexion, vous n'avez pas besoin de fournir d'informations d'identification de base de données, car elles sont stockées dans la connexion elle-même. Notez que je suis connecté sous le nom de Luca, donc je ne peux voir que deux lignes ! Par conséquent, je ne peux pas modifier l'utilisateur et je ne peux accéder qu'aux données que je suis autorisé à voir.
La connexion virtuelle fonctionne comme n'importe quelle autre connexion et vous pouvez donc la combiner avec d'autres données provenant d'autres connexions. Pour la démonstration, nous allons charger un fichier quota.xlsx contenant des quotas définis pour chaque vendeur et le joindre à la connexion virtuelle en utilisant une relation.

Conclusion
Les connexions virtuelles et la sécurité centralisée au niveau des lignes sont des fonctionnalités attendues depuis longtemps qui rendent l'offre Tableau encore plus attrayante en tant que système de BI en libre-service. Nous espérons vous avoir montré comment ces nouvelles fonctionnalités permettent d'automatiser l'intégration des exigences hiérarchiques et de sécurité des grandes entreprises.
