配置特定于站点的 SAML

当您要启用单点登录,并且还使用多个 SAML 身份提供程序 (IdP) 或 IdP 应用程序时,请在多站点环境中使用特定于站点的 SAML。启用站点 SAML 时,您可以为每个站点指定 IdP 或 IdP 应用程序,或者将某些站点配置为使用 SAML,而将其他站点配置为使用默认服务器范围身份验证方法。

如果希望所有服务器用户都使用 SAML 并通过同一个 IdP 应用程序登录,请参见配置服务器范围 SAML

启用特定于站点的 SAML 的先决条件

在站点级别启用 SAML 单点登录之前,请满足以下要求:

  • 必须针对本地身份存储配置 Tableau Server 身份存储。

     如果 Tableau Server 配置为使用外部身份存储(例如 Active Directory 或 OpenLDAP),则无法配置特定于站点的 SAML。

  • 确保您的环境和您的 IdP 符合一般的SAML 要求

    某些功能仅在服务器范围 SAML 部署中受支持,包括但不限于:

    • 特定于站点的 SAML 部署不支持受密码保护的密钥文件。
  • 在配置特定于站点的 SAML 之前,您必须配置服务器范围的 SAML。您不需要启用服务器范围的 SAML,但特定于站点的 SAML 需要服务器范围的配置。请参见配置服务器范围 SAML

  • 请记下 SAML 证书文件的位置。在将服务器配置为支持特定于站点的 SAML时,您将提供此位置。

    有关详细信息,请参阅关于配置服务器范围 SAML 的主题中的将元数据和证书文件放在适当位置

  • Tableau Server 作为服务提供程序添加到 IdP。您可以在 IdP 提供的文档中找到此信息。

  • 确认托管特定于站点的 SAML IdP 的计算机和托管 Tableau Server 的计算机的系统时钟彼此相差不超过 59 秒。Tableau Serer 没有用于调整 Tableau Server 计算机和 IdP 之间的响应偏移(时间差异)的选项。

与特定于站点的 SAML 相关的服务器范围设置

在用于配置特定于站点的 SAML 的设置中,Tableau 基于这些设置提供特定于站点的返回 URL 和实体 ID。无法修改特定于站点的返回 URL 和实体 ID。这些配置由 SAML 设置,如配置服务器范围 SAML中所述。

服务器范围的设置、最长身份验证期限和响应偏移不适用于特定于站点的 SAML。这些配置是硬编码的:

  • 最长身份验证期限是指来自 IdP 的身份验证令牌在发出后的有效期。特定于站点的 SAML 的硬编码最长身份验证期限为 24 天。
  • 响应偏移是 Tableau Server 时间与仍允许处理消息的断言创建时间(基于 IdP 服务器时间)相差的最大秒数。此设置特定于站点的硬编码值为 59 秒。

将服务器配置为支持特定于站点的 SAML

满足上述先决条件后,可以运行以下命令以将服务器配置为支持特定于站点的 SAML。

  1. 配置服务器范围 SAML。至少必须运行以下 TSM 命令(如果已经配置了服务器范围 SAML,请跳至步骤 2):

    tsm authentication saml configure --idp-entity-id <tableau-server-entity-id> --idp-return-url <tableau-server-return-url> --cert-file <path-to-saml-certificate.crt> --key-file <path-to-saml-keyfile.key>

  2. 启用站点 SAML。运行以下命令:

    tsm authentication sitesaml enable

    tsm pending-changes apply

关于命令

sitesaml enable 命令会在 Tableau Server Web UI 中的每个站点的“设置”页面上显示“身份验证”选项卡。将服务器配置为支持站点 SAML 后,您可以继续为站点配置 SAML,以完成“身份验证”选项卡上的设置。

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

如果希望检查运行 pending-changes apply 时将执行的命令和设置,则可以先运行以下命令:

tsm pending-changes list --config-only

为站点配置 SAML

此部分将引导您完成在 Tableau Server web UI 的“身份验证”页面上出现的配置步骤。在自托管式 Tableau Server 安装中,只有当在服务器级别启用了特定于站点的 SAML 支持时,此页面才会出现。Tableau Online 中已默认启用该支持。

注意:若要完成此过程,您还将需要 IdP 提供的文档。请查找那些介绍如何为 SAML 连接配置或定义服务提供程序或者添加应用程序的主题。

步骤 1:从 Tableau 中导出元数据

要在 Tableau Server 与您的 IdP 之间创建 SAML 连接,需要在这两项服务之间交换必需的元数据。要从 Tableau Server 中获取元数据,请执行以下任一步骤:请参见 IdP 的 SAML 配置文档来确认正确的选项。

  • 选择“导出元数据”,以下载一个包含 Tableau Server SAML 实体 ID、声明使用者服务 (ACS) URL 和 X.509 证书的 XML 文件。

    实体 ID 特定于站点,并且基于您在服务器上启用 SAML 时指定的服务器范围实体 ID。例如,如果指定了 https://tableau_server,则可能会看到站点的以下实体 ID:

    https://tableau_server/samlservice/public/sp/metadata?alias=48957410-9396-430a-967c-75bdb6e002a0

    您无法修改特定于站点的实体 ID 或 Tableau 生成的 ACS URL。

  • 如果您的 IdP 期望以另一种方式获得所需的信息,请选择“下载签名和加密证书”。举例来说,它希望您在将临的位置中输入 Tableau Server 实体 ID、ACS URL 和 X.509 证书。

    下图经过编辑,显示出这些设置在 Tableau Online 和 Tableau Server 中相同。

步骤 2 和 3:外部步骤

对于步骤 2,若要导入您在步骤 1 中导出的元数据,请登录您的 IdP 帐户,然后按照 IdP 的文档提供的说明来提交 Tableau Server 元数据。

对于步骤 3,IdP 的文档将也可在如何向服务提供程序提供元数据方面为您提供指导。它将指示您下载元数据文件,或者将显示 XML 代码。如果它显示 XML 代码,请将代码复制并粘贴到一个新文本文件中,并使用 .xml 扩展名保存文件。

步骤 4:将 IdP 元数据导入 Tableau 站点

Tableau Server 中的“身份验证”页面上,导入您从 IdP 下载或通过它提供的 XML 手动配置的元数据文件。

步骤 5:匹配属性

属性包含有关用户的身份验证、授权和其他信息。在“身份提供程序 (IdP) 断言名称”列中,提供包含 Tableau Server 所需信息的属性。

  • 用户名或电子邮件:(必填)输入存储用户姓名或电子邮件地址的属性的名称。

  • 显示名称:(可选但建议使用)某些 IdP 为名和姓使用单独的属性,而另一些则将全名存储在一个属性中。

    选择对您的 IdP 存储名称的方式对应的按钮。举例来说,如果 IdP 将名和姓合并在一个属性中,请选择“显示名称”,然后输入属性名称。

    为 Tableau Server 配置站点 SAML 的步骤 5 的屏幕快照 - 匹配属性

步骤 6:管理用户

选择现有的 Tableau Server 用户,或者添加您想批准其进行单点登录的新用户。

在添加或导入用户时,还要指定用户的身份验证类型。在“用户”页面上,可以在添加用户后随时更改用户的身份验证类型。

有关详细信息,请参见向站点添加用户导入用户以及针对 SAML 设置用户身份验证类型

重要信息:使用特定于站点的 SAML 进行身份验证的用户只能属于一个站点。如果用户需要访问多个站点,请将其身份验证类型设置为服务器默认值。根据服务器管理员配置特定于站点的 SAML 的方式,服务器默认值为本地身份验证或服务器范围 SAML。

步骤 7:疑难解答

首先执行“身份验证”页面上建议的疑难解答步骤。如果这些步骤无法解决问题,请参见 SAML 疑难解答

感谢您的反馈!