在 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 开始。

  1. 执行以下操作之一以打开添加依赖方信任向导

  2. Windows Server 2008 R2:

    1. 单击“开始”菜单 >“管理工具”>“AD FS 2.0”

    2. “AD FS 2.0”中的“信任关系”下,右键单击“信赖方信任”文件夹,然后单击“添加信赖方信任”

    Windows Server 2012 R2:

    1. 打开“服务器管理器”,然后在“工具”菜单上单击“AD FS 管理”

    2. “AD FS 管理”中的“操作”菜单上,单击“添加信赖方信任”

  3. “添加信赖方信任向导”中,单击“开始”

  4. “选择数据源”页面上,选择“从文件导入有关信赖方的数据”,然后单击“浏览”找到 Tableau Server XML 元数据文件。默认情况下,此文件名为 samlspmetadata.xml

  5. 单击“下一步”,然后在“指定显示名称”页面上的“显示名称”“备注”框中,为信赖方信任键入名称和说明。

  6. 单击“下一步”跳过“立即配置多重身份验证”页面。

  7. 单击“下一步”跳过“选择颁发授权规则”页面。

  8. 单击“下一步”跳过“准备好添加信任”页面。

  9. “完成”页面上,选中“向导关闭时打开此信赖方信任的‘编辑声明规则’对话框”复选框,然后单击“关闭”

接下来,您将在“编辑声明规则”对话框中进行操作,以添加一个规则,来确保 AD FS 发送的断言与 Tableau Server 需要的断言匹配。Tableau Server 至少需要一个电子邮件地址。不过,如果除电子邮件之外还包括名字和姓氏,则可确保 Tableau Server 中显示的用户名与 AD 帐户中的用户名相同。

  1. “编辑声明规则”对话框中,单击“添加规则”

  2. “选择规则类型”页面上,针对“声明规则模板”,选择“以声明方式发送 LDAP 特性”,然后单击“下一步”

  3. “配置声明规则”页面上,针对“声明规则名称”,输入对您有意义的规则名称。

  4. 对于“特性存储”,选择“Active Directory”,按如下所示方式完成映射,然后单击“完成”

  5. 映射区分大小写,并且需要准确的拼写,因此请仔细检查您输入的内容。此处的表显示了常见的属性和声明映射。使用特定的 Active Directory 配置验证属性。

    LDAP 特性传出声明类型
    SAM-Account-Name名称 ID
    SAM-Account-Nameusername
    firstName
    姓氏lastName

如果运行的是 AD FS 2016 或更高版本,则必须添加一个规则以经历所有声明值。如果运行的是早期版本的 AD FS,请跳到下一个过程以导出 AD FS 元数据。

  1. 单击“Add Rule”(添加规则)。
  2. 在“Claim rule template”(声明规则模板)下,选择“Pass Through or Filter an Incoming Claim”(经历或筛选传入声明)。
  3. 在“Claim rule name”(声明规则名称)下,输入“Windows”。
  4. 在“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 要求。

  1. 将 AD FS 联合元数据导出到 XML 文件,然后从 https://<adfs 服务器名称>/federationmetadata/2007-06/FederationMetadata.xml 下载文件。

  2. 在文本编辑器(如 Sublime Text 或 Notepad++)中打开元数据文件,并验证它是否正确编码为无 BOM 的 UTF-8。

    如果文件显示某种其他编码类型,请使用正确的编码从文本编辑器中保存该文件。

  3. 验证 AD FS 是否使用基于表单的身份验证。登录是在浏览器窗口中执行的,因此您需要 AD FS 默认使用这种类型的身份验证。

    编辑 c:\inetpub\adfs\ls\web.config,搜索相关标记并移动行以使其显示为列表中的第一行。保存文件,以便 IIS 能够自动重新加载它。

    注意:如果未看到 c:\inetpub\adfs\ls\web.config 文件,则 AD FS 服务器上未安装和配置 IIS。

  4. (可选)仅当针对特定于站点的 SAML 将 AD FS 配置为 IDP 时,才需要执行此步骤。如果针对服务器范围的 SAML 将 AD FS 配置为 IDP,则不需要此步骤。

    配置其他 AD FS 信赖方标识符。这使得您的系统能够解决 SAML 注销的任何 AD FS 问题。

    执行以下操作之一:

    Windows Server 2008 R2:

    1. AD FS 2.0 中,右键单击您之前为 Tableau Server 创建的信赖方,并单击“属性”

    2. “标识符”选项卡上的“信赖方标识符”框中,输入 https://<tableauservername>/public/sp/metadata,然后单击“添加”

    Windows Server 2012 R2:

    1. “AD FS 管理”“信赖方信任”列表中,右键单击您之前为 Tableau Server 创建的信赖方,并单击“属性”

    2. “标识符”选项卡上的“信赖方标识符”框中,输入 https://<tableauservername>/public/sp/metadata,然后单击“添加”

    注意:对于依赖于同一实例的单一依赖方,AD FS 可与 Tableau Server 结合使用。AD FS 不能用于依赖于同一实例的多个依赖方,例如,多站点 SAML 站点或者服务器范围和站点 SAML 配置。

步骤 4:将 AD FS 元数据提供给 Tableau Server

  1. 返回到 TSM Web UI,并导航到“配置”>“用户身份和访问”>“身份验证方法”选项卡。

  2. 在 SAML 配置窗口的“步骤 4”中,输入从 AD FS 导出的 XML 文件的位置,并选择“上载”

    突出显示了您在其中上载 SAML IDP 元数据的 TSM UI 区域的屏幕快照

  3. 配置服务器范围 SAML中指定的方式完成其余步骤(匹配声明和指定客户端类型访问权限)。

  4. 保存并应用更改。

  5. 如果这不是第一次配置 SAML,请执行以下步骤:

    1. 停止 Tableau Server,打开 TSM CLI,然后运行以下命令:

      tsm configuration set -k wgserver.saml.sha256 -v true

      tsm authentication saml configure -a 7776000

    2. 应用更改:

      tsm pending-changes apply

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

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