---
schema_version: "1"
id: ddd63fc9e3e5ff451f3fe5a68c8e6511d96c40b051d9b08b1072795ffd4600f4
title: 在 Tableau Server 上使用 AD FS 配置 SAML
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server-linux/saml_config_adfs_server.md
canonical_url: https://help.tableau.com/v0.0/server-linux/zh-cn/saml_config_adfs_server.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 186ff0df4d421d569e81c287be64dc6b8bedcf70caf3fd984281a70f819604bf
description: Configure AD FS as a SAML identity provider for Tableau Server.
---
[跳转到主要内容](#main-content)

# 在 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 可将用户重定向到 AD FS 托管的登录页面。
- 使用 SHA-2（256 位或 512 位）加密进行加密，并满足以下部分中列出的其他要求的 SSL 证书：
    
    - [SSL 证书要求](https://help.tableau.com/v0.0/server-linux/zh-cn/ssl_config.htm#cert-req)
    - SAML [证书和身份提供程序 (IdP) 要求](https://help.tableau.com/v0.0/server-linux/zh-cn/saml_requ.htm#Certific)

## 步骤 1：验证与 AD FS 的 SSL 连接

AD FS 需要 SSL 连接。如果尚未这样做，请使用符合上面指定要求的证书完成[针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL](https://help.tableau.com/v0.0/server-linux/zh-cn/ssl_config.htm)中的步骤。

或者，如果 Tableau Server 配置为使用反向代理或 SSL 在其中终止（通常称为 SSL 卸载）的负载平衡器，则您无需配置外部 SSL。

## 步骤 2：在 Tableau Server 上配置 SAML

通过将 Tableau Server 元数据下载为一个 XML 文件，完成[配置服务器范围 SAML](https://help.tableau.com/v0.0/server-linux/zh-cn/config_saml.htm)中的步骤。此时，返回此处并继续下一部分。

## 步骤 3：配置 AD FS 以接受来自 Tableau Server 的登录请求

**注意：**这些步骤反映第三方应用程序，并且会在我方不知道的情况下发生更改。

将 AD FS 配置为接受 Tableau Server 登录请求是一个多步骤过程，此过程从将 Tableau Server XML 元数据文件导入 AD FS 开始。

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

Windows Server 2008 R2：

1. 单击**“开始”菜单** >**“管理工具”**\>**“AD FS 2.0”**。
2. 在**“AD FS 2.0”**中的**“信任关系”**下，右键单击**“信赖方信任”**文件夹，然后单击**“添加信赖方信任”**。

Windows Server 2012 R2：

1. 打开**“服务器管理器”**，然后在**“工具”**菜单上单击**“AD FS 管理”**。
2. 在**“AD FS 管理”**中的**“操作”**菜单上，单击**“添加信赖方信任”**。

6. 在**“添加信赖方信任向导”**中，单击**“开始”**。
7. 在**“选择数据源”**页面上，选择**“从文件导入有关信赖方的数据”**，然后单击**“浏览”**找到 Tableau Server XML 元数据文件。默认情况下，此文件名为 **samlspmetadata.xml**。
8. 单击**“下一步”**，然后在**“指定显示名称”**页面上的**“显示名称”**和**“备注”**框中，为信赖方信任键入名称和说明。
9. 单击“下一步”跳过**“立即配置多重身份验证”**页面。
10. 单击“下一步”跳过**“选择颁发授权规则”**页面。
11. 单击“下一步”跳过**“准备好添加信任”**页面。
12. 在**“完成”**页面上，选中**“向导关闭时打开此信赖方信任的‘编辑声明规则’对话框”**复选框，然后单击**“关闭”**。

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

1. 在“编辑声明规则”对话框中，单击**“添加规则”**。
2. 在**“选择规则类型”**页面上，针对**“声明规则模板”**，选择**“以声明方式发送 LDAP 特性”**，然后单击**“下一步”**。
3. 在**“配置声明规则”**页面上，针对**“声明规则名称”**，输入对您有意义的规则名称。
4. 对于**“特性存储”**，选择**“Active Directory”**，按如下所示方式完成映射，然后单击**“完成”**。

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

<table class="simple-table"><colgroup><col><col></colgroup><tbody><tr><th>LDAP 特性</th><th>传出声明类型</th></tr><tr><td>SAM-Account-Name</td><td>名称 ID</td></tr><tr><td>SAM-Account-Name</td><td>username</td></tr><tr><td>Given-Name</td><td>firstName</td></tr><tr><td>Surname</td><td>lastName</td></tr></tbody></table>

如果运行的是 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 文件的位置，并选择“上载”。
    
    ![](/tableau/next/zh-cn/server-linux/zh-cn/Img/saml_config_upload_idp_metadata_linux.png)
3. 按[配置服务器范围 SAML](https://help.tableau.com/v0.0/server-linux/zh-cn/config_saml.htm)中指定的方式完成其余步骤（匹配声明和指定客户端类型访问权限）。
4. 保存并应用更改。
5. 如果这不是第一次配置 SAML，请执行以下步骤：
    
    1. 停止 Tableau Server，打开 TSM CLI，然后运行以下命令：
        
        `tsm configuration set -k wgserver.saml.sha256 -v true`
        
        `tsm authentication saml configure -a -1`
    2. 应用更改：
        
        `tsm pending-changes apply`
        
        如果待定更改需要重新启动服务器，`pending-changes apply` 命令将显示一个提示，告知您将进行重新启动。即使服务器已停止，此提示也会显示，但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示，但这样做不会改变重新启动行为。如果更改不需要重新启动，则会在不提示的情况下应用更改。有关详细信息，请参见[tsm pending-changes apply](https://help.tableau.com/v0.0/server-linux/zh-cn/cli_pending-changes.htm#pending-changes-apply)。