Cette page vous a-t-elle été utile ?
Oui Non

Gérer les extensions de tableau de bord dans Tableau Online

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. Les extensions de tableau de bord permettent aux utilisateurs d'interagir avec les données issues d'autres applications directement dans Tableau.

Remarque : vous devez être un administrateur de site pour ajouter des extensions à la liste sûre 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 dans un tableau de bord.

Pour plus d'informations sur l'utilisation d'extensions de tableau de bord dans Tableau, consultez Utiliser les extensions de tableau de bord.

Avant d'exécuter des extensions dans Tableau Online

Les extensions de tableau de bord 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 pouvant être hébergées sur des sites tiers et accéder aux données du tableau de bord, vous ne souhaiterez autoriser que les extensions auxquelles vous faites confiance. Consultez Tester la sécurité des extensions.

À des fins de sécurité, vous pouvez utiliser les paramètres des extensions de tableau de bord sur Tableau Online pour contrôler et limiter les extensions de tableau de bord autorisées à s'exécuter.

  • Par défaut, aucune extension n’est autorisée, sauf si elle a été explicitement ajoutée à la liste autorisée.

  • Vous pouvez modifier le comportement par défaut des extensions de manière à autoriser également les extensions qui n’ont pas été ajoutées à la liste autorisée. Si vous modifiez la valeur par défaut de manière à autoriser l'exécution d'extensions inconnues ou non spécifiées, ces extensions sont également autorisées, à condition qu'elles n'exigent pas de données complètes (accès aux données sous-jacentes) depuis la vue. Si un utilisateur ajoute l’une de ces extensions inconnues à un tableau de bord, l’utilisateur voit d’abord une invite où il peut choisir d’autoriser ou de refuser l’exécution de l'extension.

  • 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 nécessite des données complètes (accès aux données sous-jacentes), l'extension ne pourra pas s'exécuter sur Tableau Online sauf si vous ajoutez explicitement l'extension à la liste sûre et autorisez l'extension à accéder aux données complètes.

Contrôler les extensions de tableau de bord 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 activer le comportement (ou la stratégie) par défaut pour les extensions. Autrement dit, s'il est activé, par défaut, les extensions qui ne figurent pas déjà dans la liste autorisée sont autorisées, à condition qu’elles ne demandent pas de données complètes. Les utilisateurs verront s'afficher des invites demandant l'autorisation d'exécuter ces extensions.

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

  2. Sous Extensions de tableau de bord, sélectionnez Autoriser les utilisateurs à exécuter les extensions sur ce serveur .

  3. Sous Comportement par défaut pour Extensions, sélectionnez Autoriser les extensions inconnues à s'exécuter, en affichant toujours les invites utilisateur et sans accès aux données complètes.

Les administrateurs de site peuvent ajouter des extensions à la liste sûre ou en supprimer. Lorsque vous ajoutez une extension à la liste sûre, vous pouvez contrôler s'il faut autoriser l'extension à accéder aux données complètes. Consultez Ajouter des extensions à la liste sûre et configurer les invites utilisateur.

Identification 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 sûre afin d'autoriser l'accès aux données complètes, ou à la liste bloquée si vous souhaitez interdire tout accès.

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>

				

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 de l'extension, le site Web de l'auteur, ainsi que l'URL de l'extension.

Ajouter des extensions à la liste sûre et configurer les invites utilisateur

Pour être sûr que les utilisateurs utilisent des extensions fiables, vous pouvez les ajouter à la liste sûre pour le site.

Dans la liste sûre, vous pouvez contrôler s'il faut accorder l'accès aux données complètes à l'extension. Vous pouvez également contrôler si les utilisateurs voient ou non une invite leur demandant d'autoriser l'extension à accéder aux données. Si l'extension ne nécessite pas d'accès aux données complètes, vous n'avez pas besoin de l'ajouter à la liste sûre. Par contre, vous souhaiterez peut-être ajouter une extension à la liste sûre pour pouvoir 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 d'une extension.

  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. Dans la plupart des cas, si vous ajoutez une extension à la liste sûre pour qu'elle puisse s'exécuter, 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 sûre, veillez à Tester la sécurité des extensions.

  4. Choisissez d'Afficher ou de Masquer les Invites utilisateur.

    Les utilisateurs voient les invites par défaut lorsqu'ils ajoutent une extension à un tableau de bord, 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.

Tester la sécurité des extensions

Les extensions de tableau de bord sont des applications Web qui interagissent avec les données dans Tableau en utilisant l'API Extensions. Ces extensions contiennent du code JavaScript et peuvent être hébergées sur des sites extérieurs à votre domaine. Pour cette raison, et en raison des vulnérabilités potentielles (par exemple des scripts inter-site), vous devriez tester et valider les extensions de tableau de bord avant que les utilisateurs ne s'en servent dans des tableaux de bord sur Tableau Desktop, et avant d'autoriser des extensions sur Tableau Online.

Examiner les fichiers source

Les extensions de tableau de bord sont des applications Web et incluent divers fichiers HTML, CSS et JavaScript, ainsi qu'un fichier manifest XML manifest (*.trex) qui définit les propriétés de l'extension. Dans de nombreux cas, le code d'une extension de tableau de bord est disponible publiquement sur GitHub et peut être examiné ici 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 de tableau de bord référencent des bibliothèques JavaScript externes, par exemple la bibliothèque jQuery ou les bibliothèques d'API pour les tierces parties. 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 qui peuvent accéder aux noms des tables actives et des champs 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'un tableau de bord. 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 ou non. Si l'extension utilise l'une de ces quatre 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 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 (disponible dans le Référentiel Tableau Extensions API GitHub) 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 de tableau de bord dans un environnement isolé de votre environnement de production et des ordinateurs des utilisateurs. Par exemple, ajoutez une extension de tableau de bord à une liste sûre sur un ordinateur de test ou une machine virtuelle exécutant une version de Tableau Online 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 de tableau de bord, utilisez un outil tel que Fiddler, Charles HTTP proxy ou Wireshark 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.