在 Tableau Server 上使用 AD FS 配置 SAML
您可以将 Active Directory 联合服务 (AD FS) 配置为 SAML 身份提供程序,并将 Tableau Server 添加到支持的单点登录应用程序。如果将 AD FS 与 SAML 和 Tableau Server 集成,用户可以使用其标准网络凭据登录到 Tableau Server。
先决条件
您的环境必须具有以下各项,然后才能使用 AD FS 配置 Tableau Server 和 SAML:
运行 Microsoft Windows Server 2008 R2(或更高版本)并安装了 AD FS 2.0(或更高版本)及 IIS 的服务器。
我们建议您保护 AD FS 服务器的安全(例如,使用反向代理)。如果可从防火墙外部访问您的 AD FS 服务器,则 Tableau Server 可将用户重定向到 AD FS 托管的登录页面。
使用 SHA-2(256 位或 512 位)加密进行加密,并满足以下部分中列出的其他要求的 SSL 证书:
步骤 1:验证与 AD FS 的 SSL 连接
AD FS 需要 SSL 连接。如果尚未这样做,请使用符合上面指定要求的证书完成针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL中的步骤。
或者,如果 Tableau Server 配置为使用反向代理或 SSL 在其中终止(通常称为 SSL 卸载)的负载平衡器,则您无需配置外部 SSL。
步骤 2:在 Tableau Server 上配置 SAML
通过将 Tableau Server 元数据下载为一个 XML 文件,完成配置服务器范围 SAML中的步骤。此时,返回此处并继续下一部分。
步骤 3:配置 AD FS 以接受来自 Tableau Server 的登录请求
注意:这些步骤反映第三方应用程序,并且会在我方不知道的情况下发生更改。
将 AD FS 配置为接受 Tableau Server 登录请求是一个多步骤过程,此过程从将 Tableau Server XML 元数据文件导入 AD FS 开始。
执行以下操作之一以打开添加依赖方信任向导:
单击“开始”菜单 >“管理工具”>“AD FS 2.0”。
在“AD FS 2.0”中的“信任关系”下,右键单击“信赖方信任”文件夹,然后单击“添加信赖方信任”。
打开“服务器管理器”,然后在“工具”菜单上单击“AD FS 管理”。
在“AD FS 管理”中的“操作”菜单上,单击“添加信赖方信任”。
在“添加信赖方信任向导”中,单击“开始”。
在“选择数据源”页面上,选择“从文件导入有关信赖方的数据”,然后单击“浏览”找到 Tableau Server XML 元数据文件。默认情况下,此文件名为 samlspmetadata.xml。
单击“下一步”,然后在“指定显示名称”页面上的“显示名称”和“备注”框中,为信赖方信任键入名称和说明。
单击“下一步”跳过“立即配置多重身份验证”页面。
单击“下一步”跳过“选择颁发授权规则”页面。
单击“下一步”跳过“准备好添加信任”页面。
在“完成”页面上,选中“向导关闭时打开此信赖方信任的‘编辑声明规则’对话框”复选框,然后单击“关闭”。
Windows Server 2008 R2:
Windows Server 2012 R2:
接下来,您将在“编辑声明规则”对话框中进行操作,以添加一个规则,来确保 AD FS 发送的断言与 Tableau Server 需要的断言匹配。Tableau Server 至少需要一个电子邮件地址。不过,如果除电子邮件之外还包括名字和姓氏,则可确保 Tableau Server 中显示的用户名与 AD 帐户中的用户名相同。
在“编辑声明规则”对话框中,单击“添加规则”。
在“选择规则类型”页面上,针对“声明规则模板”,选择“以声明方式发送 LDAP 特性”,然后单击“下一步”。
在“配置声明规则”页面上,针对“声明规则名称”,输入对您有意义的规则名称。
对于“特性存储”,选择“Active Directory”,按如下所示方式完成映射,然后单击“完成”。
映射区分大小写,并且需要准确的拼写,因此请仔细检查您输入的内容。此处的表显示了常见的属性和声明映射。使用特定的 Active Directory 配置验证属性。
LDAP 特性 | 传出声明类型 |
---|---|
SAM-Account-Name | 名称 ID |
SAM-Account-Name | username |
名 | firstName |
姓氏 | lastName |
如果运行的是 AD FS 2016 或更高版本,则必须添加一个规则以经历所有声明值。如果运行的是早期版本的 AD FS,请跳到下一个过程以导出 AD FS 元数据。
- 单击“Add Rule”(添加规则)。
- 在“Claim rule template”(声明规则模板)下,选择“Pass Through or Filter an Incoming Claim”(经历或筛选传入声明)。
- 在“Claim rule name”(声明规则名称)下,输入“Windows”。
- 在“Edit Rule - Windows”(编辑规则 - Windows)弹出窗口中:
- 在“Incoming claim type”(传入声明类型)下,选择“Windows account name”(Windows 帐户名)。
- 选择“Pass through all claim values”(传递所有声明值)。
- 单击“OK”(确定)。
现在,您将导出稍后将导入到 Tableau Server 的 AD FS 元数据。您还将确保已针对 Tableau Server 对元数据进行了正确配置和编码,并验证 SAML 配置的其他 AD FS 要求。
将 AD FS 联合元数据导出到 XML 文件,然后从 https://<adfs 服务器名称>/federationmetadata/2007-06/FederationMetadata.xml 下载文件。
在文本编辑器(如 Sublime Text 或 Notepad++)中打开元数据文件,并验证它是否正确编码为无 BOM 的 UTF-8。
如果文件显示某种其他编码类型,请使用正确的编码从文本编辑器中保存该文件。
验证 AD FS 是否使用基于表单的身份验证。登录是在浏览器窗口中执行的,因此您需要 AD FS 默认使用这种类型的身份验证。
编辑 c:\inetpub\adfs\ls\web.config,搜索相关标记,并移动行以使其显示为列表中的第一行。保存文件,以便 IIS 能够自动重新加载它。
注意:如果未看到 c:\inetpub\adfs\ls\web.config 文件,则 AD FS 服务器上未安装和配置 IIS。
(可选)仅当针对特定于站点的 SAML 将 AD FS 配置为 IDP 时,才需要执行此步骤。如果针对服务器范围的 SAML 将 AD FS 配置为 IDP,则不需要此步骤。
配置其他 AD FS 信赖方标识符。这使得您的系统能够解决 SAML 注销的任何 AD FS 问题。
执行以下操作之一:
Windows Server 2008 R2:
在 AD FS 2.0 中,右键单击您之前为 Tableau Server 创建的信赖方,并单击“属性”。
在“标识符”选项卡上的“信赖方标识符”框中,输入 https://<tableauservername>/public/sp/metadata,然后单击“添加”。
Windows Server 2012 R2:
在“AD FS 管理”的“信赖方信任”列表中,右键单击您之前为 Tableau Server 创建的信赖方,并单击“属性”。
在“标识符”选项卡上的“信赖方标识符”框中,输入 https://<tableauservername>/public/sp/metadata,然后单击“添加”。
注意:对于依赖于同一实例的单一依赖方,AD FS 可与 Tableau Server 结合使用。AD FS 不能用于依赖于同一实例的多个依赖方,例如,多站点 SAML 站点或者服务器范围和站点 SAML 配置。
步骤 4:将 AD FS 元数据提供给 Tableau Server
返回到 TSM Web UI,并导航到“配置”>“用户身份和访问”>“身份验证方法”选项卡。
在 SAML 配置窗口的“步骤 4”中,输入从 AD FS 导出的 XML 文件的位置,并选择“上载”。
按配置服务器范围 SAML中指定的方式完成其余步骤(匹配声明和指定客户端类型访问权限)。
保存并应用更改。
如果这不是第一次配置 SAML,请执行以下步骤:
停止 Tableau Server,打开 TSM CLI,然后运行以下命令:
tsm configuration set -k wgserver.saml.sha256 -v true
tsm authentication saml configure -a -1
应用更改:
tsm pending-changes apply
如果待定更改需要重新启动服务器,
pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用--ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见tsm pending-changes apply。