配置服务器范围 SAML
在希望 Tableau Server 上的所有单点登录 (SSO) 用户通过单一 SAML 身份提供程序 (IdP) 进行身份验证时配置服务器范围 SAML,或作为第一步在多站点环境中配置特定于站点的 SAML。
如果配置了服务器范围 SAML 并已准备好配置站点,请参见配置特定于站点的 SAML。
我们提供的 SAML 配置步骤假设:
开始之前
作为灾难恢复计划的一部分,我们建议将证书和 IdP 文件的备份保留在 Tableau Server 外的安全位置。您上传到 Tableau Server 的 SAML 资产文件将由客户端文件服务存储并分发到其他节点。但是,这些文件不会以可恢复格式存储。请参见Tableau Server 客户端文件服务。
注意:如果为 SSL 使用相同的证书文件,您可以选择使用现有证书位置用于配置 SAML,并在此过程中稍后下载 IdP 元数据文件时将其添加到该目录。有关详细信息,请参见 SAML 要求中的为 SAML 使用 SSL 证书和密钥文件。
如果在群集中运行 Tableau Server,则在启用 SAML 时,将跨各个节点上自动分发 SAML 证书、密钥和元数据文件。
此过程要求您将 SAML 证书上载到 TSM,以便在服务器配置中正确存储和分发这些证书。在此过程中,运行 TSM Web 界面的本地计算机上的浏览器必须能够使用 SAML 文件。
如果已经按照上一节中建议的方式将收集并将 SAML 文件保存到 Tableau Server,请从在其中复制文件的 Tableau Server 计算机中运行 TSM Web 界面。
如果您正从其他计算机运行 TSM Web 界面,则需要在继续之前以本地方式复制所有 SAML 文件。在进行下面的过程时,浏览到本地计算机上的文件以将它们上载到 TSM。
在浏览器中打开 TSM:
https://<tsm-computer-name>:8850。有关详细信息,请参见登录到 Tableau 服务管理器 Web UI。
在“配置”选项卡上,选择“用户身份和访问”,然后选择“身份验证方法”选项卡。
对于“身份验证方法”,选择“SAML”。
在出现的“SAML”部分,完成 GUI 中的步骤 1,同时输入以下设置(还不要选中复选框来为服务器启用 SAML)。
Tableau Server 返回 URL - Tableau Server 用户将访问的 URL,例如 https://tableau-server。
不支持使用 https://localhost 或结尾有斜杠的 URL(例如,http://tableau_server/)。
SAML 实体 ID — 向 IdP 唯一标识您的 Tableau Server 安装的实体 ID。
可以在此处再次输入您的 Tableau Server URL。如果打算稍后启用特定于站点的 SAML,此 URL 还充当每个站点的唯一 ID 的基础。
SAML 证书和密钥文件 — 单击“选择文件”上载其中每个文件。
如果使用 PKCS#8 密码保护的密钥文件,则必须使用 TSM CLI 输入密码:
tsm configuration set -k wgserver.saml.key.passphrase -v <passphrase>
在提供了 GUI 中的步骤 1 所需的信息之后,GUI 中的步骤 2 的“下载 XML 元数据文件”按钮将变为可用。
现在选中 GUI 中的步骤 1 上方的“为服务器启用 SAML 身份验证”复选框。
完成其余 SAML 设置。
对于 GUI 中的步骤 2 和步骤 3,在 Tableau Server 和 IdP 之间交换元数据。(您可能需要在此处查阅 IdP 的文档。)
选择“下载 XML 元数据文件”,并指定文件位置。
对于其他 IdP,转到您的 IdP 帐户,以将 Tableau Server 添加到其应用程序(作为服务提供程序),并根据情况提供 Tableau 元数据。
按照 IdP 的网站或文档中的说明进行操作,下载 IdP 的元数据。将 .xml 文件保存到包含 SAML 证书和密钥文件的同一位置。例如:
/var/opt/tableau/tableau_server/data/saml/idp-metadata.xml
返回到 TSM Web UI。对于 GUI 中的步骤 4,输入 IdP 元数据文件的路径,然后单击“选择文件”。
对于 GUI 中的步骤 5:在某些情况下,您可能需要更改 Tableau Server 配置中的断言值,以匹配 IdP 传递的断言名称。
您可以在 IdP 的 SAML 配置中找到断言名称。如果从 IdP 传递了不同的断言名称,则您必须更新 Tableau Server 以使用同一断言值。
提示:“断言”是关键 SAML 组件,而映射断言的概念起初可能难以捉摸。将这一概念放在表格式数据的上下文中可能有所帮助,在该上下文中,断言(属性)名称相当于表中的列标题。您输入该“标题”名称,而不是可能出现在该列中的值的示例。
对于 GUI 中的步骤 6,选择要在其中为用户提供单点登录体验的 Tableau 应用程序。
注意:运行 Tableau Mobile 应用版本 19.225.1731 及更高版本的设备会忽略用于禁用移动访问的选项。若要为运行这些版本的设备禁用 SAML,请在 Tableau Server 上禁用 SAML 作为客户端登录选项。
对于 SAML 注销重定向,如果 IdP 支持单点注销 (SLO),请输入希望在用户注销后将其重定向到的页面(相对于您为 Tableau Server 返回 URL 输入的路径)。
(可选)对于 GUI 中的第 7 步,请执行以下操作:
为
AuthNContextClassRef
属性添加逗号分隔值。有关如何使用此属性的详细信息,请参见SAML 兼容性注意事项和要求。如果不将域作为用户名的一部分发送,则指定域属性(即,
domain\username
)。有关详细信息,请参见 运行多个域时。
输入配置信息后,单击“保存待处理的更改”。
单击页面顶部的“待定更改”:
单击“应用更改并重新启动”。
开始之前
在开始之前,请执行以下操作:
转到 IdP 的网站或应用程序,并导出 IdP 的元数据 XML 文件。
确认您从 IdP 获得的元数据 XML 是否包括绑定设置为
HTTP-POST
的 SingleSignOnService 元素,如以下示例中所示:<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://SERVER-NAME:9031/idp/SSO.saml2"/>
收集证书文件并将其放在 Tableau Server 上。
在 Tableau Server 文件夹中,创建一个名为 SAML 的新文件夹,并将 SAML 证书文件的副本放在该文件夹中。例如:
/var/opt/tableau/tableau_server/data/saml
步骤 1:配置返回 URL、SAML 实体 Id,并指定证书和密钥文件
打开命令提示符 shell,并为服务器配置 SAML 设置(将占位符值替换为您的环境路径和文件名)。
tsm authentication saml configure --idp-entity-id https://tableau-server --idp-metadata /var/opt/tableau/tableau_server/data/saml/<metadata-file.xml> --idp-return-url https://tableau-server --cert-file /var/opt/tableau/tableau_server/data/saml/<file.crt> --key-file /var/opt/tableau/tableau_server/data/saml/<file.key>
有关详细信息,请参见
tsm authentication saml configure
。如果使用通过密码保护的 PKCS#8 密钥,请按如下方式输入密码:
tsm configuration set -k wgserver.saml.key.passphrase -v <passphrase>
如果尚未在 Tableau Server 上启用 SAML;例如,您是第一次配置它,或者您已经禁用它,请立即启用它:
tsm authentication saml enable
应用更改:
tsm pending-changes apply
如果待定更改需要重新启动服务器,
pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用--ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见tsm pending-changes apply。
步骤 2:生成 Tableau Server 元数据并配置 IdP
运行以下命令为 Tableau Server 生成所需的 XML 元数据文件。
tsm authentication saml export-metadata -f <file-name.xml>
您可以指定一个文件名,或者省略
-f
参数来创建一个名为samlmetadata.xml
的默认文件。在您的 IdP 网站上或在其应用程序中:
添加 Tableau Server 作为服务提供程序。
有关如何执行此操作的信息,请参阅 IdP 的文档。在将 Tableau Server 配置为服务提供程序的过程中,您将导入通过
export-metadata
命令生成的 Tableau Server 元数据文件。确认您的 IdP 使用 username 作为属性来验证用户。
步骤 3:匹配断言
在某些情况下,您可能需要更改 Tableau Server 配置中的断言值,以匹配 IdP 传递的断言名称。
您可以在 IdP 的 SAML 配置中找到断言名称。如果从 IdP 传递了不同的断言名称,则您必须更新 Tableau Server 以使用同一断言值。
提示:“断言”是关键 SAML 组件,而映射断言的概念起初可能难以捉摸。将这一概念放在表格式数据的上下文中可能有所帮助,在该上下文中,断言(属性)名称相当于表中的列标题。您输入该“标题”名称,而不是可能出现在该列中的值的示例。
下表显示默认断言值以及存储该值的配置键。
断言 | 默认值 | 键 |
---|---|---|
Username | username | wgserver.saml.idpattribute.username |
Display name | displayName | Tableau 不支持此属性类型。 |
email | Tableau 不支持此属性类型。 | |
Domain | (默认情况下未映射) | wgserver.saml.idpattribute.domain |
若要更改给定值,请使用相应的键值对运行 tsm configuration set
命令。
例如,若要将 username
断言更改为值 name
,请运行以下命令:
tsm configuration set -k wgserver.saml.idpattribute.username -v name
tsm pending-changes apply
或者,您可以使用 tsm authentication saml map-assertions
命令更改给定值。
例如,若要将域断言设置为名为 domain
的值,并将其值指定为“example.myco.com”,请运行以下命令:
tsm authentication saml map-assertions --domain example.myco.com
tsm pending-changes apply
可选:禁止客户端类型使用 SAML
默认情况下,Tableau Desktop 和 Tableau Mobile 应用均允许 SAML 身份验证。
如果您的 IdP 不支持此功能,您可以使用以下命令为 Tableau 客户端禁用 SAML 登录。
tsm authentication saml configure --desktop-access disable
tsm authentication saml configure --mobile-access disable
注意:运行 Tableau Mobile 应用版本 19.225.1731 及更高版本的设备会忽略 --mobile-access disable
选项。若要为运行这些版本的设备禁用 SAML,请在 Tableau Server 上禁用 SAML 作为客户端登录选项。
tsm pending-changes apply
可选:添加 AuthNContextClassRef 值
为 AuthNContextClassRef
属性添加逗号分隔值。有关如何使用此属性的详细信息,请参见SAML 兼容性注意事项和要求。
若要设置此属性,请运行以下命令:
tsm configuration set -k wgserver.saml.authcontexts -v <value>
tsm pending-changes apply
测试配置
在 Web 浏览器中,打开一个新页面或标签,并输入 Tableau Server URL。
浏览器会将您重定向到 IdP 的登录表单。
输入您的单点登录用户名和密码。
IdP 将验证您的凭据,并将您重定向回 Tableau Server 开始页面。