将 Google OAuth 更改为已保存凭据

默认情况下,对于由提供程序为 Tableau Server 生成并由同一站点上的所有用户共享的 OAuth 令牌,Google Analytics、Google BigQuery 和 Google Sheets 连接器使用托管密钥链。

通过将 Tableau Server 配置为每个连接器使用 OAuth 客户端 ID 和密文,可以将使用托管密钥链的连接器转换为使用已保存凭据。有关托管密钥链和已保存凭据的详细信息,请参见OAuth 连接

本主题介绍如何使用已保存凭据针对 Oauth 设置 Google Analytics、Google BigQuery 和 Google Sheets 连接。为每个 Tableau Server 实例完成这些步骤。

注意:所有基于 Google 的连接器都需要托管密钥链、服务器范围的 OAuth 或特定于站点的 OAuth。如果使用特定于站点的 OAuth,则必须单独配置每个站点。

通过执行以下常规步骤来设置 OAuth:

  1. 启用 API 访问并通过 Google 创建访问令牌。
  2. 使用您在步骤 1 中获得的信息来配置 Tableau Server。
  3. (可选)配置特定于站点的 OAuth。
  4. 创建和编辑 Google 数据源。

获取客户端 ID 并启用 Google API

注意:这些步骤反映编写本文时 Google Cloud Platform 控制台中的设置。有关详细信息,请参见 Google 开发人员控制台帮助中的对 Web 服务器应用程序使用 OAuth 2.0(链接在新窗口中打开)

  1. 登录到 Google Cloud Platform(链接在新窗口中打开),然后单击“Go to my console”

  2. 在下拉菜单中,单击“Select a Project”(选择项目),然后选择“Create project”(创建项目)

  3. 在出现的新项目表单中,完成以下操作:

    • 为项目提供一个有意义的名称,以反映您将对其使用此项目的 Tableau Server 实例。

    • 确定您是否要更改项目 ID。

      注意:在创建项目后,您将无法更改项目 ID。有关信息,请单击问号图标。

  4. 打开一个新项目,导航到“APIs & Services”(API 和服务)>“OAuth consent screen”(OAuth 同意屏幕),然后选择“User Type”(用户类型)。

  5. 单击“OAuth consent screen”选项卡,然后输入有意义的名称作为向用户显示的产品名称

  6. 单击“凭据”并单击“创建凭据”选项卡,然后单击“OAuth 客户端 ID”

  7. “创建 OAuth 客户端 ID”屏幕上,填写所需的字段。按照以下步骤授权您的 OAuth 令牌:

    • 选择“Web Application”

    • 输入客户端“名称”

    • 对于“Authorized JavaScript Origins”(授权 JavaScript 来源),单击“ADD URI”(添加 URI),并输入您的 Tableau Server 的本地计算机名称。

    • 对于“Authorized Redirect URI”(授予重定向 URI),单击“ADD URI”(添加 URI)将现有文本替换为您服务器的 Internet 地址,并将以下文本添加到它的末尾:auth/add_oauth_token。例如:

      https://your_server_url.com/auth/add_oauth_token

  8. 复制授权的重定向 URI,并将其粘贴到您可以从 Tableau Server 计算机访问的位置。

  9. 单击“Create”

  10. 复制 Google 返回的以下值,并将其粘贴到您可以从 Tableau Server 计算机访问的位置:

    • 客户端 ID
    • 客户端密码
  11. “APIs Manager”>“Dashboards” 中,验证是否启用了“BigQuery API”“Google Drive API”(用于启用 Google Sheets)或“Analytics API”。若要启用 API,请单击页面顶部的“ENABLE API”

Tableau Server 配置 Google OAuth

使用您通过完成获取客户端 ID 并启用 Google API 中的步骤获得的信息,您可以配置您的 Tableau Server

  • Tableau Server 计算机上,打开 shell 并运行以下命令来指定访问令牌和 URI:

    tsm configuration set -k oauth.google.client_id -v <your_client_ID>

    tsm configuration set -k oauth.google.client_secret -v <your_client_secret>

    tsm configuration set -k oauth.google.redirect_uri -v <your_authorized_redirect_URI>

    tsm pending-changes apply

    如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply

为站点配置自定义 OAuth

您可以为站点配置自定义 Google OAuth 客户端。

考虑将自定义 OAuth 客户端配置为 1) 覆盖 OAuth 客户端(如果为服务器配置)或 2) 支持安全连接到需要唯一 OAuth 客户端的数据。

配置自定义 OAuth 客户端时,站点级别配置优先于任何服务器端配置,并且默认情况下创建的所有新 OAuth 凭据都使用站点级别 OAuth 客户端。无需重新启动 Tableau Server 即可使配置生效。

重要信息:在配置自定义 OAuth 客户端之前建立的现有 OAuth 凭据暂时可用,但服务器管理员和用户都必须更新他们保存的凭据以帮助确保不间断的数据访问。

步骤 1:准备 OAuth 客户端 ID、客户端密码和重定向 URL

在配置自定义 OAuth 客户端之前,您需要下列信息。准备好这些信息后,您可以为站点注册自定义 OAuth 客户端。

  • OAuth 客户端 ID 和客户端密码:首先向数据提供程序(连接器)注册 OAuth 客户端,以检索为 Tableau Server 生成的客户端 ID 和密码。

  • 重定向 URL:注意正确的重定向 URL。在下面步骤 2 的注册过程中,您将需要此 URL。

    Https://<您的服务器名称>.com/auth/add_oauth_token

    例如,https://myco.com/auth/add_oauth_token

步骤 2:注册 OAuth 客户端 ID 和客户端密码

按照下面描述的过程将自定义 OAuth 客户端注册到站点。

  1. 使用管理员凭据登录到 Tableau Server 站点,并导航到“设置”页面。

  2. 在“OAuth 客户端注册”下,单击“添加 OAuth 客户端”按钮。

  3. 输入所需信息,包括上述步骤 1 中的信息:

    1. 对于“连接类型”,选择要配置其自定义 OAuth 客户端的连接器。

    2. 对于“客户端 ID”“客户端密码”“重定向 URL”,输入您在上面的步骤 1 中准备的信息。

    3. 单击“添加 OAuth 客户端”按钮以完成注册过程。

  4. (可选)对所有支持的连接器重复步骤 3。

  5. 单击“设置”页面底部或顶部的“保存”按钮以保存更改。

步骤 3:验证和更新保存的凭据

为帮助确保不间断的数据访问,您(和您的站点用户)必须删除之前保存的凭据并再次添加,以便为站点使用自定义 OAuth 客户端。

  1. 导航到“我的帐户设置”页面。

  2. “保存的数据源凭据”下,执行以下操作:

    1. 单击您在上述步骤 2 中配置的自定义 OAuth 客户端的连接器的现有已保存凭据旁边的“删除”

    2. 在连接器名称旁边,单击“添加”并按照提示进行操作以 1) 连接到在上述步骤 2 中配置的自定义 OAuth 客户端,以及 2) 保存最新的凭据。

步骤 4:通知用户更新他们保存的凭据

确保通知您的站点用户更新他们为连接器保存的凭据,该连接器的自定义 OAuth 客户端是您在上面的步骤 2 中配置的。站点用户可以使用更新保存的凭据描述的过程来更新他们保存的凭据。

创建和编辑 Google 数据源

接着,您必须将 Google 数据源发布到服务器。例如,请参见 Tableau Desktop 主题 Google BigQuery(链接在新窗口中打开)

发布数据源之后,最后一步是编辑数据源连接以使用您之前配置的嵌入式访问令牌。请参见在 Tableau Server 上编辑连接

管理访问令牌

针对 OAuth 配置服务器之后,您可以允许用户在其配置文件设置中管理其自己的访问令牌,或者您可以集中管理这些令牌。有关详细信息,请参见允许已保存访问令牌

感谢您的反馈!