Azure CLI 身份验证
Azure CLI 身份验证使用 Azure CLI 对登录用户或 Microsoft Entra ID 服务主体进行身份验证。
注意
Azure Databricks 托管服务主体直接在 Azure Databricks 中进行管理。 Microsoft Entra ID 托管服务主体在 Microsoft Entra ID 中进行管理,这需要其他权限。 Databricks 建议在大多数情况下使用 OAuth 计算机到计算机 (M2M) 进行 Azure Databricks 托管服务主体的身份验证,而不是使用 Microsoft Entra ID 服务主体进行 Azure CLI 身份验证。 但是,Databricks 建议在必须同时向 Azure Databricks 和其他 Azure 资源进行身份验证的情况下,对 Microsoft Entra ID 服务主体进行 Azure CLI 身份验证。
若要将 OAuth M2M 身份验证与 Azure Databricks 托管服务主体配合使用,而不是使用 Microsoft Entra ID 服务主体进行 Azure CLI 身份验证,请跳过本文,并参阅 使用 OAuth授权无人参与访问 Azure Databricks 资源。
若要使用 Azure Databricks 进行配置,必须执行以下操作:
- 在本地安装 Azure CLI 身份验证。
- 运行
az login
命令,使用 Azure CLI 登录到 Azure Databricks。 请参阅: - 设置以下关联的环境变量、
.databrickscfg
字段、Terraform 字段或Config
字段:
若要使用 Azure Databricks 执行 Azure CLI 身份验证,请根据相关的工具或 SDK 在代码中集成以下内容:
环境
若要将环境变量用于工具或 SDK 的特定 Azure Databricks 身份验证类型,请参阅 授权访问 Azure Databricks 资源 或工具或 SDK 的文档。 另请参阅客户端统一身份验证的环境变量和字段和客户端统一身份验证的默认方法。
对于帐户级别操作,请设置以下环境变量:
DATABRICKS_HOST
,设置为 Azure Databricks 帐户控制台 URL 的值 (https://accounts.azuredatabricks.net
)。DATABRICKS_ACCOUNT_ID
对于工作区级别操作,请设置以下环境变量:
DATABRICKS_HOST
,设置为 Azure Databricks 每工作区 URL 的值,例如https://adb-1234567890123456.7.azuredatabricks.net
。
配置文件
使用 .databrickscfg
文件中的以下字段创建或标识 Azure Databricks 配置文件。 如果创建配置文件,请将占位符替换为适当的值。 若要将配置文件与工具或 SDK 配合使用,请参阅 授权访问 Azure Databricks 资源 或工具或 SDK 的文档。 另请参阅客户端统一身份验证的环境变量和字段和客户端统一身份验证的默认方法。
对于帐户级别操作,请在 .databrickscfg
文件中设置以下值。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
对于工作区级别操作,请在 .databrickscfg
文件中设置以下值。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
CLI
对于 Databricks CLI,请执行以下操作之一:
- 按照本文“环境”部分中所述,设置环境变量。
- 按照本文“配置文件”部分所述,设置
.databrickscfg
文件中的值。
环境变量始终优先于 .databrickscfg
文件中的值。
另请参阅 Azure CLI 身份验证。
连接
注意
以下 Databricks Connect 版本支持 Azure CLI 身份验证:
- 对于 Python,适用于 Databricks Runtime 13.1 及更高版本的 Databricks Connect。
- 对于 Scala,适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。
对于 Databricks Connect,可以执行以下操作之一:
- 按照本文的“配置文件”部分所述为 Azure Databricks 工作区级别操作设置
.databrickscfg
文件中的值。 此外,将配置文件中的cluster_id
环境变量设置为每工作区 URL,例如https://adb-1234567890123456.7.azuredatabricks.net
。 - 按照本文的“环境”部分所述为 Azure Databricks 工作区级别操作设置环境变量。 此外,将
DATABRICKS_CLUSTER_ID
环境变量设置为每工作区 URL,例如https://adb-1234567890123456.7.azuredatabricks.net
。
.databrickscfg
文件中的值始终优先于环境变量。
若要使用 .databrickscfg
文件中的以下环境变量或值初始化 Databricks Connect 客户端,请参阅 Databricks Connect 的计算配置。
VS Code
对于适用于 Visual Studio Code 的 Databricks 扩展,请执行以下操作:
- 在“配置”窗格中单击“配置 Databricks”。
- 在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL(例如
https://adb-1234567890123456.7.azuredatabricks.net
),然后按Enter
键。 - 选择“Azure CLI”。
有关详细信息,请参阅设置 Azure CLI 身份验证。
Terraform
provider "databricks" {
alias = "accounts"
}
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 HashiCorp Vault 等其他某个配置存储来检索值)。另请参阅保管库提供程序)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.azuredatabricks.net
:
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
}
provider "databricks" {
alias = "workspace"
}
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 HashiCorp Vault 等其他某个配置存储来检索值)。另请参阅保管库提供程序)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
}
有关使用 Databricks Terraform 提供程序进行身份验证的详细信息,请参阅身份验证。
Python
from databricks.sdk import AccountClient
a = AccountClient()
# ...
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.azuredatabricks.net
:
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id()
)
# ...
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(host = retrieve_workspace_url())
# ...
有关借助使用 Python 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅:
- 设置适用于 Python 的 Databricks Connect 客户端
- 为适用于 Visual Studio Code 的 Databricks 扩展设置身份验证
- 使用 Azure Databricks 帐户或工作区对 Databricks SDK for Python 进行身份验证
Java
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.azuredatabricks.net
:
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
AccountClient a = new AccountClient(cfg);
// ...
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
有关借助使用 Java 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅:
- 设置适用于 Scala 的 Databricks Connect 客户端(适用于 Scala 的 Databricks Connect 客户端使用随附的 Databricks SDK for Java 进行身份验证)
- 使用 Azure Databricks 帐户或工作区对 Databricks SDK for Java 进行身份验证
Go
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
}))
// ...
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
对于直接配置(将 retrieve
占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
}))
// ...
有关借助使用 Go 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅使用 Azure Databricks 帐户或工作区对 Databricks SDK for Go 进行身份验证。