---
schema_version: "1"
id: 94b21410a050b5e7d62dea7d94704b404e54ae35b167e68d2532691373387901
title: OAuth 连接
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server-linux/protected_auth.md
canonical_url: https://help.tableau.com/v0.0/server-linux/zh-cn/protected_auth.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 554f896af07b286e94cfba90b49370ac8cb884e58452cdfd8339b2aa3b05dbe6
description: Use OAuth connections to avoid storing database credentials in Tableau.
---
[跳转到主要内容](#main-content)

# OAuth 连接

Tableau Server 支持为多种不同的连接器使用 OAuth。在多数情况下，OAuth 功能不需要在 Tableau Server 上进行额外配置。

从 Tableau 中，当用户通过使用 OAuth 的连接器登录到数据时，用户将被重定向到身份验证提供程序的登录页面。用户提供凭据并授权 Tableau 访问其数据后，身份验证提供程序会向 Tableau 发送**访问令牌**，该令牌唯一标识 Tableau 和用户。此访问令牌用于代表用户访问数据。有关详细信息，请参见下面的 [OAuth 进程概述](#Overview)。

使用基于 Oauth 的连接可提供以下好处：

- **安全：**您的数据库凭据从不会被 Tableau Server 知道或存储在其中，并且访问令牌只能由 Tableau 代表用户使用。
- **方便：**不必在多个位置嵌入您的数据源 ID 和密码，您可以对访问特定数据提供程序的所有已发布工作簿和数据源使用为该数据提供程序提供的令牌。
    
    **注意：**对于 Google BigQuery 数据的实时连接，每个工作簿 Viewer（查看者）都可以拥有标识用户的唯一访问令牌，而不是共享单个用户名和密码凭据。

## OAuth 进程概述

下列步骤介绍 Tableau 环境中调用 OAuth 过程的一个工作流。

1. 用户执行的操作需要访问基于云的数据源。
    
    例如，您打开发布到 Tableau Server 的工作簿。
2. Tableau 将用户定向到云数据提供程序的登录页面。发送给数据提供程序的信息将 Tableau 标识为请求站点。
3. 当用户登录到数据时，提供程序会提示用户确认其授权 Tableau Server 访问数据。
4. 用户确认后，数据提供程序会向 Tableau Server 发送访问令牌。
5. Tableau Server 向用户显示工作簿和数据。
    
    ![您的笔记本电脑、Tableau Server 和数据库之间的数据流程图。](/tableau/next/zh-cn/server-linux/zh-cn/Img/protected_auth_server.png)

**注意**：Tableau Cloud 2025.2（2025 年夏季）版本中新增了对 OAuth 连接的一次性刷新令牌（有时称为一次性刷新令牌、滚动刷新令牌或刷新令牌轮换）的支持，并在 Tableau Server 2025.3 版本中添加了支持（如果数据源提供商的 IDP 支持）。这些令牌在 Tableau Bridge 与 Tableau Cloud 的连接上尚不受支持。如果为连接使用外部 OAuth 配置，请参见 GitHub 中的 [OAuth 配置和使用文档](https://tableau.github.io/connector-plugin-sdk/docs/oauth "OAuth 配置文档")了解详细信息。

下列用户工作流可以使用 OAuth 进程：

- 从 Tableau Desktop 或从 Tableau Server 创建工作簿并连接到数据源。
- 从 Tableau Desktop 发布数据源。
- 从诸如 Tableau Mobile 或 Tableau Desktop 等批准的_客户端_登录Tableau Server。

## 默认已保存凭据连接器

_已保存凭据_是指 Tableau Server 存储 OAuth 连接的用户令牌的功能。这允许用户将其 OAuth 凭据保存到其在 Tableau Server 上的用户配置文件。保存凭据后，当他们随后访问连接器进行发布、编辑或刷新时，将不会收到提示。

**注意**：在 Web 上编辑 Tableau Prep 流程时，系统可能仍会提示您重新进行身份验证。

默认情况下，以下连接器使用已保存凭据，不需要在 Tableau Server 上进行额外配置。

- Anaplan
- Box
- Dropbox
- Esri ArcGIS Server
- Google Ads
- LinkedIn Sales Navigator
- Marketo
- OneDrive 和 SharePoint Online（从 2022.3 开始需要额外配置）
- Oracle Eloqua
- ServiceNow ITSM
- Snowflake - 使用“私有链接”需要额外的配置。有关详细信息，请参见阅 Snowflake 网站上的[为合作伙伴应用程序配置 Snowflake OAuth](https://docs.snowflake.net/manuals/user-guide/oauth-partner.html#configure-snowflake-oauth-for-partner-applications)和[在 Tableau Server 上为 Snowflake 连接配置 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_snowflake.htm)。

服务器管理员进行额外的配置后，以下连接器可以使用已保存凭据。

- Amazon Athena
    
    有关详细信息，请参见 Tableau Desktop 帮助中的[将您自己的身份提供程序与 Amazon Athena 结合使用](https://help.tableau.com/current/pro/desktop/zh-cn/amazon_athena_idp.htm)。
- Azure Data Lake Storage Gen2、Azure Synapse、Azure SQL 数据库、Databricks、OneDrive 和 SharePoint Online 以及 SharePoint 列表 (JDBC)
    
    有关详细信息，请参见[为 Oauth 和现代身份验证配置 Azure AD](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_azure_ad.htm).
- Dremio
    
    有关详细信息，请参见[为 Dremio 设置 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_dremio.htm)。
- Google Analytics、Google BigQuery、Google BigQuery (JDBC)、Google Drive
    
    有关详细信息，请参见[为 Google 设置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_google.htm)。
    
    **注意：**如果 Tableau Server 未列在 Google 管理控制台的“Accessed Apps”（已访问应用）列表中，您可以使用其客户端 ID 手动将新应用添加到列表中。若要创建客户端 ID，请参见[将 Google OAuth 更改为已保存凭据](https://help.tableau.com/current/server/zh-cn/config_oauth_google.htm)。
- Intuit QuickBooks Online
    
    有关详细信息，请参见[为 Intuit QuickBooks Online 设置 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_qbo.htm)。
    
    OneDrive 和 SharePoint Online（从 2022.3 开始）
    
    有关详细信息，请参见[为站点配置自定义 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_azure_ad.htm#custom)
- Salesforce
    
    有关详细信息，请参见[将 Salesforce.com OAuth 更改为已保存凭据](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_sfdc.htm)。
- Salesforce CDP
    
    有关详细信息，请参见[将 Tableau Server 连接到 Salesforce Data Cloud](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_sfdc_cdp.htm)。
- Snowflake
    
    从版本 2024.2 开始。有关详细信息，请参见[将 Snowflake OAuth 更改为已保存凭据](https://help.tableau.com/current/server/zh-cn/config_oauth_snowflake.htm)。

所有支持的连接器列在 Tableau Server 上用户的“我的帐户设置”页面上的“数据源的已保存凭据”下。用户针对每种连接器管理其已保存凭据。

![数据源已保存凭证的列表，其中包含用于清除所有已保存凭据的选项。](/tableau/next/zh-cn/server-linux/zh-cn/Img/oauth-savedcreds.png)

### 数据连接访问令牌

可以根据包含数据连接的访问令牌嵌入凭据，以允许在初始身份验证过程结束之后直接访问。除非 Tableau Server 用户删除访问令牌或数据提供程序撤消它，否则它会一直有效。

可能超出了数据源提供程序允许的访问令牌数。在这种情况下，当用户创建新令牌时，数据提供程序将使用自上次访问以来已经过去的时间长度来决定使哪个令牌失效以便为新令牌腾出空间。

### 批准的客户端身份验证的访问令牌

默认情况下，在用户第一次登录时提供其凭据后，Tableau Server站点允许用户直接从批准的 Tableau 客户端访问其站点。此类型的身份验证还使用 OAuth 访问令牌安全地存储用户的凭据。

有关详细信息，请参见[禁用自动客户端身份验证](https://help.tableau.com/v0.0/server-linux/zh-cn/devices_connected_credentials.htm)。

## 默认托管密钥链连接器

_托管密钥链_是指提供商为 Tableau Server 生成 OAuth 令牌并由同一站点中的所有用户共享的功能。当用户首次发布数据源时，Tableau Server 会提示用户输入数据源凭据。Tableau Server 将凭据提交到数据源提供程序，该提供程序将返回 OAuth 令牌供 Tableau Server 代表用户使用。在后续发布操作中，使用 Tableau Server 为同一类和用户名存储的 OAuth 令牌，以便不会提示用户输入 OAuth 凭据。如果数据源密码发生更改，则重复上述过程，并将旧令牌替换为 Tableau Server 上的新令牌。

默认托管密钥链连接器不需要在 Tableau Server 上进行额外的 OAuth 配置：

- Google Analytics、Google BigQuery 和 Google Sheets（在 Tableau 版本 2022.1 中已弃用）
- Salesforce

### 令牌限制和存储

Google 的每个客户端应用程序有每个用户 50 个令牌的限制（在此方案中，Tableau Server 是客户端应用程序）。由于 OAuth 令牌存储在 Tableau Server 上并由用户重用，因此用户不太可能超过令牌限制。

当存储在 Tableau Server 上时，会对所有用户令牌进行静态加密。有关详细信息，请参见[管理服务器密文](https://help.tableau.com/v0.0/server-linux/zh-cn/security_secret_storage.htm)。

### 移除未使用的密钥链记录

托管密钥链记录包含连接属性，如 dbClass、username 和 OAuth secret 属性。给定站点的所有托管密钥链记录都将合并、加密并存储在 PostgreSQL 中。

即使对于已移除的工作簿和数据源，也会保留记录。随着时间的推移，这些记录会增长到很大，从而可能导致问题。

我们建议以常规维护任务的形式定期清除未使用的密钥链记录。您可以查看每个站点上存储的记录和未使用的记录数。您还可以删除未使用的记录。

![用于管理已保存凭据密钥链的对话框。该对话框包含一个显示未使用的密钥链数量的选项和一个删除它们的按钮。](/tableau/next/zh-cn/server-linux/zh-cn/Img/oauth-purge-managed-keys.png)

若要访问“托管密钥链清理”，请登录到 Tableau Server 管理页面，导航到要删除未使用的记录的站点，然后单击“设置”。

### 托管密钥链的方案限制

将托管密钥链 OAuth 与 Tableau Server 结合使用时，有三种不受支持的方案：

- 在实时连接上提示输入 OAuth 凭据。在包含托管密钥链 Oauth 的实时连接上，用户必须嵌入凭据
- 在 Tableau Server 上编辑 OAuth 数据源连接
- Web 制作

### 将托管密钥链转换为已保存凭据

通过将 Tableau Server 配置为每个连接器使用 OAuth 客户端 ID 和密文，可以将使用托管密钥链的连接器转换为使用已保存凭据。通过将这些连接器转换为已保存凭据，用户将能够在 Tableau Server 上的“我的帐户设置”页面上管理每种连接器类型的凭据。此外，还支持实时连接提示、编辑连接和 Web 制作。

## 为站点配置自定义 OAuth

对于一部分连接器，您可以通过配置自定义 OAuth 客户端来配置站点级别 OAuth。有关详细信息，请参见以下主题之一：

- 对于 Azure Data Lake Storage Gen2、Azure SQL Database、Azure Synapse、Databricks、OneDrive 和 SharePoint Online 以及 SharePoint 列表 (JDBC)，请参见[为站点配置自定义 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_azure_ad.htm#custom)。
- 对于 Dremio，请参见[为 Dremio 设置 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_dremio.htm)。
- 对于 Google Analytics、Google BigQuery、Google Sheets（在 Tableau 版本 2022.1 中已弃用），请参见[为站点配置自定义 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_google.htm#custom)。

- 对于 Salesforce，请参见[为站点配置自定义 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_sfdc.htm#custom)。
- 对于 Salesforce CDP，请参见[将 Tableau Server 连接到 Salesforce Data Cloud](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_sfdc_cdp.htm#custom)。
- 对于 Snowflake，请参见[选项 2：按站点为 Snowflake 连接配置 OAuth](https://help.tableau.com/v0.0/server-linux/zh-cn/config_oauth_snowflake.htm#custom)。

## 此部分中的其他文章