使用 AD FS 配置 SAML

您可以将 Active Directory 联合服务 (AD FS) 配置为 SAML 身份提供程序,并将 Tableau Cloud 添加到支持的单点登录应用程序。如果将 AD FS 与 SAML 和 Tableau Cloud 集成,用户可以使用其标准网络凭据登录到 Tableau Cloud

注意: 

  • 这些步骤反映第三方应用程序,并且会在我方不知道的情况下发生更改。如果此处描述的步骤与您在您的 IdP 帐户中看到的屏幕不符,您可以使用一般 SAML 配置步骤,以及 IdP 的文档。
  • 自 2022 年 2 月起,Tableau Cloud 要求通过 SAML SSO 身份提供程序 (IdP) 进行多重身份验证 (MFA)。
  • IdP 中的配置步骤的顺序可能与您在 Tableau Cloud 中看到的顺序不同。

先决条件

您的环境必须具有以下各项,然后才能使用 AD FS 配置 Tableau Cloud 和 SAML:

  • 运行 Microsoft Windows Server 2008 R2(或更高版本)并安装了 AD FS 2.0(或更高版本)及 IIS 的服务器。

  • 我们建议您保护 AD FS 服务器的安全(例如,使用反向代理)。如果可从防火墙外部访问您的 AD FS 服务器,则 Tableau Cloud 可将用户重定向到 AD FS 托管的登录页面。

  • 使用带有 MFA 的 Tableau 身份验证的站点管理员帐户。如果 SAML 单点登录失败,您仍然能够以站点管理员身份登录到 Tableau Cloud

步骤 1:开始

在 Tableau Cloud 中,执行以下操作:

  1. 以站点管理员身份登录到 Tableau Cloud 站点,并选择“设置”>“身份验证”

  2. “身份验证”选项卡上,单击“新配置”按钮,从“身份验证”下拉菜单中选择“SAML”,然后输入配置的名称。

    Tableau Cloud 站点身份验证设置 - 新配置页面的屏幕快照

    注意:2024 年 11 月(Tableau 2024.3)之前创建的配置无法重命名。

在 AD FS 中,执行以下操作:

下面的过程导出将导入到 Tableau Cloud 的 AD FS 元数据。您还将确保已针对 Tableau Cloud 对元数据进行了正确配置和编码,并验证 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. 配置其他 AD FS 信赖方标识符。这使得您的系统能够解决 SAML 注销的任何 AD FS 问题。

    执行以下操作之一:

    Windows Server 2008 R2:

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

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

    Windows Server 2012 R2:

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

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

步骤 2:在 Tableau Cloud 中配置 SAML

按照上一部分所述,保存来自 AD FS 的 SAML 元数据文件后,完成以下过程。

  1. 返回 Tableau Cloud,在“新配置”页面的“2.将元数据上载到 Tableau”下,单击“选择文件”按钮,并导航到从 AD FS 导出的 SAML 元数据文件 (FederationMetadata.xml)。这会自动填充“IdP 实体 ID”和“SSO 服务 URL”值。

  2. 跳过“3.地图属性”,因为您将在 AD FS 中创建声明规则,以匹配 Tableau Cloud 在以下部分中期望的属性名称。

  3. “4.选择嵌入视图的默认设置(可选)”下,选择您要在用户访问嵌入内容时启用的体验。

  4. 单击“保存并继续”按钮。

  5. “5.获取 Tableau Cloud 元数据”下,单击“导出元数据”按钮,并将 Tableau 元数据文件保存到您的计算机。

    默认情况下,文件名为 saml_sp_metadata.xml

步骤 3.在您的 IdP 中配置 Tableau Cloud 应用程序

将 AD FS 配置为接受 Tableau Cloud 登录请求是一个多步骤过程,此过程从将 Tableau Cloud 元数据文件导入 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 Cloud 元数据文件。

    默认情况下,文件名为 saml_sp_metadata.xml

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

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

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

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

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

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

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

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

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

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

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

    注意:Tableau Cloud 需要 SAML 响应中的 NameID 属性。您可以提供其他属性来映射 Tableau Cloud 中的用户名,但响应消息必须包含 NameID 属性。

    LDAP 特性传出声明类型

    取决于 AD FS 的版本:

    User-Principal-Name

    E-Mail-Addresses

     

    email

    电子邮件地址

    Given-NamefirstName
    SurnamelastName

如果运行的是 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”(传递所有声明值)。
    • 单击“确定”

在 Tableau Cloud 中,执行以下操作:

  1. 返回 Tableau Cloud,在“新配置”页面的“3.地图属性”下,在 Tableau Cloud 中填充来自 AD FS 的声明值。

  2. 单击“保存并继续”按钮。

步骤 4:在 Tableau Cloud 中测试 SAML 配置

  1. 在 Tableau Cloud 中,向 ADFS 和 Tableau Cloud 添加示例用户以测试 SAML 配置。若要在 Tableau Cloud 中添加用户,请参见 向站点添加用户主题。

  2. 返回“新配置”页面,在“7.测试配置”下,单击“测试配置”按钮。

我们强烈建议您测试 SAML 配置以避免出现任何锁定情况。测试配置有助于确保在将用户的身份验证类型更改为 SAML 之前正确配置了 SAML。为了成功测试配置,请确保至少有一个您可以登录的用户,该用户已在 IdP 中预置并添加到 Tableau Cloud 中,并配置了 SAML 身份验证类型。

步骤 5:将其他用户添加到启用 SAML 的 Tableau Cloud 站点

使用下面的步骤将其他用户添加到您的站点。本部分中描述的程序是在 Tableau Cloud 的“用户”页面上执行的。

  1. 完成上述步骤后,从左侧窗格导航至“用户”页面。

  2. 按照向站点添加用户主题中描述的过程进行操作。或者,您可以按照导入用户主题中描述的程序使用 .csv 文件添加用户 。

AD FS 的 SAML 支持的其他要求和提示

  • 在 AD FS 和 Tableau Cloud 之间设置 SAML 集成之后,您必须更新 Tableau Cloud 以反映在 Active Directory 中所做的特定用户更改。例如,添加或移除用户。

    您可以自动或手动添加用户:

    • 自动添加用户:(使用 PowerShell、Python 或批处理文件)创建一个脚本,将 AD 更改推送到 Tableau Cloud。脚本可以使用 tabcmdREST APITableau Cloud 交互 。

    • 手动添加用户:登录到 Tableau Cloud Web UI,转到“用户”页面,单击“添加用户”,并输入用户的 用户名或上载包含用户信息的 CSV 文件

    注意:如果要移除用户但保留用户拥有的内容资产,请在移除用户之前更改内容的所有者。删除用户也会删除他们拥有的内容。

  • Tableau Cloud 中,用户的用户名是其唯一标识符。如用于配置 AD FS 以接受来自 Tableau Cloud 的登录请求的步骤中所述,用户的Tableau Cloud 用户名必须与 AD 中存储的用户名匹配。

  • 步骤 3.在您的 IdP 中配置 Tableau Cloud 应用程序中,您在 AD FS 中添加了一个声明规则,以在 AD FS 和 Tableau Cloud 之间匹配名字、姓氏和用户名属性。或者,您可以使用使用“步骤 5.地图属性”(在 Tableau Cloud 中)来执行相同的操作。