---
schema_version: "1"
id: 55c4f70b91b74d61547152341889d867f4969e84644c86bd8936db0b2e4c5593
title: 配置特定于站点的 SAML
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server/saml_site_specific.md
canonical_url: https://help.tableau.com/v0.0/server/zh-cn/saml_site_specific.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 66ad4282e0bf06087030e03e546391d1e5ac726ba160dcf284ba0e1023564f7c
description: Configure site-specific SAML in a multi-site Tableau Server environment.
---
[跳转到主要内容](#main-content)

# 配置特定于站点的 SAML

当您要启用单点登录，并且还使用多个 SAML 身份提供程序 (IdP) 或 IdP 应用程序时，请在多站点环境中使用特定于站点的 SAML。启用站点 SAML 时，您可以为每个站点指定 IdP 或 IdP 应用程序，或者将某些站点配置为使用 SAML，而将其他站点配置为使用默认服务器范围身份验证方法。

如果希望所有服务器用户都使用 SAML 并通过同一个 IdP 应用程序登录，请参见[配置服务器范围 SAML](https://help.tableau.com/v0.0/server/zh-cn/config_saml.htm)。

## 启用特定于站点的 SAML 的先决条件

在站点级别启用 SAML 单点登录之前，请满足以下要求：

- 必须针对本地身份存储配置 Tableau Server 身份存储。
    
     如果 Tableau Server 配置为使用外部身份存储（例如 Active Directory 或 OpenLDAP），则无法配置特定于站点的 SAML。
- 确保您的环境和您的 IdP 符合一般的[SAML 要求](https://help.tableau.com/v0.0/server/zh-cn/saml_requ.htm)。
    
    某些功能仅在服务器范围 SAML 部署中受支持，包括但不限于：
    
    - 特定于站点的 SAML 部署不支持的受密码保护的密钥文件。
- 在配置特定于站点的 SAML 之前，您必须配置服务器范围的 SAML。您不需要启用服务器范围的 SAML，但特定于站点的 SAML 需要服务器范围的配置。请参见[配置服务器范围 SAML](https://help.tableau.com/v0.0/server/zh-cn/config_saml.htm)。
- 请记下 SAML 证书文件的位置。在[将服务器配置为支持特定于站点的 SAML](#add-site-saml-support)时，您将提供此位置。
    
    有关详细信息，请参阅关于配置服务器范围 SAML 的主题中的[将元数据和证书文件放在适当位置](https://help.tableau.com/v0.0/server/zh-cn/config_saml.htm#generate-metadata)。
- 将 Tableau Server 作为服务提供程序添加到 IdP。您可以在 IdP 提供的文档中找到此信息。
- 确认托管特定于站点的 SAML IdP 的计算机和托管 Tableau Server 的计算机的系统时钟彼此相差不超过 59 秒。Tableau Serer 没有用于调整 Tableau Server 计算机和 IdP 之间的响应偏移（时间差异）的选项。

### 与特定于站点的 SAML 相关的服务器范围设置

**返回 URL 和实体 ID：**在用于配置特定于站点的 SAML 的设置中，Tableau 基于这些设置提供特定于站点的返回 URL 和实体 ID。无法修改特定于站点的返回 URL 和实体 ID。这些配置由 SAML 设置，如[配置服务器范围 SAML](https://help.tableau.com/v0.0/server/zh-cn/config_saml.htm)中所述。

**身份验证期限和响应偏移：**服务器范围的设置、最长身份验证期限和响应偏移不适用于特定于站点的 SAML。这些配置是硬编码的：

- 最长身份验证期限是指来自 IdP 的身份验证令牌在发出后的有效期。特定于站点的 SAML 的硬编码最长身份验证期限为 24 天。
- 响应偏移是 Tableau Server 时间与仍允许处理消息的断言创建时间（基于 IdP 服务器时间）相差的最大秒数。此设置特定于站点的硬编码值为 59 秒。

**username：**必填。除了服务器范围的 SAML 配置属性外，站点特定的 SAML 配置属性必须设置为“username”。

> **注意：**要使特定于站点的 SAML 使用服务器范围的 SAML 默认值成功运行，使用 wgserver.saml.idpattribute.username 配置键为服务器范围的 SAML 配置的 username 属性必须为“username”。用于服务器范围 SAML 的 IdP 必须在名为“username”的属性中提供用户名。

![用于匹配来自身份提供程序的属性的表单。](/tableau/next/zh-cn/server/zh-cn/Img/saml_config_site_match_asserts_server_username.png)

**HTTP POST 和 HTTP REDIRECT：**对于特定于站点的 SAML，Tableau Server 支持 HTTP-POST、HTTP-REDIRECT 和 HTTP-POST-SimpleSign。

## 将服务器配置为支持特定于站点的 SAML

满足上述先决条件后，可以运行以下命令以将服务器配置为支持特定于站点的 SAML。

1. [配置服务器范围 SAML](https://help.tableau.com/v0.0/server/zh-cn/config_saml.htm)。至少必须运行以下 TSM 命令（如果已经配置了服务器范围 SAML，请跳至步骤 2）：
    
    `tsm authentication saml configure --idp-entity-id <tableau-server-entity-id> --idp-return-url <tableau-server-return-url> --cert-file <path-to-saml-certificate.crt> --key-file <path-to-saml-keyfile.key>`
2. 启用站点 SAML。运行以下命令：
    
    `tsm authentication sitesaml enable`
    
    `tsm pending-changes apply`

### 关于命令

`sitesaml enable` 命令会在 Tableau Server Web UI 中的每个站点的“设置”页面上显示“身份验证”选项卡。将服务器配置为支持站点 SAML 后，您可以继续[为站点配置 SAML](#site_saml_config_for_a_site)，以完成“身份验证”选项卡上的设置。

如果待定更改需要重新启动服务器，`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)。

如果希望检查运行 `pending-changes apply` 时将执行的命令和设置，则可以先运行以下命令：

`tsm pending-changes list --config-only`

## 为站点配置 SAML

此部分将引导您完成在 Tableau Server 设置页面的“身份验证”选项卡上出现的配置步骤。在自托管式 Tableau Server 安装中，只有当在服务器级别启用了特定于站点的 SAML 支持时，此页面才会出现。

**注意：**若要完成此过程，您还将需要 IdP 提供的文档。请查找那些介绍如何为 SAML 连接配置或定义服务提供程序或者添加应用程序的主题。

步骤 1：从 Tableau 中导出元数据

要在 Tableau Server 与您的 IdP 之间创建 SAML 连接，需要在这两项服务之间交换必需的元数据。若要从 Tableau Server 中获取元数据，请选择以下方法之一：请参见 IdP 的 SAML 配置文档来确认正确的选项。

- 选择“导出元数据”按钮以下载一个包含 Tableau Server SAML 实体 ID、声明使用者服务 (ACS) URL 和 X.509 证书的 XML 文件。
    
    实体 ID 特定于站点，并且基于您在服务器上启用 SAML 时指定的服务器范围实体 ID。例如，如果指定了 `https://tableau_server`，则可能会看到站点的以下实体 ID：
    
    `https://tableau_server/samlservice/public/sp/metadata?alias=48957410-9396-430a-967c-75bdb6e002a0`
    
    您无法修改特定于站点的实体 ID 或 Tableau 生成的 ACS URL。
- 如果您的 IdP 期望以另一种方式获得所需的信息，请选择“下载证书”。举例来说，它希望您在将临的位置中输入 Tableau Server 实体 ID、ACS URL 和 X.509 证书。
    
    下图经过编辑，显示出这些设置在 Tableau Cloud 和 Tableau Server 中相同。
    
    ![具有用于检索元数据的选项的表单。](/tableau/next/zh-cn/server/zh-cn/Img/saml_site_auth_step1.png)

步骤 2 和步骤 3：外部步骤

对于步骤 2，若要导入您在步骤 1 中导出的元数据，请登录您的 IdP 帐户，然后按照 IdP 的文档提供的说明来提交 Tableau Server 元数据。

对于步骤 3，IdP 的文档将也可在如何向服务提供程序提供元数据方面为您提供指导。它将指示您下载元数据文件，或者将显示 XML 代码。如果它显示 XML 代码，请将代码复制并粘贴到一个新文本文件中，并使用 .xml 扩展名保存文件。

步骤 4：将 IdP 元数据导入 Tableau 站点

在 Tableau Server 中的“身份验证”页面上，导入您从 IdP 下载或通过它提供的 XML 手动配置的元数据文件。

**注意：**如果编辑配置，您将需要上载元数据文件，以便 Tableau 知道使用正确的 IdP 实体 ID 和 SSO 服务 URL。

步骤 5：映射属性

属性包含有关用户的身份验证、授权和其他信息。在“身份提供程序 (IdP) 断言名称”列中，提供包含 Tableau Server 所需信息的属性。

- 用户名或电子邮件：（必填）输入存储用户姓名或电子邮件地址的属性的名称。
- **显示名称：**（可选）某些 IdP 为名和姓使用单独的属性，而另一些则将全名存储在一个属性中。如果您将 SAML 与本地身份验证结合使用，则显示名称属性不会与 SAML IdP 同步。
    
    选择对您的 IdP 存储名称的方式对应的按钮。举例来说，如果 IdP 将名和姓合并在一个属性中，请选择“显示名称”，然后输入属性名称。
    
    ![为 Tableau Server 配置站点 SAML 的步骤 5 的屏幕快照 - 匹配属性](/tableau/next/zh-cn/server/zh-cn/Img/saml_config_site_match_asserts_server.png)

步骤 6：管理用户

选择现有的 Tableau Server 用户，或者添加您想批准其进行单点登录的新用户。

在添加或导入用户时，还要指定用户的身份验证类型。在“用户”页面上，可以在添加用户后随时更改用户的身份验证类型。

有关详细信息，请参见[向站点添加用户](https://help.tableau.com/v0.0/server/zh-cn/sites_addusers.htm)或[导入用户](https://help.tableau.com/v0.0/server/zh-cn/users_import.htm)以及[针对 SAML 设置用户身份验证类型](https://help.tableau.com/v0.0/server/zh-cn/users_set_auth_type.htm)。

**重要信息：**使用特定于站点的 SAML 进行身份验证的用户只能属于一个站点。如果用户需要访问多个站点，请将其身份验证类型设置为服务器默认值。根据服务器管理员配置特定于站点的 SAML 的方式，服务器默认值为本地身份验证或服务器范围 SAML。

步骤 7：疑难解答

首先执行“身份验证”页面上建议的疑难解答步骤。如果这些步骤无法解决问题，请参见 [SAML 疑难解答](https://help.tableau.com/v0.0/server/zh-cn/saml_trouble.htm)。