在 Tableau Server 中管理仪表板扩展程序和可视化项扩展程序
Tableau 扩展程序是 Web 应用程序,可帮助扩展 Tableau 工作簿中提供的分析功能。扩展程序可无缝集成,从而使用 Tableau Extensions API(链接在新窗口中打开) 与 Tableau 工作簿的其他部分进行交互。
仪表板扩展程序在自定义仪表板区域中运行,并可与仪表板的其他部分交互。仪表板扩展程序使用户能够直接在 Tableau 中与其他应用程序交互。可视化项扩展程序在工作表中运行,并使用户能够使用自定义可视化项类型。Tableau 用户可以将仪表板扩展程序作为仪表板对象来访问,并通过工作表“标记”卡访问可视化项扩展程序。
注意:服务器管理员能够在服务器上启用仪表板扩展程序和可视化项扩展程序,或阻止特定扩展程序运行。管理员可以将扩展程序添加到允许列表,以及控制扩展程序可访问的数据类型。服务器管理员还可配置站点上的用户在添加或查看扩展程序时是否将看到提示。此外,服务器管理员还可以阻止在所有站点中使用特定扩展程序。有关扩展程序安全性和推荐部署选项的信息,请参见扩展程序安全性 - 最佳部署做法(链接在新窗口中打开)
有关在 Tableau 中使用仪表板扩展程序的信息,请参见使用仪表板扩展程序。
有关使用可视化项扩展程序的信息,请参见将可视化项扩展程序添加到您的工作表。
期望使用 Tableau Cloud?请参见在 Tableau Cloud 中管理仪表板扩展程序(链接在新窗口中打开)。 (链接在新窗口中打开)
在 Tableau Server 上运行扩展程序之前
扩展程序是一个开放平台,但通常有两个标准需要考虑:
Tableau 可信扩展程序,即经过专门审查并在 Tableau 托管主机上部署的扩展程序。这些扩展程序包括由 Tableau 构建和管理的解决方案;由 Tableau Exchange 合作伙伴构建的解决方案(使用 Tableau 审查和主机服务进行部署),以及在我们的旧版沙盒化扩展程序的受保护环境中托管的解决方案。
支持网络的扩展程序,即托管在任何第三方主机上的扩展程序。当开发人员选择在没有 Tableau 参与的情况下管理其扩展程序的交付时,支持网络的扩展程序可能很有用。这包括合作伙伴为提供更好的生产支持而直接管理的扩展程序;在您自己的本地网络中托管和部署的扩展程序,或需要与 Tableau 外部的第三方服务通信的扩展程序。支持网络的扩展程序具有对 Web 的完全访问权限。
注意:Tableau 通过 Einstein Discovery 仪表板扩展程序支持与 SalesforceEinstein Discovery 集成。这是一个特殊的扩展程序,可以访问 Salesforce.com 中的数据,并且默认情况下是允许的。它不被视为支持网络的扩展程序或沙盒化扩展程序。有关 Einstein Discovery 集成的详细信息,请参见Tableau Server 发行说明(链接在新窗口中打开)。
Tableau 可信扩展程序
从 2025.3 开始,Tableau 可信扩展程序表示 Tableau Exchange 中已提升为可使用的扩展程序的子集。可信扩展程序托管在 Tableau 主机上,并且是限制用户客户端和 Tableau 之间的通信所必需的。这些扩展程序已经过网络通信测试,并在部署前扫描了漏洞。此扩展程序标准用于提供更受管控的扩展程序访问。此标准包括:
- 沙盒化扩展程序由 Tableau 托管,并采用诸如内容安全策略 (CSP) 等 W3C 标准,以确保扩展程序无法在Tableau 沙盒主机之外进行网络调用。沙盒化扩展程序可以查询数据,但沙盒环境显式阻止在其他地方传输该数据。Tableau 2019.4 及更高版本中支持沙盒化扩展程序。默认情况下,如果为站点启用了扩展程序,则允许运行沙盒化扩展程序。
Tableau 构建的扩展程序是由 Tableau 开发团队开发并积极维护的解决方案。Tableau 构建的扩展程序被明确设计为将通信定向到用户客户端,而不是查询用户数据。按照设计,这限制了数据泄露和数据保留的风险。Tableau 构建的扩展程序还符合 Salesforce 软件开发生命周期 (SDLC) 标准。默认情况下,如果为站点启用了扩展程序,则允许运行 Tableau 构建的扩展程序。
可信合作伙伴构建的扩展程序是由认可的 Tableau 和 Salesforce 合作伙伴开发并积极维护的解决方案,这些合作伙伴为 Tableau Exchange 做出了贡献。在将这些第三方解决方案部署为 Tableau 可信扩展程序之前,Tableau 开发人员会通过手动测试对其进行验证。Tableau 开发人员在将扩展程序部署到专用 Tableau 主机之前,会对扩展程序进行功能和网络通信测试并自动扫描代码。可以启用可信合作伙伴构建的扩展程序以供 Tableau 管理员使用。
支持网络的扩展程序
支持网络的扩展程序是 Web 应用程序,可在任何设置为 Web 服务器上的计算机上运行。其中包括本地计算机、域中的计算机以及第三方 Web 服务。由于支持网络的扩展程序可托管在第三方服务器上,并且可访问工作簿中的数据,因此您需要仅允许信任的扩展程序。请参见测试支持网络的扩展程序以保障安全性。
默认扩展程序设置
管理员可以使用 Tableau Server 上扩展程序的设置来控制和限制允许运行的扩展程序。
默认情况下,除非显式禁用,否则扩展程序将启用运行。这可由服务器管理员跨所有站点进行管理,或者可由站点管理员为任何给定站点禁用。
我们建议允许使用 Tableau 可信扩展程序。默认情况下,如果为站点启用了扩展程序,则沙盒化扩展程序和 Tableau 构建的扩展程序将启用运行;管理员可以启用可信合作伙伴构建的扩展程序。
默认情况下,除非已显式将扩展程序添加到安全列表,否则不允许使用支持网络的扩展程序。只允许使用 HTTPS 协议的扩展程序,该协议可保障一条用于发送和接收数据的加密通道(唯一的例外情况是
http://localhost)。某些扩展程序需要完整数据权限(访问基础数据)。除非您显式将扩展程序添加到允许列表,并授予扩展程序访问完整数据的权限,否则这些扩展程序无法在 Tableau Server 上运行。
控制扩展程序的使用
服务器管理员可控制一个全局设置,以允许服务器上所有站点的扩展程序。服务器管理员还可将扩展程序(包括沙盒化扩展程序)放在一个全局阻止列表上以防止它们运行(请参见阻止特定扩展程序)。默认情况下,服务器上已启用所有沙盒化扩展程序,但站点管理员可以选择覆盖默认值,并为站点禁止沙盒化扩展程序。
在服务器上更改启用扩展程序的全局设置
若要为服务器更改此设置,请转到“管理所有站点”>“设置”>“扩展程序”。如果服务器只有一个站点,则全局控制将出现在站点的设置页面上。
在“仪表板扩展程序和可视化项扩展程序”下,选中或清除“允许扩展程序在此服务器上运行”复选框。如果未选中此选项,则不允许运行扩展程序。此全局设置将覆盖每个站点的“允许扩展程序在此站点上运行”设置。
更改站点的默认设置
服务器管理员可控制是否为该站点启用扩展程序,以及是否允许在该站点上使用 Tableau 可信扩展程序。也就是说,如果在服务器上启用了扩展程序,则默认站点设置允许在站点上使用沙盒化扩展程序和 Tableau 构建的扩展程序,前提是未在服务器上明确阻止这些扩展程序。默认站点设置允许支持网络的扩展程序在站点的允许列表中注册后运行。可以将任何扩展程序显式添加到允许列表,从而允许该扩展程序在站点上使用。
若要为站点更改这些设置,请转到“设置”>“扩展程序”。
在“仪表板扩展程序和可视化项扩展程序”下,配置以下选项:
- 允许扩展程序在此站点上运行
- 允许可信扩展程序在此站点上运行
服务器管理员可在站点的安全列表中添加或移除扩展程序。将扩展程序添加到允许列表时,您可以配置允许扩展程序拥有完整数据访问权限(如果需要)的权限。请参见将扩展程序添加到允许列表并配置扩展程序。
使用允许列表
使用允许列表以允许特定扩展程序在站点上运行。允许列表主要用于支持网络的扩展程序。与 Tableau 可信扩展程序(由已知 Tableau 主机提供并允许默认运行)不同,除非已显式将支持网络的扩展程序添加到允许列表,否则不允许使用这些扩展程序。允许列表还允许您控制是否要求用户授予权限以允许扩展程序运行,以及扩展程序是否有权访问工作簿中的完整数据(基础数据)。
默认情况下,允许运行 Tableau 可信扩展程序,其中包括沙盒化扩展程序和 Tableau 构建的扩展程序。除非默认设置已更改,并且不再允许这些扩展程序,否则您不需要将它们添加到允许列表。这同样适用于可信合作伙伴构建的扩展程序,如果允许,则无需将它们显式添加到允许列表。
标识扩展程序的 URL
作为 Web 应用程序,扩展程序与 URL 关联。您可以使用此 URL 来测试和验证扩展程序。您还使用 URL 将扩展程序添加到允许列表以允许完整数据访问权限,或将扩展程序添加到阻止列表来禁止任何访问。
若要允许支持网络的扩展程序或其他扩展程序,您需要找到扩展程序的 URL,然后将该 URL 添加到允许列表。将 URL 添加到允许列表即表示您批准了与 Web 应用程序的通信。有几种方法可以确定扩展程序的 URL。
从 Tableau Exchange 中
使用从 Tableau Exchange 下载的扩展程序时,您可以在 Exchange 列表页面上找到该扩展程序的 URL。打开扩展程序的图块,在“技术规格”下,查找标题“托管于”下的 URL。

从清单文件中
如果有扩展程序清单文件 (.trex),即一个定义扩展程序属性的 XML 文件,您可以从 <source-location> 元素中找到 URL。如果使用 Web 浏览器从 Tableau Exchange 下载扩展程序,则可以检索清单文件。在文本编辑器中打开清单文件。
<source-location>
<url>https://www.example.com/myExtension.html</url>
</source-location>
使用“关于”对话框识别仪表板扩展程序
对于仪表板扩展程序,您可以从仪表板扩展程序上下文菜单中的扩展程序属性中找到 URL。从“更多选项”菜单中,单击“关于”。

“关于”对话框列出扩展程序的名称、作者、作者的网站,以及扩展程序的 URL。

将扩展程序添加到允许列表并配置扩展程序
若要允许用户访问支持网络的扩展程序,请将扩展程序添加到站点的允许列表。默认情况下,当您向允许列表添加扩展程序时,该扩展程序仅有权访问摘要(或聚合)数据。您还可以控制用户是否会看到请求他们允许扩展程序访问数据的提示。您可能会只是为了配置用户是否看到提示而需要将扩展程序添加到允许列表(例如,沙盒化扩展程序)。当您向用户隐藏提示时,扩展程序可立即运行。
转到“设置”>“扩展程序”。
在“启用特定扩展程序”下,添加扩展程序的 URL。请参见标识扩展程序的 URL。
提示:您可以使用句点和星号 (
.*) 作为 URL 中的通配符,以允许特定域或位置中的所有扩展程序。例如,若要允许 example.com 下使用端口 8080 的域中的所有扩展程序,您可以添加以下 URL:https://example.com:8080/.*。有关详细信息,请参见在安全列表 URL 中使用正则表达式。选择以允许或拒绝扩展程序完整数据访问权限。
完整数据访问权限是指访问视图中基础数据的权限,而不仅仅是访问汇总或聚合数据的权限。完整数据访问权限还包括有关其数据源的信息,例如连接、字段和表的名称。通常,如果您要将要使用的扩展程序添加到安全列表中,您还希望允许该扩展程序访问完整数据(如果该扩展程序需要)。在将扩展程序添加到允许列表之前,一定要测试支持网络的扩展程序以保障安全性。
选择以显示或隐藏用户提示。
默认情况下,当用户向仪表板添加仪表板扩展程序或向工作表添加可视化项扩展程序时,或者当他们与具有扩展程序的视图进行交互时,会看到提示。提示告知用户有关扩展程序的详细信息以及扩展程序是否能访问完整数据。用户可以利用提示来允许或拒绝扩展程序运行。您可以向用户隐藏提示,从而允许扩展程序立即运行。
阻止特定扩展程序
默认全局策略允许在 Tableau 中使用扩展程序。默认情况下,允许运行沙盒化扩展程序和 Tableau 构建的扩展程序。允许站点启用可信合作伙伴构建的扩展程序,以及出现在允许列表中的任何支持网络的扩展程序。服务器管理员可通过将特定扩展程序添加到服务器的阻止列表来阻止这些扩展程序运行。如果扩展程序位于全局阻止列表上,则会覆盖站点允许列表上该扩展程序的任何设置。
若要将扩展程序添加到服务器的阻止列表,请转到“管理所有站点”>“设置”>“扩展程序”。在单站点安装上,阻止列表位于站点的“扩展程序”设置页面上。
在“阻止特定扩展程序”下,添加扩展程序的 URL。请参见标识扩展程序的 URL。
在安全列表 URL 中使用正则表达式
一般情况下,将扩展程序添加到安全列表时,应该使用该扩展程序的具体 URL。但是,有时您可能希望允许从同一域和位置托管多个扩展程序。在这种情况下,在 URL 中使用通配符会很方便。扩展程序设置支持使用正则表达式。
| 正则表达式 | 描述 |
. | 句点 (.) 是用于匹配任何字符的通配符。如果您需要在 URL 中指定句点 (.) 而不是通配符,则可以使用反斜杠 (\.) 对字符进行转义。 |
* | 星号 (*) 是指定前一个字符的一个或多个实例的限定符。 |
使用通配符时要小心,以免使允许列表过于宽松,并无意中允许不应有访问权限的扩展程序进行访问。
下表显示了在 URL 中使用正则表达式的一些示例。请注意,这些示例未显示扩展程序的协议和完整 URL。仅允许使用 HTTPS 协议的扩展程序(http://localhost 除外)。
| 若要指定... | 示例 | 指定 |
| 域范围 | .*\.example.com | example.com 下的所有子域。 |
| 所有端口 | example.com:.* | 允许扩展程序从 example.com 上的所有端口访问。 |
| 域、端口和路径下的所有扩展程序 | example.com:8080/xyz/.* | 域 example.com 下所有使用端口 8080 且位于 zyz 的扩展程序都被允许访问。 |
| 一系列域的所有端口 | .*\.example.com:.* | 允许访问 example.com 下所有子域上的所有端口上的扩展程序。 |
| 域和路径下与该模式匹配的所有扩展程序 | example.com/t.c/.* | 允许访问在 example.com 上与模式 t.c 匹配的文件夹下运行的扩展程序例如,tic、tac、toc。 |
测试支持网络的扩展程序以保障安全性
扩展程序是使用 Extensions API 与 Tableau 中的数据进行交互的 Web 应用程序。如果您选择允许未由 Tableau 直接审查和管理的支持网络的扩展程序,则用户应该知道,这些扩展程序可以进行网络调用并可以访问 Internet 上的资源。Tableau 建议在推出支持网络的扩展程序以供广泛采用之前对其进行测试和了解。
检查源文件
扩展程序包括各种 HTML、CSS 和 JavaScript 文件,以及一个定义扩展程序属性的 XML 清单文件 (*.trex)。审查支持网络的扩展程序时,我们建议直接联系扩展程序开发人员以获取访问权限和审查权限。Tableau 不分发或提供对其他开发人员源文件的访问权限。
如果扩展程序的代码在 GitHub 上公开提供,可在该处进行检查或下载。在清单文件 (*.trex) 中,您可以找到源位置(或指明扩展程序托管位置的 URL)、作者姓名,以及可联系以寻求支持的作者或公司网站。<source-location> 元素指定 URL,<author> 元素指定可联系以寻求支持的组织名称和网站 (website="SUPPORT_URL")。网站是用户在仪表板扩展程序的“关于”对话框中看到的“获取支持”链接。
扩展程序引用外部 JavaScript 库,如第三方的 jQuery 库或 API 库。验证外部库的 URL 是否指向库的受信任位置。例如,如果扩展程序引用 jQuery 库,请确保该库在一个被认为标准和安全的网站上。
所有扩展程序都需要使用 HTTPS 协议 (https://) 来托管其扩展程序。您应检查扩展程序的源文件,确保对外部库的引用也使用 HTTPS 或者托管在扩展程序所在的同一网站上。如果扩展程序托管在 Tableau 所在的同一计算机 (http://localhost) 上,则无需使用 HTTPS。
尽可能确保了解代码的作用。尤其是,试着了解代码如何构建至外部站点的请求,以及请求中发送了什么信息。特别是,请检查任何用户提供的数据是否经过验证以防止跨站点脚本。
了解数据访问
Tableau 扩展程序主要处理工作表或仪表板中呈现的摘要聚合数据。但是,Tableau Extensions API 提供了在扩展程序声明需要完整数据访问权限时可访问基础数据的方法。这些方法可访问数据源中活动表和字段的名称、数据源连接的摘要描述,以及工作表中的基础数据。如果扩展程序在视图中使用任何这些方法,扩展程序开发者必须在清单文件 (.trex) 中声明扩展程序需要完整数据权限。声明如下所示。
<permissions>
<permission>full data</permission>
</permissions>Tableau 使用此声明在运行时向用户提供提示,使用户能够选择是否允许此访问权限。如果扩展程序使用这些方法的其中任何一种,则在清单文件中未声明完整数据权限的情况下,扩展程序将会加载,但方法调用将失败。
有关扩展程序如何访问仪表板中的数据以及所使用的 JavaScript 方法的信息,请参见 Tableau Extensions API 中的访问基础数据(链接在新窗口中打开)。为了更好地了解扩展程序可找出哪些数据相关信息,您可以使用 DataSources(链接在新窗口中打开) 示例仪表板扩展程序(可从 Tableau Extensions API GitHub 存储库(链接在新窗口中打开)获得)来查看在调用 getDataSourcesAsync() 方法时公开了哪些数据。
在隔离环境中测试扩展程序
如有可能,Tableau 建议在与您的生产环境和用户计算机隔离的环境中测试扩展程序。例如,在所运行的 Tableau Server 版本并非用于生产的测试计算机或虚拟机上,将仪表板扩展程序或可视化项扩展程序添加到允许列表。
监视仪表板扩展程序创建的流量
若要评估支持网络的扩展程序所使用的潜在网络调用,请使用 Web 调试工具(如 Fiddler(链接在新窗口中打开)、Charles HTTP 代理(链接在新窗口中打开)或 Wireshark(链接在新窗口中打开))来检查扩展程序发出的请求和响应。确保您了解扩展程序所请求的内容。检查流量以确保扩展程序不读取与扩展程序的用途不直接相关的数据或代码。
