Gérer les extensions de tableau de bord et de visualisation dans Tableau Server

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 serveur pour activer les extensions de tableau de bord et de visualisation sur le serveur, ou pour bloquer l’exécution d’extensions spécifiques. Vous devez être un administrateur de serveur pour ajouter des extensions à la liste d’autorisations et pour contrôler le type de données auxquelles les extensions peuvent accéder. L’administrateur de serveur 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.

Avant d’exécuter des extensions dans Tableau Server

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 2021.1.0, 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 Notes de version de Tableau Serveur(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 Server 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 Server 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 serveur peuvent contrôler un paramètre global autorisant les extensions pour tous les sites sur le serveur. Les administrateurs de serveur peuvent également placer des extensions, y compris des extensions en mode Sandbox, sur une liste de blocage globale pour les empêcher de s’exécuter (voir Bloquer des extensions spécifiques). Par défaut, toutes les extensions en mode Sandbox sont activées sur le serveur, mais les administrateurs du site peuvent choisir de remplacer le paramètre par défaut et interdire les extensions en mode Sandbox pour le site.

Modifier le paramètre global d’activation des extensions sur le serveur

  1. Pour modifier ce paramètre pour le serveur, allez à Gérer tous les sites > Paramètres > Extensions. Si le serveur n’a qu’un seul site, les contrôles globaux apparaissent sur la page Paramètres du site.

  2. Sous Extensions de tableau de bord et de visualisation, sélectionnez ou désélectionnez la case à cocher Autoriser les utilisateurs à exécuter les extensions sur ce serveur. Si cette option n’est pas sélectionnée, les extensions ne sont pas autorisées à s’exécuter. Ce paramètre global a priorité sur le paramètre Autoriser les utilisateurs à exécuter les extensions sur ce site pour chaque site.

Modifier les paramètres par défaut d’un site

Les administrateurs de serveur 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. En d’autres termes, si les extensions sont activées sur le serveur, 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.

  1. Pour modifier ces paramètres pour le site, allez à Paramètres > Extensions.

  2. 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 serveur 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.

Une vignette Tableau Exchange pour une extension indiquant où trouver l’URL hébergée

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.

  1. Allez à Paramètres > Extensions.

  2. 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.

  3. 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.

  4. 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.

Bloquer des extensions spécifiques

La stratégie globale par défaut autorise toutes les extensions en mode Sandbox et les extensions compatibles réseau qui apparaissent sur la liste d’autorisations d’un site. Les administrateurs de serveur peuvent empêcher l’exécution d’extensions spécifiques en les ajoutant à la liste de blocage du serveur. Si une extension est sur la liste globale bloquée, elle remplace tous les paramètres de l’extension figurant sur la liste d’autorisations d’un site.

  1. Pour ajouter une extension à la liste de blocage du serveur, allez à Gérer tous les sites > Paramètres > Extensions. Dans les installations sur un seul site, la liste de blocage se trouve dans la page de paramètres Extensions du site.

  2. Sous Bloquer des extensions spécifiques, ajoutez l’URL de l’extension. Consultez Identification de l’URL d’une extension.

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èreDescription
.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...ExempleSpécifie
Plage de domaines.*\.example.comTous les sous-domaines sous exemple.com.
Tous les portsexample.com:.*Les extensions sont autorisées à accéder depuis tous les ports sur example.com.
Toutes les extensions sous domaine, port et cheminexample.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èleexample.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 Server.

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 Server 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.

Merci de vos commentaires !Avis correctement envoyé. Merci