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

# 在 Tableau Server 上使用 Azure AD IdP 配置 SAML

您可以将 Azure AD 配置为 SAML 身份提供程序 (IdP)，并将 Tableau Server 添加到支持的单点登录 (SSO) 应用程序。如果将 Azure AD 与 SAML 和 Tableau Server 集成，用户可以使用其标准网络凭据登录到 Tableau Server。

## 开始之前：先决条件

您的环境必须具有以下各项，然后才能使用 Azure AD 配置 Tableau Server 和 SAML：

- 使用 SHA-2（256 位或 512 位）加密进行加密，并满足以下部分中列出的其他要求的 SSL 证书：
    
    - [SSL 证书要求](https://help.tableau.com/v0.0/server/zh-cn/ssl_config.htm#cert-req)
    - SAML [证书和身份提供程序 (IdP) 要求](https://help.tableau.com/v0.0/server/zh-cn/saml_requ.htm#Certific)
- 如果您的用户从不是默认域的域登录，请查看[SAML 要求](https://help.tableau.com/v0.0/server/zh-cn/saml_requ.htm#multiple_domain)和[使用外部身份存储的部署中的用户管理](https://help.tableau.com/v0.0/server/zh-cn/users_manage_ad.htm#multiple_domain) ，确保设置和定义域属性值以避免以后出现任何登录问题。

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

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

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

如果您的组织使用 Azure AD 应用代理，请参见下面的 [Azure AD 应用代理](#AzureAppProxy)部分。

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

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

## 步骤 3：配置 Azure AD 声明规则

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

<table class="simple-table"><colgroup><col><col></colgroup><tbody><tr><th>LDAP 特性</th><th>传出声明类型</th></tr><tr><td>onpremisessamaccountname</td><td>username</td></tr><tr><td>Given-Name</td><td><p>firstName</p><p><b>注意：</b>这是可选的。</p></td></tr><tr><td>Surname</td><td><p>lastName</p><p><b>注意：</b>这是可选的。</p></td></tr><tr><td>netbiosname</td><td><p>domain</p><p><b>注意：</b>仅当您的用户从非默认域的域中登录时才需要这样做。</p></td></tr></tbody></table>

在某些组织中，SAML IDP 形式的 Azure AD 与 Active Directory 一起使用，作为 Tableau Server 的身份存储。在这种情况下，`username` 通常是 sAMAccountName 名称。请参见 Microsoft 文档，确定 Azure AD 中用于映射到 `username` 属性的 sAMAccountName 属性。

## 步骤 4：将 Azure AD 元数据提供给 Tableau Server

1. 返回到 TSM Web UI，并导航到“配置”\>“用户身份和访问”\>“身份验证方法”选项卡。
2. 在 SAML 配置窗格的“步骤 4”中，输入从 Azure AD 导出的 XML 文件的位置，并选择“上载”。
    
    ![突出显示了您在其中上载 SAML IDP 元数据的 TSM UI 区域的屏幕快照](/tableau/next/zh-cn/server/zh-cn/Img/saml_config_upload_idp_metadata.png)
3. 按[配置服务器范围 SAML](https://help.tableau.com/v0.0/server/zh-cn/config_saml.htm)中指定的方式完成其余步骤（匹配声明和指定客户端类型访问权限）。保存并应用更改。
4. 如果这不是第一次配置 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/zh-cn/cli_pending-changes.htm#pending-changes-apply)。

## Azure AD 应用代理

如果在 Tableau Server 前面运行 Azure AD 应用代理，并且启用了 SAML，则需要对 Azure AD 应用代理进行其他配置。

启用 SAML 后，Tableau Server 只能接受来自一个 URL 的流量。但是，默认情况下，Azure AD 应用代理会设置外部 URL 和内部 URL。

必须将这两个值设置为自定义域中的同一 URL。有关详细信息，请参见 Microsoft 文档[使用 Azure AD 应用程序代理配置自定义域](https://docs.microsoft.com/zh-cn/azure/active-directory/manage-apps/application-proxy-configure-custom-domain)。

## 疑难解答

**Azure AD 应用代理**

在某些情况下，指向视图的链接在内部呈现，但当流量穿过 Azure AD 应用代理时在外部失败。当 URL 中存在磅符号 (#) 并且用户正在使用浏览器访问链接时，将出现此问题。Tableau Mobile 应用能够访问包含镑符号的 URL。

**用户会话超时似乎被忽略**

为 SAML 配置 Tableau Server 时，用户可能会遇到登录错误，因为 IdP 最长身份验证期限设置的值比 Tableau 的最长身份验证期限设置大。为了解决此问题，您可以使用 tsm configuration set 选项 `wgserver.saml.forceauthn` 要求 IdP 在每次 Tableau 重定向身份验证请求时重新对用户进行身份验证，即使用户的 IdP 会话仍处于活动状态。

例如，当 Azure AD 设置 `maxInactiveTime` 大于 Tableau Server 的设置 `maxAuthenticationAge` 时，Tableau 将身份验证请求重定向到 IdP，后者随后向 Tableau 发送用户已通过身份验证的断言。但是，由于用户在 Tableau Server 的 `maxAuthenticationAge` 外进行了身份验证，因此 Tableau 会拒绝用户身份验证。在像这样的情况下，您可以执行以下一项或两项操作：

- 启用 `wgserver.saml.forceauthn` 选项以要求 IdP 在每次 Tableau 重定向身份验证请求时重新对用户进行身份验证。有关详细信息，请参见 [wgserver.saml.forceauthn](https://help.tableau.com/v0.0/server/zh-cn/cli_configuration-set_tsm.htm#wgserver-saml-forceauthn)。
- 增加 Tableau Server 的 `maxAuthenticationAge` 设置。有关详细信息，请参见[tsm authentication](https://help.tableau.com/v0.0/server/zh-cn/cli_authentication_tsm.htm#tsm-authentication-saml-configure)主题中的“a, --max-auth-age <max-auth-age>”。

**AppID 不匹配**

查看 vizportal.log 文件时，您可能会看到“_目标受众与收件人不匹配_”错误。

为了解决此问题，请确保 appID 与发送的内容匹配。将应用程序 ID 与正在使用的应用程序一起使用时，Azure 会自动将“SPN”附加到 appID。您可以通过向应用程序 ID 添加“SPN:”前缀来更改 Tableau SAML 设置中的值。

例如：SPN:myazureappid1234