Gérer les extensions de tableau de bord et de visualisation dans Tableau Cloud
Les extensions de tableau de bord sont des applications Web qui s’exécutent dans des zones de tableau de bord personnalisées et qui peuvent interagir avec le reste du tableau de bord à l’aide de l’API Tableau Extensions(Le lien s’ouvre dans une nouvelle fenêtre). Les extensions de tableau de bord permettent aux utilisateurs d’interagir avec les données issues d’autres applications directement dans Tableau. Comme les extensions de tableau de bord, les extensions de visualisation sont des applications Web qui utilisent l’API Tableau Extensions et permettent aux développeurs de créer de nouveaux types de visualisation. Les utilisateurs de Tableau peuvent accéder aux extensions de visualisation via la fiche Repères d’une feuille de calcul.
Remarque : vous devez être un administrateur de site pour ajouter des extensions de tableau de bord et de visualisation à la liste d’autorisations et pour contrôler le type de données auxquelles les extensions peuvent accéder. L’administrateur de site peut également configurer si les utilisateurs du site voient les invites lorsqu’ils ajoutent ou affichent des extensions. Pour des informations sur la sécurité des extensions et les options de déploiement recommandées, consultez Sécurité des extensions - Meilleures pratiques de déploiement (Le lien s’ouvre dans une nouvelle fenêtre).
Pour plus d’informations sur l’utilisation d’extensions de tableau de bord dans Tableau, consultez Utiliser les extensions de tableau de bord.
Pour plus d’informations sur l’utilisation des extensions de visualisation, consultez Ajouter des extensions de visualisation à votre feuille de calcul.
Vous recherchez Tableau Server ? Consultez Gérer les extensions de tableau de bord dans Tableau Server(Le lien s’ouvre dans une nouvelle fenêtre).
Avant d’exécuter des extensions dans Tableau Cloud
Tableau prend en charge deux méthodes d’hébergement des extensions :
- Les extensions réseau, qui sont hébergées sur des serveurs Web situés à l’intérieur et à l’extérieur de votre réseau local. Les extensions réseau disposent d’un accès complet au Web.
- Les extensions en mode sandbox, qui fonctionnent dans un environnement protégé sans accès à d’autres ressources ou services sur le Web.
Remarque : depuis la version de mars 2021.1, Tableau prend en charge l’intégration avec Einstein Discovery via l’extension de tableau de bord Einstein Discovery. Il s’agit d’une extension spéciale qui a accès aux données de Salesforce.com et qui est autorisée par défaut. Elle n’est pas considérée comme une extension réseau ou une extension en mode Sandbox. Pour plus d’informations sur l’intégration d’Einstein Discovery, consultez Configurer l’intégration Einstein Discovery(Le lien s’ouvre dans une nouvelle fenêtre).
Les extensions en mode Sandbox sont hébergées par Tableau et utilisent les normes du W3C, tels que Content Security Policy (CSP), pour s’assurer que l’extension ne peut pas passer d’appels réseau en dehors de l’instance Tableau Server hébergeante. Une extension en mode Sandbox peut interroger des données dans le tableau de bord, mais elle ne peut pas envoyer ces données en dehors du bac à sable. Les extensions en mode Sandbox sont prises en charge dans Tableau 2019.4 et versions ultérieures. Par défaut, les extensions en mode Sandbox sont autorisées à s’exécuter si les extensions sont activées pour le site.
Les extensions réseau sont des applications Web qui peuvent être exécutées sur tout ordinateur configuré comme serveur Web. Cela inclut les ordinateurs locaux, les ordinateurs de votre domaine et les sites Web tiers. Les extensions réseau pouvant être hébergées sur des sites tiers et accéder aux données du classeur,il est conseillé d’autoriser uniquement les extensions auxquelles vous faites confiance. Voir Tester la sécurité des extensions réseau.
À des fins de sécurité, vous pouvez utiliser les paramètres des extensions sur Tableau Cloud pour contrôler et limiter les extensions autorisées à s’exécuter.
Par défaut, les extensions en mode Sandbox sont autorisées à s’exécuter si les extensions sont activées pour le site.
Par défaut, aucune extension réseau n’est autorisée, sauf si elle a été explicitement ajoutée à la liste d’autorisations.
Par défaut, seules les extensions utilisant le protocole HTTPS sont autorisées, ce qui garantit un canal sécurisé pour envoyer et recevoir des données (la seule exception concerne
http://localhost
).Si l’extension réseau nécessite des données complètes (accès aux données sous-jacentes), l’extension ne peut pas s’exécuter sur Tableau Cloud sauf si vous ajoutez explicitement l’extension à la liste d’autorisations et autorisez l’extension à accéder aux données complètes.
Contrôler les extensions et l’accès aux données
Les administrateurs de site peuvent contrôler s’il faut activer les extensions pour le site et s’il faut autoriser les extensions en mode Sandbox sur le site. Les paramètres par défaut du site permettent aux extensions en mode Sandbox de fonctionner sur le site, à condition que l’extension ne soit pas spécifiquement bloquée sur le serveur. Les paramètres par défaut du site permettent l’exécution des extensions réseau lorsqu’elles figurent sur la liste d’autorisations du site. Il est également possible d’ajouter des extensions individuelles en mode Sandbox à la liste d’autorisations si les extensions en mode Sandbox ne sont pas autorisées par défaut.
Pour modifier ces paramètres pour le site, allez à Paramètres > Extensions.
Sous Extensions de tableau de bord et de visualisation, configurez ces options :
- Autoriser les utilisateurs à exécuter les extensions sur ce site
- Autorisez les extensions en mode Sandbox à s’exécuter à moins qu’elles ne soient spécifiquement bloquées par un administrateur de serveur
Les administrateurs de site peuvent ajouter des extensions réseau et des extensions en mode Sandbox à la liste d’autorisations ou en supprimer. Lorsque vous ajoutez une extension à la liste d’autorisations, vous pouvez contrôler s’il faut autoriser l’extension à accéder aux données complètes. Consultez Ajouter des extensions à la liste d’autorisations et configurer les invites utilisateur.
Identification de l’URL d’une extension
En tant qu’application Web, une extension est associée à une URL. Vous utilisez cette URL pour tester et vérifier l’extension. Vous pouvez également utiliser l’URL pour ajouter l’extension à la liste d’autorisations afin d’autoriser l’accès aux données complètes, ou à la liste de blocage si vous souhaitez interdire tout accès.
Depuis le fichier manifest
Si vous possédez le fichier manifest de l’extension (.trex
), un fichier XML qui définit les propriétés de l’extension, vous trouverez l’URL dans l’élément <source-location>
.
<source-location>
<url>https://www.example.com/myExtension.html</url>
</source-location>
Depuis Tableau Exchange
Si vous avez ajouté ou téléchargé une extension depuis Tableau Exchange, vous pouvez trouver l’URL de l’extension sur Exchange. Ouvrez la vignette de l’extension, et sous Spécifications techniques, recherchez l’URL sous le titre Hébergé sur.
Identification d’une extension de tableau de bord à l’aide de la boîte de dialogue À propos
Si vous avez ajouté l’extension au tableau de bord, vous trouverez l’URL dans les propriétés d’extension. Dans le menu Plus d’options, cliquez sur À propos.
La boîte de dialogue À propos répertorie le nom de l’extension, l’auteur, le site Web de l’auteur, ainsi que l’URL de l’extension.
Ajouter des extensions à la liste d’autorisations et configurer les invites utilisateur
Pour être sûr que les utilisateurs utilisent des extensions réseau de confiance, vous pouvez les ajouter à la liste d’autorisations pour le site. Vous pouvez également ajouter des extensions en mode Sandbox à la liste d’autorisations si les extensions en mode Sandbox ne sont pas activées par défaut sur le site.
Dans la liste d’autorisations, vous pouvez contrôler s’il faut accorder l’accès aux données complètes à l’extension. Par défaut, lorsque vous ajoutez une extension à la liste d’autorisations, l’extension n’a accès qu’aux données résumées (ou agrégées). Vous pouvez également contrôler si les utilisateurs voient ou non une invite leur demandant d’autoriser l’extension à accéder aux données. Vous souhaiterez peut-être ajouter une extension à la liste d’autorisations (par exemple une extension en mode sandbox) pour configurer si les utilisateurs peuvent ou non voir les invites. Lorsque vous masquez les invites aux yeux des utilisateurs, l’extension peut s’exécuter immédiatement.
Allez à Paramètres > Extensions.
Sous Activer des extensions spécifiques, ajoutez l’URL de l’extension. Consultez Identification de l’URL d’une extension.
Conseil : vous pouvez utiliser un point et un astérisque (
.*
) comme caractère générique dans l’URL pour autoriser toutes les extensions dans un certain domaine ou emplacement. Par exemple, pour autoriser toutes les extensions du domaine sous example.com qui utilisent le port 8080, vous devez ajouter l’URL :https://example.com:8080/.*
. Pour plus d’informations, voir Utilisation d’expressions régulières dans l’URL de la liste d’autorisations.Choisissez d’Autoriser ou de Refuser l’accès aux données complètes à l’extension.
L’accès aux données complètes désigne l’accès aux données sous-jacentes de la vue, et non seulement aux données résumées ou agrégées. L’accès aux données complètes inclut également des informations sur les sources de données, telles que les noms de la connexion, des champs et des tables. En général, si vous ajoutez une extension à la liste d’autorisations pour pouvoir l’utiliser, vous souhaiterez peut-être aussi autoriser l’accès aux données complètes, si l’extension l’exige. Avant d’ajouter des extensions à la liste d’autorisations, veillez à Tester la sécurité des extensions réseau.
Choisissez d’Afficher ou de Masquer les Invites utilisateur.
Les utilisateurs voient les invites par défaut lorsqu’ils ajoutent une extension de tableau de bord à un tableau de bord, ou une extension de visualisation à une feuille de calcul, ou lorsqu’ils interagissent avec une vue comportant une extension. L’invite fournit à l’utilisateur des détails sur l’extension et indique si l’extension dispose d’un accès aux données complètes. L’invite donne aux utilisateurs la possibilité d’autoriser ou d’interdire l’exécution de l’extension. Vous pouvez masquer cette invite aux yeux des utilisateurs, dans quel cas l’extension s’exécute immédiatement.
Utilisation d’expressions régulières dans l’URL de la liste d’autorisations
En général, lorsque vous ajoutez une extension à la liste d’autorisations, vous devez utiliser l’URL spécifique de l’extension. Cependant, il peut arriver que vous souhaitiez autoriser plusieurs extensions hébergées à partir des mêmes domaine et emplacement. Dans ce cas, il est pratique d’utiliser un caractère générique dans l’URL. Les paramètres d’extension prennent en charge l’utilisation d’expressions régulières.
Expression régulière | Description |
. | Un point (.) est un caractère générique qui sert à représenter n’importe quel caractère. Si vous devez spécifier un point (.) dans l’URL au lieu d’un caractère générique, vous pouvez échapper le caractère avec une barre oblique inverse (\. ). |
* | Un astérisque (*) est un quantificateur qui spécifie une ou plusieurs instances du caractère précédent. |
Soyez prudent si vous utilisez des caractères génériques pour ne pas rendre la liste d’autorisations trop permissive et éviter d’autoriser par inadvertance l’accès à des extensions qui ne devraient pas y avoir accès.
Le tableau suivant montre quelques exemples d’utilisation d’expressions régulières dans l’URL. Notez que ces exemples ne montrent pas le protocole ni l’URL complète de l’extension. Seules les extensions utilisant le protocole HTTPS sont autorisées (à l’exception de http://localhost).
Pour spécifier... | Exemple | Spécifie |
Plage de domaines | .*\.example.com | Tous les sous-domaines sous exemple.com. |
Tous les ports | example.com:.* | Les extensions sont autorisées à accéder depuis tous les ports sur example.com. |
Toutes les extensions sous domaine, port et chemin | example.com:8080/xyz/.* | L’accès est accordé à toutes les extensions du domaine example.com qui utilisent le port 8080 et qui sont situées dans zyz. |
Tous les ports pour une plage de domaines | .*\.example.com:.* | Autorise l’accès aux extensions sur tous les ports de tous les sous-domaines sous example.com. |
Toutes les extensions sous un domaine et un chemin qui correspondent au modèle | example.com/t.c/.* | Permet d’accéder aux extensions exécutées sur exemple.com dans des dossiers qui correspondent au modèle t.c. Par exemple : tic, tac, toc. |
Tester la sécurité des extensions réseau
Les extensions de tableau de bord et de visualisation sont des applications Web qui interagissent avec les données dans Tableau en utilisant l’API Extensions. Les extensions réseau peuvent éventuellement être hébergées sur des serveurs Web à l’intérieur ou à l’extérieur de votre domaine, effectuer des appels réseau et avoir accès à des ressources sur Internet. En raison des vulnérabilités potentielles (par exemple des scripts inter-sites), vous devez tester et valider les extensions réseau avant que les utilisateurs ne s’en servent dans Tableau Desktop et avant d’autoriser des extensions sur Tableau Cloud.
Examiner les fichiers source
Les extensions de tableau de bord et de visualisation sont des applications Web qui incluent divers fichiers HTML, CSS et JavaScript, ainsi qu’un fichier manifest XML (*.trex) définissant les propriétés de l’extension. Dans de nombreux cas, le code d’une extension est disponible publiquement sur GitHub et peut être y examiné ou téléchargé. Dans le fichier manifest (*.trex
), vous trouverez l’emplacement ou l’URL de la source indiquant où l’extension est hébergée, le nom de l’auteur et le site Web de l’auteur, ou la société à contacter pour obtenir de l’aide. L’élément <source-location>
désigne l’URL, l’élément <author>
spécifie le nom de l’entreprise et le site Web à contacter pour obtenir de l’aide (website="SUPPORT_URL"
). Le site Web est le lien Obtenir un support que l’utilisateur voit dans la boîte de dialogue À propos de l’extension.
De nombreuses extensions référencent des bibliothèques JavaScript externes, telles que la bibliothèque jQuery et les bibliothèques API pour des tiers. Vérifiez que l’URL des bibliothèques externes pointe vers un emplacement approuvé pour la bibliothèque. Par exemple, si le connecteur référence la bibliothèque jQuery, assurez-vous que la bibliothèque se trouve sur un site considéré comme standard et sûr.
Toutes les extensions doivent obligatoirement utiliser le protocole HTTPS (https://
) pour l’hébergement de leurs extensions. Vous devriez examiner les fichiers source de l’extension pour vous assurer que toute référence à des bibliothèques externes utilise également HTTPS ou est hébergée sur le même site Web que l’extension. La seule exception à cette exigence de HTTPS est le cas où l’extension est hébergée sur le même ordinateur que Tableau (http://localhost
).
Dans la mesure du possible, veillez à comprendre l’action exécutée par le code. Essayez tout particulièrement de comprendre comment le code crée les demandes aux sites externes, et quelles informations sont envoyées dans la demande. Plus particulièrement, vérifiez si les données fournies par l’utilisateur sont validées afin d’éviter les scripts inter-sites.
Comprendre l’accès aux données
L’API Tableau Extensions fournit des méthodes permettant d’accéder aux noms des tables et des champs actifs dans la source de données, aux descriptions résumées des connexions de source de données et aux données sous-jacentes d’une feuille de calcul. Si une extension utilise l’une de ces méthodes dans une vue, le développeur de l’extension doit déclarer que l’extension exige des autorisations pour les données complètes dans le fichier manifest (.trex
). La déclaration se présente comme suit.
<permissions>
<permission>full data</permission>
</permissions>
Tableau utilise cette déclaration pour fournir aux utilisateurs une invite lors de l’exécution en leur donnant l’option d’autoriser cet accès. Si l’extension utilise l’une de ces méthodes, sans déclarer l’autorisation pour les données complètes dans le fichier manifest, l’extension se chargera mais les appels de méthode échoueront.
Pour savoir comment une extension accède aux données depuis le tableau de bord et pour des informations sur les méthodes JavaScript utilisées, consultez Accès aux données sous-jacentes(Le lien s’ouvre dans une nouvelle fenêtre) dans l’API Tableau Extensions. Pour mieux comprendre ce que l’extension peut trouver sur les données, vous pouvez utiliser l’exemple d’extension de tableau de bord DataSources(Le lien s’ouvre dans une nouvelle fenêtre) (disponible dans le Référentiel Tableau Extensions API GitHub(Le lien s’ouvre dans une nouvelle fenêtre)) pour voir les données qui sont exposées en cas d’appel de la méthode getDataSourcesAsync()
.
Tester l’extension dans un environnement isolé
Si possible, testez l’extension dans un environnement isolé de votre environnement de production et des ordinateurs des utilisateurs. Par exemple, ajoutez une extension de tableau de bord ou de visualisation à une liste d’autorisations sur un ordinateur de test ou une machine virtuelle exécutant une version de Tableau Cloud qui n’est pas utilisée pour la production.
Surveiller le trafic créé par l’extension de tableau de bord
Lorsque vous testez une extension réseau, utilisez un outil tel que Fiddler(Le lien s’ouvre dans une nouvelle fenêtre), Charles HTTP proxy(Le lien s’ouvre dans une nouvelle fenêtre) ou Wireshark(Le lien s’ouvre dans une nouvelle fenêtre) pour examiner les demandes et les réponses apportées par l’extension. Assurez-vous de bien comprendre le contenu demandé par l’extension. Examinez le trafic pour vous assurer que l’extension n’est pas en train de lire des données ou du code qui n’a pas de rapport direct avec l’objectif de l’extension.