将 Snowflake OAuth 更改为已保存凭据

对于由提供程序为 Tableau Server 生成并由同一站点中的所有用户共享的 OAuth 令牌,Tableau Snowflake 连接器使用托管密钥链。从 Tableau 2020.4 开始,您可以将 Tableau Server 配置为使用新的 OAuth 服务。在这种情况下,您不必将 IP 地址放入安全列表即可在 AWS 专用链接或 Azure 专用链接 VPC 中运行 Oauth 流程。

您可以通过将 Snowflake 连接器配置为将保存的凭据与新的 OAuth 服务一起使用,从而将 Tableau Server 转换为支持“专用链接”环境。

步骤 1:使用 Snowflake 获取客户端 ID

若要向 Snowflake 注册自定义 OAuth 客户端,请按照为自定义客户端配置 Snowflake OAuth(链接在新窗口中打开)中的过程操作。

注册后,您将使用以下 Snowflake 参数来配置 Tableau Server

  • 帐户实例 URL
  • 客户端 ID
  • 客户端密码
  • 重定向 URL

步骤 2:针对 Snowflake Oauth 配置 Tableau Server

  1. Tableau Server 计算机上,运行以下命令以启用 Snowflake OAuth 服务:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

  2. 在文本编辑器中复制、粘贴和自定义以下命令:

    注意:如果在 Tableau Server 2021.1 及更高版本中进行这些配置更改,请参阅步骤 2:配置 Tableau Server,因为 oauth.snowflake.client 值的格式已经更改。

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    oauth.snowflake.clients 密钥采用密钥对数组。密钥对中的每个元素都必须用双引号封装。双引号必须转义为 \"

    若要指定多个帐户实例 URL,请使用逗号 (,) 将每个额外的用大括号 ({}) 括起来的 OAuth 客户端分隔开,如下例所示:

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url1\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    替换每个密钥的值:

    • 帐户实例 URL:oauth.snowflake.instance_url
    • 客户端 ID:oauth.snowflake.client_id
    • 客户端密码:oauth.snowflake.client_secret
    • 重定向 URL:oauth.snowflake.redirect_uri

    注意:在运行命令之前,请仔细验证语法。TSM 不会验证此输入。

    将命令复制到 TSM CLI 并运行该命令。

  3. 输入以下命令以应用更改:

    tsm pending-changes apply

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

为站点配置自定义 OAuth

您可以为站点配置自定义 Snowflake 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://example.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 中配置的。站点用户可以使用更新保存的凭据描述的过程来更新他们保存的凭据。

用于 OAuth 身份验证的转发代理

有关为 Tableau Server(仅限 Windows)设置具有 OAuth 身份验证的转向代理的详细信息,请参见 Tableau 帮助中的为 OAuth 身份验证配置转发代理(链接在新窗口中打开)

感谢您的反馈!您的反馈已成功提交。谢谢!