针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL

可以将 Tableau Server 配置为对所有外部 HTTP 流量使用安全套接字层 (SSL) 加密的通信。设置 SSL 可确保对 Tableau Server 的访问是安全的,并且在服务器和 Tableau 客户端(例如 Tableau Desktop、REST API、分析扩展程序等)之间传递的敏感信息将受到保护。本主题介绍了针对 SSL 配置服务器的步骤;不过,您必须先从受信任的颁发机构获取证书,然后将证书文件导入到 Tableau Server 中。

有关 SSL 和 Tableau Server 的基本入门知识,请参见“适用于每个人的安装指南”中的使用 SSL 对 Tableau Server 通信进行加密(链接在新窗口中打开)

Tableau Mobile 上不支持相互 SSL 身份验证。

SSL 证书要求

从受信任的颁发机构(例如 Verisign、Thawte、Comodo、GoDaddy)获取 Apache SSL 证书。您也可以使用您的公司颁发的内部证书。还支持允许您将 SSL 用于同一个域中多个主机名的通配符证书。

针对往返于 Tableau Server 的外部通信获取 SSL 证书时,请遵循以下准则和要求:

  • 所有证书文件必须是有效的 PEM 编码 X509 证书,扩展名为 .crt

  • 使用 SHA-2(256 位或 512 位)SSL 证书。大多数浏览器都不再连接到提供 SHA-1 证书的服务器。

  • 除了证书文件外,您还必须获取对应的 SSL 证书密钥文件。密钥文件必须是有效的 RSA 或 DSA 私钥文件(按照约定带有 .key 扩展名)。

    您可以选择用密码保护密钥文件。您在配置期间输入的密码将在空闲时加密。但是,如果想要为 SSL 和 SAML 使用相同的证书,则必须使用受密码保护的密钥文件。

  • SSL 证书链文件:Mac 版 Tableau Desktop 以及 Mac 版 Tableau Prep Builder 和 Windows 版 Tableau Prep Builder 需要证书链。如果 Tableau Server 的证书链不受移动设备上的 iOS 或 Android 操作系统信任,则该链文件也是必需的。

    链文件连接构成服务器证书的证书链的所有证书。文件中的所有证书必须为 x509 PEM 编码,文件扩展名必须为 .crt(而不是 .pem)。

  • 对于多个子域,Tableau Server 支持通配符证书。

  • 验证“使用者备用名称 (SAN)”字段中是否包含客户端用于连接到 Tableau Server 的域、主机名或 IP 地址。许多客户端(Tableau Prep,Chrome 和 Firefox 浏览器等)需要在 SAN 字段中输入有效条目才能建立安全连接。

注意:如果打算将 Tableau Server 配置为使用 SAML 进行单点登录,请参见 SAML 要求中的为 SAML 使用 SSL 证书和密钥文件,来帮助确定是否要为 SSL 和 SAML 使用相同的证书文件。

为群集配置 SSL

您可以将 Tableau Server 群集配置为使用 SSL。如果主节点是唯一一个运行网关进程的节点(默认情况下如此),则您只需要在该节点上使用本主题中描述的步骤配置 SSL。

SSL 和多个网关

一个高度可用的 Tableau Server 群集可包括多个网关,它们前面有负载平衡器。如果您要将此类型的群集配置为使用 SSL,则有以下选择:

  • 将负载平衡器配置为使用 SSL:从客户端 Web 浏览器到负载平衡器的流量会经过加密。从负载平衡器到 Tableau Server 网关进程的流量不会经过加密。您不需要在 Tableau Server 配置 SSL。此工作全都由负载平衡器处理。

  • 将 Tableau Server 配置为使用 SSL:从客户端 Web 浏览器到负载平衡器以及从负载平衡器到 Tableau Server 网关进程的流量都会经过加密。有关详细信息,请继续阅读以下部分。

Tableau Server 群集环境的其他配置信息

如果要在运行网关进程的所有 Tableau Server 节点上使用 SSL,请完成以下步骤。

  1. 将外部负载平衡器配置为使用 SSL 传递。

    或者如果要使用 443 之外的端口,您可以配置外部负载平衡器以从客户端终止非标准端口。在这种情况下,您将配置负载平衡器以通过端口 443 连接到 Tableau Server。如果需要帮助,请参阅为负载平衡器提供的文档。

  2. 确保为负载平衡器的主机名颁发了 SSL 证书。

  3. 将初始 Tableau Server 节点配置为使用 SSL。

  4. 如果使用相互 SSL,请上载 SSL CA 证书文件。请参见 tsm authentication mutual-ssl <commands>

在配置过程中,会将 SSL 证书和密钥文件分发到每个节点。

准备环境

从 CA 获取证书文件后,将其保存到 Tableau Server 可访问的位置,并记下证书 .crt 和 .key 文件的名称,以及这些文件的保存位置。启用 SSL 时将需要向 Tableau Server 提供此信息。

在 Tableau Server 上配置 SSL

使用您最熟悉的方法。

  1. 在浏览器中打开 TSM:

    https://<tsm-computer-name>:8850。有关详细信息,请参见登录到 Tableau 服务管理器 Web UI

  2. “配置”选项卡上,选择“安全”>“外部 SSL”

    注意:如果要更新或更改现有配置,请在继续之前单击“重置”清除现有设置。

  3. “外部 Web 服务器 SSL”下,选择“服务器服务器通信启用 SSL”

  4. 上载证书和密钥文件,并在环境需要的情况下上载链文件并输入密码密钥:

    “配置 SSL”屏幕截图

    如果在分布式部署中运行 Tableau Server,则会将这些文件自动分发到群集中的每个相应节点。

  5. 单击“保存未完成的更改”

  6. 单击页面顶部的“待定更改”

  7. 单击“应用更改并重新启动”

将证书文件复制到本地计算机后,运行以下命令:

tsm security external-ssl enable --cert-file <path-to-file.crt> --key-file <path-to-file.key>

tsm pending-changes apply

请参见tsm security external-ssl enable中的命令参考,确定是否要为 external-ssl enable 包括其他选项。Tableau 针对 --protocols 选项提供了特定建议。

external-ssl enable command 将从 .crt 和 .key 文件导入信息。如果在 Tableau Server 群集中的某个节点上运行此命令,它还会将信息分发到任何其他网关节点。

如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply

端口重定向和日志记录

针对 SSL 配置服务器后,该服务器会将请求接受到非 SSL 端口(默认为端口 80)并自动重定向至 SSL 端口 443。

注意:Tableau Server 仅支持使用端口 443 作为安全端口。它不能在有其他应用程序正在使用端口 443 的计算机上运行。

SSL 错误记录在以下位置。使用此日志可解决验证和加密问题:

\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\httpd\error.log

更改或更新 SSL 证书

配置 SSL 后,可能需要定期更新证书。在某些情况下,您可能需要更改证书以在 IT 环境中进行操作更改。在任一情况下,都必须使用 TSM 替换已为外部 SSL 配置的 SSL 证书。

不要将新证书复制到操作系统上的文件目录。相反,当您使用 TSM Web UI 或 tsm security external-ssl enable 命令添加证书时,证书文件将复制到相应的证书存储区。在分布式部署中,也会跨群集中的节点复制证书。

若要更改或更新 SSL 证书(以及相应的密钥文件,如果需要),请按照本主题上一部分在 Tableau Server 上配置 SSL 中的步骤进行操作。

更改证书后,必须运行 tsm pending-changes apply 以重新启动 Tableau Server 服务。我们还建议重新启动计算机上使用 SSL 证书的任何其他服务。如果要在操作系统上更改根证书,则必须重新启动计算机。

感谢您的反馈!