启用或禁用合作伙伴 OAuth 应用程序
本文介绍了如何为你的 Azure Databricks 帐户启用和禁用合作伙伴 OAuth 应用程序。
默认情况下,将为你的帐户启用 dbt Core、Power BI、Tableau Desktop 和 Tableau Cloud OAuth 应用程序。
注意
OAuth 应用程序的更新可能需要 30 分钟才能完成。
使用 Databricks CLI 启用或禁用应用
本部分介绍如何使用 Databricks CLI 禁用默认情况下为你的帐户启用的合作伙伴 OAuth 应用程序,以及如何在禁用它们后重新启用。 它还介绍了如何启用和禁用 Tableau Server(默认情况下不会启用)。
开始之前
在使用 Databricks CLI 启用或禁用合作伙伴 OAuth 应用程序集成之前,请执行以下操作:
安装 Databricks CLI,并在 Databricks CLI 和 Databricks 帐户之间设置身份验证。
若要禁用或修改现有 OAuth 应用程序,请找到集成 ID。
对于 dbt Core、Power BI、Tableau Desktop 或 Tableau Cloud,请运行以下命令:
databricks account published-app-integration list
对于自定义应用程序(例如 Tableau Server),请运行以下命令:
databricks account custom-app-integration list
将返回每个 OAuth 应用程序的唯一集成 ID。
使用 CLI 禁用 dbt Core、Power BI、Tableau Desktop 或 Tableau Cloud OAuth 应用程序
默认情况下,将为你的帐户启用 dbt Core、Power BI、Tableau Desktop 和 Tableau Cloud OAuth 应用程序。 若要禁用 dbt Core、Power BI、Tableau Desktop 或 Tableau Cloud OAuth 应用程序,请运行以下命令(将其中的 <integration-id>
替换为要删除的 OAuth 应用程序的集成 ID):
databricks account published-app-integration delete <integration-id>
使用 CLI 重新启用 dbt Core、Power BI、Tableau Desktop 或 Tableau Cloud OAuth 应用程序
默认情况下,已在你的帐户中启用 dbt Core、Power BI、Tableau Desktop 和 Tableau Cloud 作为 OAuth 应用程序。 要在禁用这些 OAuth 应用程序之一后重新启用它,请运行以下命令,以将 <application-id>
替换为 databricks-dbt-adapter
、power-bi
、tableau-desktop
或 7de584d0-b7ad-4850-b915-be7de7d58711
(Tableau Cloud):
databricks account published-app-integration create <application-id>
将返回 OAuth 应用程序的唯一集成 ID。
使用 CLI 启用自定义 OAuth 应用程序
默认情况下,将为你的帐户启用 dbt Core、Power BI、Tableau Desktop 和 Tableau Cloud OAuth 应用程序。 可以使用 Azure Databricks CLI 启用其他自定义 OAuth 应用程序。
有关启用自定义 Tableau Server OAuth 应用程序的步骤,请参阅配置从 Tableau Server 登录 Azure Databricks。 有关使用 CLI 启用任何自定义 OAuth 应用程序的通用步骤,请参阅以下内容:
运行
custom-app-integration create
命令。 以下示例创建非公共(机密)应用程序:databricks account custom-app-integration create --confidential --json '{"name":"<name>", "redirect_urls":["<redirect-url>"], "scopes":[<scopes>]}'
- 将
<name>
替换为你的自定义 OAuth 应用程序的名称。 - 将
<redirect-url>
替换为你的应用程序的重定向 URL。 - 将
<scopes>
替换为要允许应用程序使用的作用域的列表。- 对于 BI 应用程序,
SQL
作用域是允许连接的应用访问 Databricks SQL API 所必需的。 - 对于出于 SQL 以外的目的需要访问 Databricks API 的应用程序,
ALL APIs
作用域是必需的。 openid
、email
和profile
作用域是生成 ID 令牌所必需的。offline_access
作用域是生成刷新令牌所必需的。
- 对于 BI 应用程序,
有关受支持的值的详细信息,请参阅 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 分钟来处理。
- 将
安全地存储客户端密码(如果适用)。
重要
你以后无法检索客户端密码。
使用 CLI 禁用自定义 OAuth 应用程序
若要禁用现有的 OAuth 应用程序,例如 Tableau Server,请运行以下命令(将其中的 <integration-id>
替换为要禁用的 OAuth 应用程序的集成 ID):
databricks account custom-app-integration delete <integration-id>
使用 Azure Databricks UI 启用自定义 OAuth 应用程序
默认情况下,将为你的帐户启用 dbt Core、Power BI、Tableau Desktop 和 Tableau Cloud OAuth 应用程序。 可以使用 Azure Databricks UI 启用其他自定义 OAuth 应用程序。
若要在 UI 中启用自定义 OAuth 应用程序,请执行以下操作:
登录到帐户控制台,然后单击边栏中的“设置”图标。
在“应用连接”选项卡上,单击“添加连接”。
输入以下详细信息:
连接的名称。
OAuth 连接的重定向 URL。
对于“访问范围”,请输入应用程序应有权访问的 API。
- 对于 BI 应用程序,
SQL
作用域是允许连接的应用访问 Databricks SQL API 所必需的。 - 对于出于非查询目的而需要访问 Databricks API 的应用程序,需要指定
ALL APIs
范围。
将自动允许以下范围:
openid
、email
、profile
:若要生成 ID 令牌,需要此范围。offline_access
:若要生成刷新令牌,需要此范围。
如果你不想为应用程序允许这些范围,可以使用 POST /api/2.0/accounts/{account_id}/oauth2/custom-app-integrations API 管理精细范围,以创建自定义应用程序。
- 对于 BI 应用程序,
访问令牌的生存时间 (TTL),以分钟为单位。 默认:
60
。刷新令牌的生存时间 (TTL),以分钟为单位。 默认:
10080
。是否生成客户端机密。 对于非公共(机密)客户端,必须指定此项。
“已创建连接”对话框会显示用于连接的客户端 ID 和客户端机密(如果适用)。
如果选择了“生成客户端机密”,请复制并安全存储客户端机密。 你以后无法检索客户端密码。
可以在 UI 中编辑现有自定义 OAuth 应用程序的重定向 URL、令牌 TTL 和刷新令牌 TTL,方法是在帐户控制台中的“设置”>“应用连接”页上单击应用程序名称。 还可以在 UI 中查看现有的已发布 OAuth 应用程序(dbt Core、Power BI、Tableau)。 可以编辑现有的已发布应用程序的令牌 TTL 和刷新令牌 TTL。
可以在 UI 中禁用已发布和自定义的 OAuth 应用程序,方法是单击应用程序名称或单击应用程序名称旁边的 kebab 菜单,然后单击“删除”。
注意
禁用应用程序会中断应用程序连接,因此禁用 OAuth 应用程序时请务必小心。 如果在 UI 中禁用已发布的 OAuth 应用程序,将无法在 UI 中重新启用它。 若要重新启用已发布的应用程序,请参阅使用 CLI 重新启用 dbt Core、Power BI、Tableau Desktop 或 Tableau Cloud OAuth 应用程序。