内容:

配置外部 SSL

  • 版本 :2022.1 及更高版本

本主题介绍了针对 SSL 配置服务器的步骤;不过,您必须先从受信任的颁发机构获取证书,然后将证书文件导入到 Tableau Server 中。

可以将 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

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

准备环境

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

在 Tableau Server 上配置 SSL

使用您最熟悉的方法。

  1. 在浏览器中打开 TSM:

    https://

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

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

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

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

    “配置 SSL”屏幕截图

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

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

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

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

端口重定向和日志记录

针对 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 上的默认防火墙。

  1. 启动 firewalld:

    sudo systemctl start firewalld

  2. 为 SSL 添加端口 443:

    sudo firewall-cmd --permanent --add-port=443/tcp

  3. 重新加载防火墙并验证设置:

    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 证书的任何其他服务。如果要在操作系统上更改根证书,则必须重新启动计算机。