使用 OAuth (OAuth M2M) 通过服务主体对 Azure Databricks 的访问进行身份验证

本文介绍如何创建 Azure Databricks 服务主体,并使用它或 Microsoft Entra ID 托管服务主体向目标实体进行身份验证。

注意

必须是 Azure Databricks 帐户管理员才能管理服务主体的 Azure Databricks OAuth 凭据。

步骤 1:在 Azure 帐户中创建 Microsoft Entra ID 服务主体

如果要将 Microsoft Entra ID 服务主体链接到 Azure Databricks 帐户、工作区或帐户和工作区,请完成此步骤。 否则,请跳到步骤 2。

  1. 登录到 Azure 门户

    注意

    要使用的门户根据 Microsoft Entra ID 应用程序是在 Azure 公有云中运行还是在国家云或主权云中运行而异。 有关详细信息,请参阅国家云

  2. 如果有权访问多个租户、订阅或目录,请单击顶部菜单中的“目录 + 订阅”(目录包含筛选器)图标,以切换到要预配服务主体的目录。

  3. 在“搜索资源、服务和文档”中,搜索并选择“Microsoft Entra ID”

  4. 单击“+ 添加”,然后选择“应用注册”。

  5. 对于“名称”,请输入应用程序的名称。

  6. 在“支持的帐户类型”部分中,选择“仅组织目录中的帐户(单一租户)”。

  7. 单击“注册”。

  8. 在应用程序页的“概述”页上的“概要”部分中,复制以下值:

    • 应用程序(客户端) ID
    • 目录(租户)ID

    关于 Azure 已注册的应用的概述

  9. 若要生成客户端密码,请在“管理”中单击“证书和机密”

    注意

    使用此客户端密码生成 Microsoft Entra ID 令牌,以使用 Azure Databricks 对 Microsoft Entra ID 服务主体进行身份验证。 若要确定 Azure Databricks 工具或 SDK 是否可以使用 Microsoft Entra ID 令牌,请参阅此工具或 SDK 的文档。

  10. 在“客户端密码”选项卡上,单击“新建客户端密码” 。

    新建客户端机密

  11. 在“添加客户端机密”窗格中的“说明”,输入客户端机密的说明。

  12. 对于“过期”,选择客户端机密的过期时间段,然后单击“添加”。

  13. 复制客户端密码的“值”并将其存储在安全位置,因为此客户端密码是应用程序的密码。

步骤 2:将服务主体添加到 Azure Databricks 帐户

仅当目标 Azure Databricks 工作区启用了联合身份验证时,此步骤才有效。 如果工作区未启用联合身份验证,请跳到步骤 3。

  1. 在 Azure Databricks 工作区中,单击顶部栏中的用户名,然后选择“管理帐户”。

    或者,直接转到 Azure Databricks 帐户控制台 (https://accounts.databricks.azure.cn)。

  2. 根据提示登录到你的 Azure Databricks 帐户。

  3. 在边栏上,单击“用户管理”。

  4. 单击“服务主体”选项卡。

  5. 单击“添加服务主体”。

  6. 在“管理”下,选择“Databricks 管理”或“Microsoft Entra ID 管理”

  7. 如果选择了“Microsoft Entra ID 管理”,请在“Microsoft Entra 应用程序 ID”下粘贴步骤 1 的应用程序(客户端)ID 值。

  8. 为服务主体输入名称

  9. 单击“添加” 。

  10. (可选)向服务主体分配帐户级权限:

    1. 在“服务主体”选项卡上,单击服务主体的名称
    2. 在“角色”选项卡上,按切换开关以启用或禁用你希望此服务主体具有的每个目标角色
    3. 在“权限”选项卡上,对你想要其管理和使用此服务主体的任何 Azure Databricks 用户、服务主体和帐户组角色授予访问权限。 请参阅管理服务主体上的角色

步骤 3:将服务主体添加到 Azure Databricks 工作区

如果工作区已启用联合身份验证

  1. 在 Azure Databricks 工作区中,单击顶部栏中的用户名,然后单击“设置”
  2. 单击“身份验证和访问控制”选项卡。
  3. 单击“服务主体”旁的“管理”。
  4. 单击“添加服务主体”。
  5. 从步骤 2 中选择服务主体,然后单击“添加”

跳转到步骤 4。

如果工作区未启用联合身份验证:

  1. 在 Azure Databricks 工作区中,单击顶部栏中的用户名,然后单击“设置”
  2. 单击“身份验证和访问控制”选项卡。
  3. 单击“服务主体”旁的“管理”。
  4. 单击“添加服务主体”。
  5. 单击“新增” 。
  6. 在“管理”下,选择“Databricks 管理”或“Microsoft Entra ID 管理”
  7. 如果选择了“Microsoft Entra ID 管理”,请在“Microsoft Entra 应用程序 ID”下粘贴步骤 1 的应用程序(客户端)ID 值。
  8. 输入新服务主体的一些显示名称,然后单击“添加”。

步骤 4:向服务主体分配工作区级权限

  1. 如果工作区的管理控制台尚未打开,请单击顶部栏中的用户名,然后单击“设置”
  2. 单击“身份验证和访问控制”选项卡。
  3. 单击“服务主体”旁的“管理”。
  4. 单击服务主体的名称以打开其设置页。
  5. 在“配置”选项卡上,勾选你希望服务主体在此工作区拥有的每项权利旁边的框,然后单击“更新”。
  6. 在“权限”选项卡上,对你想要其管理和使用此服务主体的任何 Azure Databricks 用户、服务主体和组授予访问权限。 请参阅管理服务主体上的角色

步骤 5:为服务主体创建 Azure Databricks OAuth 机密

必须先创建可用于生成 OAuth 访问令牌的 OAuth 机密,然后才能使用 OAuth 向 Azure Databricks 进行身份验证。 服务主体最多可以有五个 OAuth 机密。

若要从帐户控制台为服务主体创建 OAuth 机密,请执行以下操作:

  1. 登录到位于 https://accounts.databricks.azure.cn 的 Azure Databricks 帐户控制台。
  2. 根据提示登录到你的 Azure Databricks 帐户。
  3. 在边栏上,单击“用户管理”。
  4. 单击“服务主体”选项卡。
  5. 单击服务主体的名称。
  6. 主体信息选项卡的 OAuth 机密部分中,单击生成机密
  7. 在“生成机密”对话框中,复制“机密”值并将其存储在安全的位置,因为此 OAuth 机密是服务主体的密码
  8. 单击“完成” 。

若要从工作区为服务主体创建 OAuth 机密,请执行以下操作:

  1. 作为工作区管理员,单击顶部栏中的用户名,然后选择“设置”

  2. 单击“身份验证和访问控制”选项卡。

  3. 单击“服务主体”旁的“管理”。

  4. 单击服务主体的名称以打开其设置页。

  5. 单击“机密”选项卡。

  6. 在 OAuth 机密下,单击“生成机密”

  7. 复制显示的“机密”和“客户端 ID”,然后单击“完成”

    机密在创建过程中只显示一次。 客户端 ID 与服务主体的应用程序 ID 相同。

注意

若要使服务主体能够使用群集或 SQL 仓库,必须向其授予服务主体访问权限。 请参阅计算权限管理 SQL 仓库

完成 OAuth M2M 身份验证配置

若要完成 OAuth M2M 身份验证的配置,必须设置以下关联的环境变量、.databrickscfg 字段、Terraform 字段或 Config 字段:

  • Azure Databricks 主机,指定为 https://accounts.databricks.azure.cn(对于帐户操作)或指定为目标每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn(对于工作区操作)。
  • Azure Databricks 帐户 ID(对于 Azure Databricks 帐户操作)。
  • 服务主体客户端 ID。
  • 服务主体机密。

若要执行 OAuth M2M 身份验证,请根据相关的工具或 SDK 在代码中集成以下内容:

环境

若要通过工具或 SDK 对特定 Azure Databricks 身份验证类型使用环境变量,请参阅对 Azure Databricks 资源的访问进行身份验证,或该工具或 SDK 的相关文档。 另请参阅客户端统一身份验证的环境变量和字段客户端统一身份验证的默认方法

对于帐户级操作,请设置以下环境变量:

  • DATABRICKS_HOST,设置为 Azure Databricks 帐户控制台 URL,https://accounts.databricks.azure.cn
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

对于工作区级操作,请设置以下环境变量:

  • DATABRICKS_HOST,设置为 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

配置文件

.databrickscfg 文件中使用以下字段创建或标识 Azure Databricks 配置文件。 如果创建配置文件,请将占位符替换为相应值。 若要通过工具或 SDK 使用配置文件,请参阅对 Azure Databricks 资源的访问进行身份验证,或该工具或 SDK 的相关文档。 另请参阅客户端统一身份验证的环境变量和字段客户端统一身份验证的默认方法

对于帐户级操作,请在 .databrickscfg 文件中设置以下值。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

[<some-unique-configuration-profile-name>]
host          = <account-console-url>
account_id    = <account-id>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

对于工作区级操作,请在 .databrickscfg 文件中设置以下值。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

[<some-unique-configuration-profile-name>]
host          = <workspace-url>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

CLI

对于 Databricks CLI,请执行以下操作之一:

  • 按本文“环境”部分所述设置环境变量。
  • 按照本文“配置文件”部分所述设置 .databrickscfg 文件中的值。

环境变量始终优先于 .databrickscfg 文件中的值。

另请参阅 OAuth 计算机到计算机 (M2M) 身份验证

“连接”

注意

以下 Databricks Connect 版本支持 OAuth M2M 身份验证:

  • 对于 Python,Databricks Connect for Databricks Runtime 14.0 及更高版本。
  • 对于 Scala,为 Databricks Connect for Databricks Runtime 13.3 LTS 及更高版本。 Databricks Connect for Databricks Runtime 13.3 LTS 及更高版本随附的 Databricks SDK for Java 必须升级到 Databricks SDK for Java 0.17.0 或更高版本。

对于 Databricks Connect,可以执行以下操作之一:

  • 按照本文“配置文件”部分所述为 Azure Databricks 工作区级别操作设置 .databrickscfg 文件中的值。 此外,将配置文件中的 cluster_id 环境变量设置为每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn
  • 按照本文“环境”部分所述为 Azure Databricks 工作区级别操作设置环境变量。 此外,将 DATABRICKS_CLUSTER_ID 环境变量设置为每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

.databrickscfg 文件中的值始终优先于环境变量。

若要使用 .databrickscfg 文件中的以下环境变量或值初始化 Databricks Connect 客户端,请参阅以内容之一:

VS Code

对于适用于 Visual Studio Code 的 Databricks 扩展,请执行以下操作:

  1. 按照本文“配置文件”部分所述为 Azure Databricks 工作区级别操作设置 .databrickscfg 文件中的值。
  2. 在 Visual Studio Code 的 Databricks 扩展中,单击“配置”窗格中的“配置 Databricks”。
  3. 在“命令面板”中,对于“Databricks 主机”,请输入每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn,然后按 Enter
  4. 在命令面板中,在 URL 列表中选择目标配置文件的名称

有关详细信息,请参阅 Visual Studio Code 的 Databricks 扩展的身份验证设置

Terraform

对于帐户级操作,对于默认身份验证

provider "databricks" {
  alias = "accounts"
}

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 HashiCorp Vault 等其他某个配置存储检索值)。另请参阅保管库提供程序)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

provider "databricks" {
  alias         = "accounts"
  host          = <retrieve-account-console-url>
  account_id    = <retrieve-account-id>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

对于工作区级操作,对于默认身份验证

provider "databricks" {
  alias = "workspace"
}

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 HashiCorp Vault 等其他某个配置存储检索值)。另请参阅保管库提供程序)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

provider "databricks" {
  alias         = "workspace"
  host          = <retrieve-workspace-url>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

有关使用 Databricks Terraform 提供程序进行身份验证的详细信息,请参阅身份验证

Python

对于帐户级别操作,请将以下内容用于默认身份验证

from databricks.sdk import AccountClient

a = AccountClient()
# ...

对于直接配置,使用以下内容,将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他配置存储区检索值。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

from databricks.sdk import AccountClient

a = AccountClient(
  host          = retrieve_account_console_url(),
  account_id    = retrieve_account_id(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

对于工作区级别操作,特别是默认身份验证,请执行以下代码:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他配置存储区检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host          = retrieve_workspace_url(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

有关借助使用 Python 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅:

注意

Visual Studio Code 的 Databricks 扩展使用 Python 但尚未实现 OAuth M2M 身份验证。

Java

对于工作区级操作,对于默认身份验证

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他配置存储区检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

有关借助使用 Java 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅:

Go

对于帐户级操作,对于默认身份验证

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他配置存储区检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

对于工作区级操作,对于默认身份验证

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他配置存储区检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

有关借助使用 Go 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅使用 Azure Databricks 帐户或工作区对 Databricks SDK for Go 进行身份验证

手动生成和使用 OAuth M2M 身份验证的访问令牌

实现 Databricks 客户端统一身份验证标准的 Azure Databricks 工具和 SDK 将根据 OAuth M2M 身份验证的需要,代表你自动生成、刷新和使用 Azure Databricks OAuth 访问令牌。

如果必须手动生成、刷新或使用 Azure Databricks OAuth 访问令牌进行 OAuth M2M 身份验证,请按照本部分中的说明进行操作。

步骤 1:创建服务主体和 OAuth 机密

如果尚无 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体及其相应的 Azure Databricks OAuth 机密,请通过完成本文开头的步骤 1-5 来创建它们。

步骤 2:手动生成访问令牌

使用 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端 ID 和 Azure Databricks OAuth 机密来请求 Azure Databricks OAuth 访问令牌,以向帐户级别 REST API 和工作区级别 REST API 进行身份验证。 令牌将在一小时后过期。 必须在过期后请求新的 Azure Databricks OAuth 访问令牌。 OAuth 访问令牌的范围取决于你创建令牌处的级别。 可在帐户级别或工作区级别创建令牌,如下所示:

  • 若要在 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体有权访问的帐户和工作区中调用帐户级和工作区级 REST API,请在帐户级手动生成访问令牌
    • 若要仅在 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体有权访问的一个工作区中调用 REST API,可仅为该工作区在工作区级手动生成访问令牌

手动生成帐户级访问令牌

从帐户级别创建的 Azure Databricks OAuth 访问令牌可用于帐户中的 Databricks REST API 以及 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体被分配到的任何工作区中的 Databricks API。

  1. 作为帐户管理员,登录到帐户控制台

  2. 单击右上角用户名旁边的向下箭头。

  3. 复制你的帐户 ID

  4. 通过将以下 URL 中的 <my-account-id> 替换为你复制的帐户 ID 来构造令牌终结点 URL。

    https://accounts.databricks.azure.cn/oidc/accounts/<my-account-id>/v1/token
    
  5. 使用 curl 等客户端通过令牌终结点 URL、Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端 ID(也称为应用程序 ID),以及为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体创建的 Azure Databricks OAuth 机密,请求 Azure Databricks OAuth 访问令牌。 all-apis 范围会请求一个 Azure Databricks OAuth 访问令牌,该访问令牌可用于访问 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体被授予访问权限的所有 Databricks REST API。

    • <token-endpoint-URL> 替换为上面的令牌终结点 URL。
    • <client-id> 替换为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端 ID,它也被称为应用程序 ID。
    • <client-secret> 替换为你为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体创建的 Azure Databricks OAuth 机密。
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    这会生成类似于下例的响应:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    从响应复制 access_token

    Azure Databricks OAuth 访问令牌将在一小时后过期。 必须在过期后手动生成新的 Azure Databricks OAuth 访问令牌。

  6. 直接跳至步骤 3:调用 Databricks REST API

手动生成工作区级访问令牌

从工作区级别创建的 Azure Databricks OAuth 访问令牌只能访问该工作区中的 REST API,即使 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体是帐户管理员或其他工作区的成员也是如此。

  1. 通过将 https://<databricks-instance> 替换为你的 Azure Databricks 部署的工作区 URL 来构造令牌终结点 URL:

    https://<databricks-instance>/oidc/v1/token
    
  2. 使用 curl 等客户端通过令牌终结点 URL、Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端 ID(也称为应用程序 ID),以及为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体创建的 Azure Databricks OAuth 机密,请求 Azure Databricks OAuth 访问令牌。 all-apis 范围会请求一个 Azure Databricks OAuth 访问令牌,该访问令牌可用于访问在你请求令牌的工作区内且 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体被授予访问权限的所有 Databricks REST API。

    • <token-endpoint-URL> 替换为上面的令牌终结点 URL。

    • <client-id> 替换为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端 ID,它也被称为应用程序 ID。

    • <client-secret> 替换为你为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体创建的 Azure Databricks OAuth 机密。

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      这会生成类似于下例的响应:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      从响应复制 access_token

步骤 3:调用 Databricks REST API

现在可以使用 Azure Databricks OAuth 访问令牌向 Azure Databricks 帐户级别 REST API 和工作区级别 REST API 进行身份验证。 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体必须是帐户管理员,才能调用帐户级 REST API。

可使用 Bearer 身份验证将令牌包含在标头中, 也可将此方法用于 curl 或你构建的任何客户端。

帐户级 REST API 请求示例

此示例使用 Bearer 身份验证来获取与帐户关联的所有工作区的列表。

  • <oauth-access-token> 替换为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的 Azure Databricks OAuth 访问令牌。
  • <account-id> 替换为你的帐户 ID。
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://accounts.databricks.azure.cn/api/2.0/accounts/<account-id>/workspaces'

工作区级 REST API 请求示例

此示例使用 Bearer 身份验证列出指定工作区中的所有可用群集。

  • <oauth-access-token> 替换为 Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的 Azure Databricks OAuth 访问令牌。

  • <workspace-URL> 替换为你的基本工作区 URL,其格式类似于 adb-1111111111111111.1.databricks.azure.cn

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'
    

其他资源