配置特定于站点的 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 相关的服务器范围设置

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

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

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

username:必填。除了服务器范围的 SAML 配置属性外,站点特定的 SAML 配置属性必须设置为“username”。

注意:要使特定于站点的 SAML 使用服务器范围的 SAML 默认值成功运行,使用 wgserver.saml.idpattribute.username 配置键为服务器范围的 SAML 配置的 username 属性必须为“username”。用于服务器范围 SAML 的 IdP 必须在名为“username”的属性中提供用户名。

HTTP POST 和 HTTP REDIRECT:对于特定于站点的 SAML,Tableau Server 支持 HTTP-POST、HTTP-REDIRECT 和 HTTP-POST-SimpleSign。

将服务器配置为支持特定于站点的 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 设置页面的“身份验证”选项卡上出现的配置步骤。在自托管式 Tableau Server 安装中,只有当在服务器级别启用了特定于站点的 SAML 支持时,此页面才会出现。

注意:若要完成此过程,您还将需要 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 Cloud 和 Tableau Server 中相同。

步骤 2 和步骤 3:外部步骤

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

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

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

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

注意:如果编辑配置,您将需要上载元数据文件,以便 Tableau 知道使用正确的 IdP 实体 ID 和 SSO 服务 URL。

步骤 5:匹配属性

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

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

  • 显示名称:(可选)某些 IdP 为名和姓使用单独的属性,而另一些则将全名存储在一个属性中。如果您将 SAML 与本地身份验证结合使用,则显示名称属性不会与 SAML IdP 同步。

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

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

步骤 6:管理用户

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

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

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

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

步骤 7:疑难解答

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

感谢您的反馈!您的反馈已成功提交。谢谢!