本文描述了如何从 Tableau Server 配置 Azure Databricks 登录。 在你以 Azure Databricks 帐户管理员身份完成这个一次性配置后,用户可以通过 SSO 身份验证从 Tableau Server 进行连接。
Tableau Desktop 和 Tableau Cloud 不需要执行本文中的步骤,它们默认在 Azure Databricks 帐户中作为 OAuth 应用程序启用。
本文专门用于创建自定义 Tableau Server OAuth 应用程序。 有关通用的自定义 OAuth 应用程序创建步骤,请参阅以下内容:
在配置 Azure Databricks 从 Tableau Server 登录之前:
- 你必须是 Azure Databricks 帐户管理员。
- 安装 Databricks CLI,并在 Databricks CLI 和 Databricks 帐户之间设置身份验证。
还必须满足以下 Tableau 要求:
- 安装的 Tableau Server 具有以下版本之一:
- 2021.4.13 或更高版本
- 2022.1.9 或更高版本
- 2022.3.1 或更高版本
- 你是 Tableau Server 管理员。
若要使用 Azure Databricks UI 将 Tableau Server 添加为 OAuth 应用程序,请执行以下作:
登录到帐户控制台,然后单击边栏中的“设置”图标。
在 “应用连接 ”选项卡上,单击“ 添加连接”。
输入以下详细信息:
连接的名称。
OAuth 连接的重定向 URL。
访问范围 确定 Tableau Server 应有权访问的 API。
- 允许 Tableau 访问 Databricks SQL API 接口所需的
SQL
范围。 - 范围
ALL APIs
允许 Tableau Server 出于查询以外的目的访问 Databricks API。
将自动允许以下范围:
-
openid
、email
、profile
:生成 ID 令牌所必需的。 -
offline_access
:生成刷新令牌的必要条件。
如果您不想允许 Tableau Server 使用这些范围,可以使用 POST /api/2.0/accounts/{account_id}/oauth2/custom-app-integrations API 来创建自定义应用程序,以便细化地管理这些范围。
- 允许 Tableau 访问 Databricks SQL API 接口所需的
是否生成客户端密码。 这是非公开(机密)的客户所必需的。
“已创建连接”对话框显示连接的客户端 ID 和客户端密码(如果适用)。
访问令牌生存时间(TTL)以分钟为单位。 默认值:
60
。刷新令牌的有效期,以分钟为单位。 默认值:
10080
。
单击 添加。
如果选择了 “生成客户端密码”,请复制并安全地存储客户端密码。 你以后无法检索客户端密码。
可以通过在帐户控制台的 “设置>应用连接 ”页上单击应用程序名称来编辑 UI 中的重定向 URL、令牌 TTL 和刷新令牌 TTL。 还可以在 UI 中查看现有的已发布 OAuth 应用程序。
若要使用 Azure Databricks CLI 将 Tableau Server 作为 OAuth 应用程序添加到 Azure Databricks 帐户,请执行以下作:
查找 Tableau Server URL。
运行以下命令:
databricks account custom-app-integration create --confidential --json '{"name":"<name>", "redirect_urls":["<redirect-url>"], "scopes":["all-apis", "offline_access", "openid", "profile", "email"]}'
- 将
<name>
替换为自定义 OAuth 应用程序的名称。 - 对于
<redirect-url>
,请将/auth/add_oauth_token
追加到 Tableau Server URL。 例如https://example.tableauserver.com/auth/add_oauth_token
。
有关受支持的值的详细信息,请参阅 REST API 参考中的 POST /api/2.0/accounts/{account_id}/oauth2/custom-app-integrations。
将生成客户端 ID 和客户端密码,并返回以下输出:
{"integration_id":"<integration-id>","client_id":"<client-id>","client_secret":"<client-secret>"}
备注
启用 OAuth 应用程序可能需要 30 分钟的处理时间。
- 将
安全地存储客户端密码。
重要
你以后无法检索客户端密码。
要在 Tableau Server 中配置 OAuth,请执行以下操作:
以服务器管理员身份登录 Tableau Server。
在边栏中,单击“设置”>“OAuth 客户端注册表”>“添加 OAuth 客户端”。
选择“Databricks”作为“连接类型”。
对于 客户端 ID,输入 在 Alternative:使用 Azure Databricks CLI 将 Tableau Server 添加为 OAuth 应用程序时生成的客户端 ID。
对于 客户端密码,请输入在替代项中生成的客户端密码 :使用 Azure Databricks CLI 将 Tableau Server 添加为 OAuth 应用程序。
对于 重定向 URL,请输入 “替代项”中的重定向 URL:使用 Azure Databricks CLI 将 Tableau Server 添加为 OAuth 应用程序。
单击“添加 OAuth 客户端”。
本节介绍如何解决 OAuth 配置的常见问题。
问题:尝试向 Tableau Server 进行身份验证时,会看到 404 错误。
原因:OAuth 配置错误。
解决方案:确保正确配置了 OAuth。
用户现在可以使用 SSO 从 Tableau Server 向 Azure Databricks 进行身份验证。 请参阅连接 Tableau 和 Azure Databricks。