使用 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)。

先决条件

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

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

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

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

步骤 1:从 Tableau Cloud 中导出元数据

  1. 以站点管理员身份登录到 Tableau Cloud

    如果 Tableau Cloud 有多个站点,请在站点下拉列表中选择要为其启用 SAML 的站点。

  2. 选择“设置”>“身份验证”
  3. “身份验证”选项卡上,选中“启用其他身份验证方法”复选框,选择“SAML”,然后单击“配置(必需)”下拉箭头。

    身份验证设置

  4. 在步骤 1“方法 1:导出元数据”下,单击“导出元数据”按钮以下载一个包含 Tableau Cloud SAML 实体 ID、断言使用者服务 (ACS) URL 和 X.509 证书的 XML 文件。

步骤 2:配置 AD FS 以接受来自 Tableau Cloud 的登录请求

将 AD FS 配置为接受 Tableau Cloud 登录请求是一个多步骤过程,此过程从将 Tableau Cloud 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 Cloud XML 元数据文件。默认情况下,此文件名为 samlspmetadata.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 的版本:

    用户主体名称

    E-Mail-Addresses

     

    email

    电子邮件地址

    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 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,然后单击“添加”

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

步骤 3:将 AD FS 元数据导入 Tableau Cloud

  1. Tableau Cloud 中,返回到“设置”>“身份验证”

  2. 在步骤4. “将元数据上载到 Tableau ”下的 IdP 元数据文件框中,指定您从 AD FS 导出的文件的名称 (FederationMetadata.xml)。

  3. 跳过 步骤 5.“匹配特性”

    您已在 AD FS 中创建了一条声明规则,使特性名称与 Tableau Cloud 的预期特性名称匹配。

  4. 单击“保存更改”按钮。

  5. 执行以下操作之一来管理用户:

    • 如果您尚未向站点添加用户,请从左侧窗格导航至“用户”页面,然后单击“添加用户” 。可以随后手动添加用户,或导入包含用户信息的 CSV 文件。有关详细信息,请参见向站点添加用户导入用户

    • 如果您已将用户添加到站点,请从左侧窗格导航到“用户”页面,单击特定用户旁边的“操作”,然后单击“身份验证”。将身份验证方法更改为 SAML,然后单击“更新”按钮。

  6. (可选)返回“身份验证”页面,在“7.测试配置”下通过单击“测试配置”按钮来测试 SAML 登录。

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

您的 Tableau Cloud 站点现在已准备好让用户使用 AD FS 和 SAML 进行登录。他们仍然会导航到 https://online.tableau.com,但在输入其 用户名之后,页面将重定向到 AD FS 登录页面(如上面的可选测试步骤中所示),并提示用户输入其 AD 凭据。

注意:如果在测试 SAML 登录时遇到错误,请在“步骤 7.测试配置”(属于 Tableau Cloud 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 中存储的用户名匹配。

  • 步骤 2:配置 AD FS 以接受来自 Tableau Cloud 的登录请求中,您在 AD FS 中添加了一个声明规则,以在 AD FS 和 Tableau Cloud 之间匹配名字、姓氏和用户名属性。或者,您可以使用使用“步骤 5.匹配属性”(在 Tableau Cloud 中)来执行相同的操作。

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