针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL
可以将 Tableau Server 配置为对所有外部 HTTP 流量使用安全套接字层 (SSL) 加密的通信。设置 SSL 可确保对 Tableau Server 的访问是安全的,并且在服务器和 Tableau 客户端(例如 Tableau Desktop、REST API、分析扩展程序等)之间传递的敏感信息将受到保护。本主题介绍了针对 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 使用相同的证书,则必须使用未受密码保护的密钥文件。
重要信息:如果您的密钥文件受密码保护,您必须验证您正在运行的 Tableau Server 版本是否支持相关的加密算法。Tableau Server 使用 OpenSSL 打开受密码保护的密钥文件。截至 2023 年 8 月,Tableau Server 的最新版本(2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 及更高版本)运行 OpenSSL 3.1。Tableau Server 的早期版本运行 OpenSSL 1.1。许多加密算法已停用,OpenSSL 3.1 不再支持它们。如果您在仍在运行 OpenSSL 1.1 的旧版 Tableau Server 上使用受密码保护的密钥文件,请在升级到最新版本的 Tableau Server 之前查看以下知识库文章:升级到 Tableau Server 2022.1.17 后,使用带有密码的外部 SSL 保护密钥文件时,网关和 Prep Conductor 无法启动(链接在新窗口中打开)。
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,请完成以下步骤。
将外部负载平衡器配置为使用 SSL 传递。
或者如果要使用 443 之外的端口,您可以配置外部负载平衡器以从客户端终止非标准端口。在这种情况下,您将配置负载平衡器以通过端口 443 连接到 Tableau Server。如果需要帮助,请参阅为负载平衡器提供的文档。
确保为负载平衡器的主机名颁发了 SSL 证书。
将初始 Tableau Server 节点配置为使用 SSL。
如果使用相互 SSL,请上载 SSL CA 证书文件。请参见
tsm authentication mutual-ssl <commands>
。
在配置过程中,会将 SSL 证书和密钥文件分发到每个节点。
准备环境
从 CA 获取证书文件后,将其保存到 Tableau Server 可访问的位置,并记下证书 .crt 和 .key 文件的名称,以及这些文件的保存位置。启用 SSL 时将需要向 Tableau Server 提供此信息。
在 Tableau Server 上配置 SSL
使用您最熟悉的方法。
在浏览器中打开 TSM:
https://<tsm-computer-name>:8850。有关详细信息,请参见登录到 Tableau 服务管理器 Web UI。
在“配置”选项卡上,选择“安全”>“外部 SSL”。
注意:如果要更新或更改现有配置,请在继续之前单击“重置”清除现有设置。
在“外部 Web 服务器 SSL”下,选择“服务器服务器通信启用 SSL”。
上载证书和密钥文件,并在环境需要的情况下上载链文件并输入密码密钥:
如果在分布式部署中运行 Tableau Server,则会将这些文件自动分发到群集中的每个相应节点。
单击“保存未完成的更改”。
单击页面顶部的“待定更改”:
单击“应用更改并重新启动”。
将证书文件复制到本地计算机后,运行以下命令:
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 错误记录在以下位置。使用此日志可解决验证和加密问题:
/var/opt/tableau/tableau_server/data/tabsvc/logs/httpd/error.log
向本地防火墙添加 SSL 端口
如果您正在运行本地防火墙,则必须将 SSL 端口添加至 Tableau Server 上的防火墙。以下示例描述了如何配置在 RHEL/CentOS 发行版上运行的防火墙。此示例使用 Firewalld,它是 CentOS 上的默认防火墙。
启动 firewalld:
sudo systemctl start firewalld
为 SSL 添加端口 443:
sudo firewall-cmd --permanent --add-port=443/tcp
重新加载防火墙并验证设置:
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
更改或更新 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 证书的任何其他服务。如果要在操作系统上更改根证书,则必须重新启动计算机。