扩展程序安全性 - 最佳部署做法
这些最佳做法适用于 IT 人员和管理员、Tableau Server 和站点管理员,以及任何有兴趣在 Tableau 中使用仪表板扩展程序和可视化项扩展程序的人。扩展程序提供了大量机会来扩展和自定义 Tableau 的使用,以满足每个客户的分析需求。此可扩展性应始终包括对其数据和业务安全性的适当考虑。最佳做法面向既有 Tableau Desktop 用户也有 Tableau Server 或 Tableau Cloud 用户的部署。
Tableau 中扩展程序的安全性
扩展程序是扩展仪表板功能或向 Tableau 添加新可视化项的 Web 应用程序。这些解决方案可以由 Tableau 直接处理,也可以完全作为第三方定制服务提供。这些服务可以托管在您自己的网络内,也可以由您网络外部的外部提供商提供。扩展程序与工作簿中的其他组件交互,并为使用 Tableau 分析内容的最终用户创建集成体验。为了提供这种集成体验,扩展程序将访问工作簿中使用的可见摘要数据。在特定配置下,他们还可以根据需要访问工作簿中的基础数据。此访问和交互级别由 TableauExtension API 启用,该 API 作为 Tableau 平台的一部分进行设计和提供支持。
Tableau 支持两种扩展程序标准:
Tableau 可信扩展程序
为了支持扩展程序在其社区中的广泛使用,Tableau 管理服务以帮助提供扩展程序以供大规模使用。这些扩展程序可由 Tableau 直接作为平台功能构建和维护,也可以由 Salesforce 或 Tableau 合作伙伴开发人员构建和维护,他们与 Tableau 的产品团队密切合作,通过 Tableau Exchange 共同部署解决方案以供广泛的社区使用。Tableau 可信扩展程序始终托管在 Tableau 基础设施上,由 Tableau 产品和开发团队管理和治理。Tableau 会在部署或更新每个扩展程序之前对其进行测试和审查。Tableau 有严格的要求,只允许用户客户端和访问受控的 Tableau 扩展程序主机之间的通信。通过此设计,Tableau 可以提供有关对其社区有用的常见扩展程序需求的标准。为了达到此标准,Tableau 采用了不同的解决方案来实现这一目标:

沙盒化扩展程序
Tableau 托管沙盒化扩展程序,这些扩展程序在专门配置为消除数据泄露风险的受保护环境中运行。
已阻止 Tableau 沙盒化扩展程序主机访问 Web 上的任何其他资源或服务。沙盒化扩展程序可以使用 Extensions API 查询工作簿中的数据,但不能将该数据发送到沙盒以外的任何位置。查询结果位于客户端计算机上(在浏览器中),无法发送到任何地方。受限访问可确保只有 Tableau 员工才能管理对沙盒化扩展程序的所有更新,并且只有他们可以访问此扩展程序主机。沙盒化扩展程序环境和托管服务已由第三方顾问进行了渗透测试。默认情况下已启用沙盒化扩展程序以供使用,并已启用以供 Tableau Public 使用。
Tableau 构建的扩展程序
Tableau 构建的扩展程序由 Tableau 托管。具体而言,这些扩展程序由 Tableau 开发团队作为平台功能构建和维护。与 Tableau 构建的其他功能一样,Tableau 构建的扩展程序也遵循 Salesforce SDLC 标准。这些扩展程序设计为将 JavaScript 传递给客户端计算机。这将使客户端能够呈现和处理扩展程序。这些功能由 Tableau 团队直接提供支持,并通过相同的 Tableau 可信主机基础设施进行部署。默认情况下,Tableau 构建的扩展程序已启用以供使用,并已启用以供 Tableau Public 使用。
可信合作伙伴构建的扩展程序(选择加入)
可信合作伙伴构建的扩展程序由第三方合作伙伴开发人员开发,但由 Tableau 审查和托管。通过管理合作伙伴开发人员(其中许多人也是长期的社区领导者)的部署,这些新解决方案可以由 Tableau 和第三方 Tableau Exchange 合作伙伴联合交付。在部署用于生产用途之前,Tableau 会对每个第三方解决方案(以及每个更新)进行测试。这包括功能和网络通信测试,以及自动代码扫描以查找要解决的漏洞。与其他 Tableau 可信扩展程序一样,这些扩展程序只允许用户客户端和 Tableau 主机之间进行通信。对主机的直接访问受到控制,并且仅限 Tableau 员工访问。虽然 Tableau 无法直接对这些第三方解决方案进行更改或应用修复,但服务的正常运行时间和可用性由 Tableau 管控。可信合作伙伴构建的扩展程序需要管理员启用它们以供使用,但通常是推荐使用的,并且已启用以供 Tableau Public 使用。
支持网络的扩展程序
支持网络的扩展程序是不受 Tableau 管理的扩展程序。它们可托管在位于本地网络内部或外部 Web 服务器上,并具有对 Web 的完全访问权限。这使得支持网络的扩展程序能够满足 Tableau 标准之外的更具体的集成需求或自定义部署目标。支持网络的扩展程序可以与其他应用程序和服务连接,为 Tableau 提供新的集成功能。这包括非 Tableau 自然语言生成或对写回场景的支持。支持网络的扩展程序具有对 Web 的完全访问权限,这意味着,它们可以通过连接到外部资源来提供丰富的功能和体验。但是,由于它们可能与其他服务通信,并且不受 Tableau 管理,因此我们鼓励您在大规模部署或采用之前评估支持网络的扩展程序。
本地部署的支持网络的扩展程序
扩展程序可以支持部署灵活性,例如在本地网络中本地运行扩展程序。这对于具有无网络连接要求的部署或更喜欢管理自己的扩展程序的组织特别有用。例如,内部开发人员可以构建满足特定部署需求的自定义扩展程序。支持网络的扩展程序支持自行部署的目标。由于这些本地扩展程序在非 Tableau 主机上运行,并有自己的自定义版本定义,因此我们鼓励您与开发人员合作,适当地规划如何在部署中为用户管理此内部扩展程序资源和相关流程。根据设计,支持网络的扩展程序架构允许对 Web 的完全访问;因此,客户有责任制定自己的审查流程,以确保扩展程序仅与允许的 Web 资源通信,并具有适当的网络安全保护措施来防范风险。支持网络的本地扩展程序必须先由 Tableau 管理员添加到部署扩展程序允许列表,然后才能使用。Tableau Public 中不使用这些本地解决方案。
第三方提供商管理的支持网络的扩展程序
支持网络的扩展程序体系结构还允许由可信第三方提供商提供扩展程序,例如直接由您已与之建立正式供应商关系的 Tableau 合作伙伴提供。在这些情况下,非由 Tableau 管理的支持网络的扩展程序允许提供商提供直接的生产支持或自定义服务。如果以可信的方式处理,这可以简化和扩展信誉良好的提供商支持的 Tableau 自定义项。我们建议客户直接与第三方提供商合作,以更全面地了解提供商的开发实践、扩展程序代码设计和安全性如何满足其内部准则。这些支持网络的扩展程序必须先由 Tableau 管理员添加到部署扩展程序允许列表,然后才能使用。在极少数情况下,这些解决方案能够在 Tableau Public 中作为社区目标的唯一例外使用。
支持网络的扩展程序的风险注意事项
由于扩展程序是 Web 应用程序,因此支持网络的扩展程序可能容易受到某些类型的恶意攻击,进而可能会给计算机或数据带来风险。开放式 Web 应用程序安全项目(链接在新窗口中打开) (OWASP) 每年会确定最严重的 Web 应用程序安全风险。这些风险包括以下各项:
- SQL 注入
- 跨站点脚本 (XSS)
- 敏感数据泄露
如果扩展程序的开发人员未正确验证和处理用户输入,或者他们生成动态查询来访问敏感数据库,则这些风险可能会损害扩展程序。在评估您希望允许在 Tableau 中使用的扩展程序时,请务必考虑他们如何管理身份验证、数据访问或用户输入,以及它们如何降低安全风险。
缓解支持网络的扩展程序的安全威胁
了解扩展程序的第一步是确定企业风险。通常,仪表板或可视化项扩展程序不会访问工作簿中的基础数据,并且所有 JavaScript 代码都在用户计算机上运行的浏览器的上下文中运行。在这些情况下,即使扩展程序可能驻留在域外部的第三方站点上,数据也不会离开计算机。某些扩展程序允许您将 Tableau 与已在域中部署的其他应用程序连接。
Tableau 提供了适用于扩展程序的安全措施和安全要求。将为 Tableau Desktop、Tableau Server 和 Tableau Cloud 启用这些要求。
- 所有扩展程序都必须使用 HTTP 安全 (HTTPS) 协议。
- 默认情况下,系统会提示使用带有支持网络的扩展程序的仪表板的任何用户,并要求允许扩展程序运行权限。如果扩展程序访问基础数据,则它必须请求权限。
- 若要在 Tableau Server 或 Tableau Cloud 上运行,必须将支持网络的扩展程序的 URL 添加到安全列表。服务器管理员管理 Tableau Server 的此列表;站点管理员管理 Tableau Cloud 的此列表。
- 在 Tableau Server 和 Tableau Cloud 上,服务器或站点管理员可以(分别)控制是否为每个支持网络的扩展程序显示提示。
有关详细信息,请参见在 Tableau Server 中管理仪表板扩展程序和可视化项扩展程序。
使用 Tableau 管理扩展程序
扩展程序提供了一种向仪表板添加独特功能和向工作表添加新可视化项的方法。您可以使用扩展程序将仪表板与 Tableau 外部的应用程序直接集成。尽管扩展打开了一个充满可能性的世界,但在某些情况下,您需要或者希望对在公司或企业中部署扩展程序的方式进行控制。在这方面,扩展程序与您打算使用的任何其他软件并无不同。在公司中部署软件应用程序之前,您应进行全面测试,并验证软件是否按预期方式工作而且是安全的。扩展程序也是如此。
首先,确定您的用户应该拥有什么级别的访问权限,并确定您想要使用的扩展程序(或者相反,您不想使用的扩展程序)。然后使用 Tableau 中的控件和功能来限制和管理用户可以访问的仪表板和可视化项扩展程序。
- 是否需要限制谁可以在 Tableau Desktop 中添加或使用扩展程序?请参见针对 Tableau Desktop 的建议
- 是否需要限制或控制用户有权访问的扩展程序?请参见针对 Tableau Server 和 Tableau Cloud 的建议。
针对 Tableau Desktop 的建议
您有一系列用于在公司中部署 Tableau Desktop 的选项。您可以允许对扩展程序的无限制访问,也可以限制谁可以访问扩展程序,以及在什么情况下可以访问。
默认情况下,Tableau Desktop 用户可以不受限制地访问 Tableau 可信扩展程序和支持网络的扩展程序。Tableau 提供了五个选项,可在安装过程中以任何排列方式使用这些选项来更改默认设置。
- 关闭所有扩展程序 (
DISABLEEXTENSIONS) - 关闭支持网络的扩展程序 (
DISABLENETWORKEXTENSIONS)。 - 关闭沙盒化扩展程序 (
DISABLESANDBOXEXTENSIONS)。 - 关闭 Tableau 构建的扩展程序 (
DISABLETABTRUSTEDEXTENSIONS)。 - 关闭可信合作伙伴构建的扩展程序 (
DISABLE3PTRUSTEDEXTENSIONS)。
注意:您可以在安装 Tableau Desktop 通过编辑注册表 (Windows) 或在每个桌面上运行脚本 (Mac) 来更改这些设置。请参见禁用仪表板扩展程序。
部署方案示例
使用安装设置,您可以通过多种方式部署 Tableau Desktop。
允许所有扩展程序 - 在此部署方案中,您可以选择信任 Tableau 作者选择要使用的 Tableau 可信扩展程序和支持网络的扩展程序。如果要使 Tableau Desktop 用户具有最大的灵活性,请使用默认安装设置。使用默认设置,Tableau Desktop 用户可以不受限制地访问 Tableau 可信扩展程序和支持网络的扩展程序。默认设置为:
DISABLEEXTENSIONS=0和DISABLENETWORKEXTENSIONS=0。 请参见通过命令行安装 Tableau Desktop。仅允许 Tableau 可信扩展程序 - 在此方案中,您委托 Tableau 扩展程序服务适当审查、部署和整理供广泛社区使用的扩展程序,但您不确定支持网络的扩展程序的情况,并且希望此时阻止其使用。若要关闭对支持网络的扩展程序的支持,请设置
DISABLENETWORKEXTENSIONS属性 (DISABLENETWORKEXTENSIONS=1)。保留用于启用扩展程序的默认设置 (DISABLEEXTENSIONS=0)。请参见通过命令行安装 Tableau Desktop。仅允许沙盒化扩展程序 - 在此方案中,您可能以前使用过沙盒化扩展程序,并且认为它们可以安全使用,
但您尚未准备好更新策略以更广泛地使用 Tableau 构建的扩展程序和可信合作伙伴构建的扩展程序;您也不想更改策略以允许支持网络的扩展程序。您只想允许按原样使用沙盒化扩展程序,并希望防止它们使用所有其他形式的 Tableau 可信扩展程序和支持网络的扩展程序。若要关闭对支持网络的扩展程序、Tableau 构建的扩展程序和可信合作伙伴构建的扩展程序的支持,请设置DISABLENETWORKEXTENSIONS属性 (DISABLENETWORKEXTENSIONS=1)、DISABLETABTRUSTEDEXTENSIONS属性 (DISABLETABTRUSTEDEXTENSIONS=1)、DISABLE3PTRUSTEDEXTENSIONS属性 (DISABLE3PTRUSTEDEXTENSIONS=1)。保留用于启用扩展程序的默认设置 (DISABLEEXTENSIONS=0)。请参见通过命令行安装 Tableau Desktop。不允许使用扩展程序 - 在此方案中,您不希望允许用户使用任何类型的扩展程序。在这种情况下,通过使用
DISABLEEXTENSIONS属性 (DISABLEEXTENSIONS=1) 关闭对所有扩展程序的支持。请参见通过命令行安装 Tableau Desktop。
使用设置的组合- 您可能有一些用户需要并且应该不受限制地访问所有扩展程序,而其他用户对沙盒化扩展程序的访问就足够了,最后是一组根本不需要访问扩展程序的用户。由于扩展程序选项是按桌面设置的,因此您可以为特定用户及其用例配置部署。
Web 制作 - 如果 Tableau Server 或 Tableau Cloud 可供用户使用,他们可以使用 Web 制作来访问扩展程序。在 Web 制作中,将应用扩展程序的服务器或站点设置。在这种情况下,服务器和站点管理员可以确定允许用户访问哪些扩展程序。这是根据服务器和站点扩展程序设置进行管理的,其中包括 Tableau 可信扩展程序选项和支持网络的显式扩展程序的扩展程序允许列表。

针对 Tableau Server 和 Tableau Cloud 的建议
如果用户可以访问 Tableau Server 或 Tableau Cloud,则可以使用内置的安全控件来对可使用的扩展程序以及在哪些情况下使用进行限制。如果已在 Tableau Desktop 上禁用了扩展程序,您仍然可以允许用户在 Web 制作中添加扩展程度,但可以将可使用的扩展程序数量限制为您批准运行的扩展程序。

在允许列表上允许 Tableau 可信扩展程序和支持网络的扩展程序
从 Tableau 2025.3 开始,默认情况下 Tableau 允许运行某些 Tableau 可信扩展程序。这意味着沙盒化扩展程序和 Tableau 构建的扩展程序将提升以供使用,而可信合作伙伴构建的扩展程序可由管理员启用。虽然我们鼓励使用所有 Tableau 可信扩展程序,就像我们对 Tableau Public 这样的环境所做的那样,但我们最终认为管理员必须定义与其部署相关的策略。
除非已将支持网络的扩展程序添加到安全列表,否则不允许使用它们。管理员可以编辑设置并将支持网络的扩展程序添加到站点的允许列表(“设置”>“扩展程序”>“启用特定扩展程序”)。
注意:若要在 Tableau 2018.2 和 Tableau 2018.3 中默认为扩展程序使用安全列表,您必须更改站点的设置。在“扩展程序设置”页面上的“扩展程序默认行为”下,清除“启用未知扩展程序...”选项。在 Tableau Server 2019.1、Tableau 2019.2 和 Tableau 2019.3 中,默认情况下,除非已将扩展程序添加到安全列表中,否则不允许运行任何扩展程序。
安全列表检查清单:
- 扩展程序是否来自您知道并信任的来源?
- 检查扩展程序的 URL。URL 看上去是否可疑或包含可疑的域名?
- 扩展程序是否需要访问完整数据(基础数据)或摘要数据?请参见了解数据访问。
- 在允许广泛使用之前测试扩展程序。请参见“测试扩展程序的安全性”。请参见测试支持网络的扩展程序以保障安全性。
将扩展程序添加到安全列表。
阻止特定扩展程序在 Tableau Server 上运行
在 Tableau Server 上,可以通过将其 URL 添加到阻止列表来阻止特定扩展程序。如果有多个以不同方式针对扩展程序配置的站点,这将非常有用。举例来说,如果有一个您希望在其中测试内部或第三方扩展程序的测试站点,则可能已启用了扩展程序的默认行为,在默认行为中,允许未列出的扩展程序运行,前提是它们不访问工作簿中的基础数据。将扩展程序添加到阻止列表可以防止在测试站点上意外使用该扩展程序。
- 将不想允许的扩展程序的 URL 添加到阻止列表。此选项仅在 Tableau Server 上可用。请参见阻止特定扩展程序。
针对站点禁用扩展程序
默认情况下,扩展程序在 Tableau Server 和 Tableau Cloud 上已启用。在 Tableau Server 上,服务器管理员可以为站点禁用扩展程序。在 Tableau Cloud 上,站点管理员可以为站点禁用扩展程序。在 Tableau Server 上,服务器管理员可以完全禁用扩展程序,从而覆盖站点设置。您不应在服务器上或为站点更改此设置,因为您可以控制要在安全列表中允许的支持网络的扩展程序。您还可以控制 Tableau 可信扩展程序的设置,其中默认允许沙盒化扩展程序和 Tableau 构建的扩展程序。
- 若要在站点上禁用扩展程序(Tableau Server、Tableau Cloud),请更改允许用户在站点上运行扩展程序的站点设置。请参见控制扩展程序的使用。
显示或隐藏运行支持网络的扩展程序的用户提示
将支持网络的扩展程序添加到安全列表时,您可以配置当用户将扩展程序添加到仪表板或者与包含扩展程序的视图交互时,默认情况下是否会看到提示。提示告知用户有关支持网络的扩展程序的详细信息以及该扩展程序是否能访问完整数据。用户可以利用提示来允许或拒绝扩展程序运行。您可以向用户隐藏提示,从而允许扩展程序立即运行。如果为站点启用,则默认情况下允许沙盒化扩展程序,并且不会提示用户。
关闭所有或部分 Tableau 可信扩展程序
从 Tableau 2025.3 开始,Tableau 默认允许一些 Tableau 可信扩展程序在 Tableau Server 和 Tableau Cloud 上运行。沙盒化扩展程序和 Tableau 构建的扩展程序会提升以供使用,而可信合作伙伴构建的扩展程序可由管理员启用。沙盒化扩展程序在受保护的环境中运行,并由 Tableau 托管。Tableau 构建的扩展程序由 Tableau 开发和维护,并由 Tableau 托管。可信合作伙伴构建的扩展程序由第三方合作伙伴开发人员开发和维护,但其解决方案和更新由 Tableau 审查和托管,以确定其可用性和规模。
管理员可以控制是否允许用户在站点上运行所有、部分或不运行 Tableau 可信扩展程序。无需将可信扩展程序添加到允许列表中。如果允许 Tableau 可信扩展程序,用户能够随意将 Tableau 可信扩展程序添加到工作簿,并能够打开和使用包含 Tableau 可信扩展程序的仪表板。如果您需要阻止 Tableau 可信扩展程序,请联系 Tableau 询问要添加到服务器阻止列表中的具体扩展程序 URL。
服务器管理员可将任何扩展程序添加到其部署全局阻止列表中。如果需要完全关闭 Tableau 可信扩展程序,您可以更改站点的默认设置。如果更改 Tableau 可信扩展程序的默认设置,则仅允许运行允许列表中的扩展程序)。
