扩展程序安全性 - 最佳部署做法
以下信息适用于 IT 人员和管理员、Tableau Server 和站点管理员,以及对管理仪表板和可视化项扩展程序和其数据和业务安全性感兴趣的任何人。部署相关建议面向既有 Tableau Desktop 用户也有 Tableau Server 或 Tableau Cloud 用户的公司。
Tableau 中扩展程序的安全性
扩展程序是可以驻留在网络内部、第三方服务器外部或 Tableau 托管的安全沙盒化环境中的 Web 应用程序。扩展程序可与仪表板中的其他组件交互,并且可能有权访问工作簿中的可见数据和基础数据(通过明确定义的 API)。Tableau 支持两种类型的扩展程序:
支持网络的扩展程序
支持网络的扩展程序托管在位于本地网络内部或外部的 Web 服务器上,并具有对 Web 的完全访问权限。支持网络的扩展程序可以与其他应用程序和服务连接。支持网络的扩展程序为 Tableau 提供了新功能,例如新类型的数据可视化项、自然语言生成以及对写回场景的支持。支持网络的扩展程序具有对 Web 的完全访问权限,这意味着,虽然它们可以通过连接到外部资源来提供丰富的功能和体验,但应在部署或采用之前对它们进行评估。
沙盒化扩展程序
沙盒化扩展程序在受保护的环境中运行,无法访问 Web 上的任何其他资源或服务。沙盒化扩展程序由 Tableau 托管,可提供最大的安全性,并可以消除数据泄露的风险。为了防止网络攻击,沙盒化扩展程序环境和托管服务已由第三方顾问进行了广泛的渗透测试。
您可以在 Tableau Desktop、Tableau Server 和 Tableau Cloud 中使用沙盒化扩展程序和支持网络的扩展程序。Tableau Server 和 Tableau Cloud 可最大程度地控制用户可运行的扩展程序。
支持网络的扩展程序的潜在安全风险
由于扩展程序是 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 用户可以不受限制地访问沙盒化扩展程序和支持网络的扩展程序。您可以在安装过程中使用两个选项来更改默认设置。
- 关闭所有扩展程序 (
DISABLEEXTENSIONS
) - 关闭支持网络的扩展程序 (
DISABLENETWORKEXTENSIONS
)。
注意:您可以在安装 Tableau Desktop 通过编辑注册表 (Windows) 或在每个桌面上运行脚本 (Mac) 来更改这些设置。请参见禁用仪表板扩展程序。
部署方案
使用安装设置,您可以通过多种方式部署 Tableau Desktop。
允许所有扩展程序 - 在此部署方案中,您可以选择信任 Tableau 作者选择要使用的沙盒化扩展程序和支持网络的扩展程序。如果要使 Tableau Desktop 用户具有最大的灵活性,请使用默认安装设置。使用默认设置,Tableau Desktop 用户可以不受限制地访问沙盒化扩展程序和支持网络的扩展程序。默认设置为:
DISABLEEXTENSIONS=0
和DISABLENETWORKEXTENSIONS=0
。 请参见通过命令行安装 Tableau Desktop。仅允许沙盒化扩展程序 - 在此方案中,您知道沙盒化扩展程序是安全的,并且希望允许它们,但您不确定支持网络的扩展程序的情况,并且希望阻止其使用。若要关闭对支持网络的扩展程序的支持,请设置
DISABLENETWORKEXTENSIONS
属性 (DISABLENETWORKEXTENSIONS=1
)。保留用于启用扩展程序的默认设置 (DISABLEEXTENSIONS=0
)。请参见通过命令行安装 Tableau Desktop。不允许使用扩展程序 - 在这种情况下,您不希望允许用户使用任一类型:支持网络的扩展程序或沙盒化扩展程序。在这种情况下,通过使用
DISABLEEXTENSIONS
属性 (DISABLEEXTENSIONS=1
) 关闭对所有扩展程序的支持。请参见通过命令行安装 Tableau Desktop。
使用设置的组合- 您可能有一些用户需要并且应该不受限制地访问所有扩展程序,而其他用户对沙盒化扩展程序的访问就足够了,最后是一组根本不需要访问扩展程序的用户。由于扩展程序选项是按桌面设置的,因此您可以为特定用户及其用例配置部署。
Web 制作 - 如果 Tableau Server 或 Tableau Cloud 可供用户使用,他们可以使用 Web 制作来访问扩展程序。在 Web 制作中,将应用扩展程序的服务器或站点设置。在这种情况下,服务器和站点管理员可以确定允许用户访问哪些扩展程序。管理员可以使用服务器和站点设置仅限制对沙盒化扩展程序的访问,或限制对已添加到安全列表的沙盒化扩展程序和支持网络的扩展程序的访问。
针对 Tableau Server 和 Tableau Cloud 的建议
如果用户可以访问 Tableau Server 或 Tableau Cloud,则可以使用内置的安全控件来对可使用的扩展程序以及在哪些情况下使用进行限制。如果已在 Tableau Desktop 上禁用了扩展程序,您仍然可以允许用户在 Web 制作中添加扩展程度,但可以将可使用的扩展程序数量限制为您批准的扩展程序。
在安全列表上信任沙盒化扩展程序和支持网络的扩展程序
从 Tableau 2019.4 开始,默认情况下只允许运行沙盒化扩展程序。除非已将支持网络的扩展程序添加到安全列表,否则不允许使用它们。管理员可以将支持网络的扩展程序添加到站点的设置页面(“设置”>“扩展程序”>“启用特定扩展程序”)。
注意:若要在 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 Server、Tableau Cloud),请更改允许用户在站点上运行扩展程序的站点设置。请参见控制扩展程序和对数据的访问。
显示或隐藏运行支持网络的扩展程序的用户提示
将支持网络的扩展程序添加到安全列表时,您可以配置当用户将扩展程序添加到仪表板或者与包含扩展程序的视图交互时,默认情况下是否会看到提示。提示告知用户有关支持网络的扩展程序的详细信息以及该扩展程序是否能访问完整数据。用户可以利用提示来允许或拒绝扩展程序运行。您可以向用户隐藏提示,从而允许扩展程序立即运行。如果为站点启用,则默认情况下允许沙盒化扩展程序,并且不会提示用户。
关闭沙盒化扩展程序
从 Tableau 2019.4 开始,默认情况下为 Tableau Server 和 Tableau Cloud 启用沙盒化扩展程序。沙盒化扩展程序在受保护的环境中运行,并由 Tableau 托管。管理员可以控制是否允许用户在站点上运行沙盒化扩展程序。无需将沙盒化扩展程序添加到安全列表中。如果允许沙盒化扩展程序,用户能够随意将沙盒化扩展程序添加到仪表板,并能够打开和使用包含沙盒化扩展程序的仪表板。如果需要阻止沙盒化扩展程序,服务器管理员可以将沙盒化扩展程序添加到全局阻止列表中。如果需要完全关闭沙盒化扩展程序,您可以更改站点的默认设置。如果更改沙盒化扩展程序的默认设置,则仅允许运行安全列表中的扩展程序(包括沙盒化扩展程序)。