Azure Databricks 身份验证自动化 - 概述

在 Azure Databricks 中,身份验证是指验证 Azure Databricks 身份(例如用户、服务主体或组)或 Azure 托管标识。 Azure Databricks 使用凭据(例如访问令牌)来验证身份。

在 Azure Databricks 验证调用方的身份后,Azure Databricks 将使用称为“授权”的过程来确定已验证的身份是否拥有足够的访问权限,可以针对位于给定位置的资源执行指定的操作。 本文仅包含有关身份验证的详细信息。 它不包括有关授权或访问权限的详细信息;请参阅身份验证和访问控制

当工具发出自动化或 API 请求时,它将包含凭据用于对 Azure Databricks 的标识进行身份验证。 本文介绍可以通过哪些典型方法来创建、存储和传递 Azure Databricks 在对请求进行身份验证和授权时所需的凭据及相关信息。 若要了解你的工具、SDK、脚本和应用支持哪些凭据类型、相关信息和存储机制,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型或提供程序的文档。

Azure Databricks 身份验证的常见任务

按照以下说明完成 Azure Databricks 身份验证的常见任务。

若要完成此任务…… 请按照本文中的说明进行操作
创建可用于在 Azure Databricks 帐户级别进行身份验证的 Azure Databricks 用户。 管理帐户中的用户
创建可用于对特定 Azure Databricks 工作区进行身份验证的 Azure Databricks 用户。 管理你所在工作区中的用户
为 Azure Databricks 用户创建 Azure Databricks 个人访问令牌。 (此 Azure Databricks 个人访问令牌只能用于与其关联的 Azure Databricks 工作区进行身份验证。) 工作区用户的 Azure Databricks 个人访问令牌
创建 Azure Databricks 托管服务主体,然后将该 Azure Databricks 托管服务主体添加到 Azure Databricks 帐户、特定的 Azure Databricks 工作区或同时添加到这两个位置。 然后,可以使用此服务主体在 Azure Databricks 帐户级别和/或特定 Azure Databricks 工作区进行身份验证。 管理服务主体
创建一个 Azure Databricks 配置文件。 Azure Databricks 配置文件
创建一个 Azure Databricks 组,并将 Azure Databricks 用户和 Azure 服务主体添加到该组,以获得更可靠的授权。 使用帐户控制台管理帐户组使用工作区管理设置页面管理帐户组

支持的 Azure Databricks 身份验证类型

Azure Databricks 提供了多种对 Azure Databricks 用户、服务主体和 Azure 托管标识进行身份验证的方法,如下所示:

身份验证类型 详细信息
Azure 托管标识身份验证 * Azure 托管标识身份验证使用 Azure 资源托管标识进行身份验证。 请参阅什么是 Azure 资源托管标识?
* Azure 托管身份使用 Microsoft Entra ID 令牌作为身份验证凭据。 这些令牌在 Azure 系统中内部管理。 你无法访问这些令牌。
* Azure 托管标识身份验证必须从支持 Azure 托管标识的资源启动,例如 Azure 虚拟机 (Azure VM)。
* 有关其他技术详细信息,请参阅 Azure 托管标识身份验证
OAuth 用户到计算机 (U2M) 身份验证 * OAuth U2M 身份验证使用 Azure Databricks 用户进行身份验证。
* OAuth U2M 身份验证使用短期(一小时)Azure Databricks OAuth 访问令牌作为身份验证凭据。
* 参与的 Azure Databricks 工具和 SDK 可以自动刷新过期的 OAuth 访问令牌。 请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型Databricks 客户端统一身份验证
* OAuth U2M 身份验证身份验证适用于有人参与的身份验证方案。 这些方案包括手动和快速开发工作流,可在出现提示时使用 Web 浏览器实时向 Azure Databricks 进行身份验证。
* 如果你的目标 Azure Databricks 工具或 SDK 支持,Databricks 建议使用 Azure 托管标识身份验证,而不是 OAuth U2M 身份验证。 这是因为 Azure 托管标识身份验证不会公开凭据。
* 有关其他技术详细信息,请参阅 OAuth 用户到机器 (U2M) 身份验证
Microsoft Entra ID 服务主体身份验证 * Microsoft Entra ID 服务主体身份验证使用 Microsoft Entra ID 服务主体进行身份验证。 它不能与 Azure Databricks 托管服务主体一起使用。
* Microsoft Entra ID 服务主体身份验证使用短期(通常为一小时)Microsoft Entra ID 令牌作为身份验证凭据。
* 过期的 Microsoft Entra ID 令牌可以通过参与的 Azure Databricks 工具和 SDK 自动刷新。 请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型Databricks 客户端统一身份验证
* 如果你的目标 Azure Databricks 工具或 SDK 支持,Databricks 建议使用 Azure 托管标识身份验证,而不是 Microsoft Entra ID 服务主体身份验证。 这是因为 Azure 托管标识身份验证不会公开凭据。
* 如果你无法使用 Azure 托管标识身份验证,Databricks 建议使用 OAuth M2M 身份验证,而不是 Microsoft Entra ID 服务主体身份验证
* Databricks 建议在必须使用 Microsoft Entra ID 令牌作为身份验证凭据的情况下,使用 Microsoft Entra ID 服务主体身份验证。 例如,可能需要同时向 Azure Databricks 和其他 Azure 资源进行身份验证,这需要使用 Microsoft Entra ID 令牌。
* 有关其他技术详细信息,请参阅 Microsoft Entra ID 服务主体身份验证
Azure CLI 身份验证 * Azure CLI 身份验证使用 Azure CLI 以及 Azure Databricks 用户或 Microsoft Entra ID 托管服务主体进行身份验证。
* Azure CLI 身份验证使用短期(通常为一小时)的 Microsoft Entra ID 令牌作为身份验证凭据。
* 参与的 Azure Databricks 工具和 SDK 可以自动刷新过期的 Microsoft Entra ID 令牌。 SDK。 请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型Databricks 客户端统一身份验证
* 如果你的目标 Azure Databricks 工具或 SDK 支持,Databricks 建议使用 Azure 托管标识身份验证,而不是 Azure CLI 身份验证。 Azure 托管标识身份验证使用 Azure 托管标识,而不是 Azure Databricks 用户或 Microsoft Entra ID 托管服务主体,并且 Azure 托管标识比 Azure Databricks 用户或 Microsoft Entra ID 托管服务主体更安全,因为 Azure 托管标识身份验证不会公开凭据。 请参阅什么是 Azure 资源托管标识?
* Databricks 建议在必须使用 Microsoft Entra ID 令牌作为身份验证凭据的情况下,使用 Azure CLI 身份验证。 例如,可能需要同时向 Azure Databricks 和其他 Azure 资源进行身份验证,这需要使用 Microsoft Entra ID 令牌。
* Azure CLI 身份验证身份验证适用于有人参与的身份验证方案。 这些方案包括手动和快速开发工作流,可在其中使用 Azure CLI 实时向 Azure Databricks 进行身份验证。
* 有关其他技术详细信息,请参阅 Azure CLI 身份验证
Azure Databricks 个人访问令牌身份验证 * Azure Databricks 个人访问令牌身份验证使用 Azure Databricks 用户进行身份验证。
* Azure Databricks 个人访问令牌身份验证使用短期或长期字符串作为身份验证凭据。 这些访问令牌可以设置为在一天或更短的时间内过期,也可以设置为永不过期。
* 无法刷新过期的 Azure Databricks 个人访问令牌。
* Databricks 不建议使用 Azure Databricks 个人访问令牌(尤其是长期访问令牌)作为身份验证凭据,因为它们的安全性低于 Microsoft Entra ID 或 Azure Databricks OAuth 访问令牌。
* 如果你的目标 Azure Databricks 工具或 SDK 支持,Databricks 建议使用 Azure 托管标识身份验证,而不是 Azure Databricks 个人访问令牌身份验证。 Azure 托管标识身份验证使用 Azure 托管标识,而不是 Azure Databricks 用户,并且 Azure 托管标识比 Azure Databricks 用户更安全。 请参阅什么是 Azure 资源托管标识?
* 如果无法使用 Azure 托管标识身份验证,Databricks 建议使用Azure CLI 身份验证,而不是 Azure Databricks 个人访问令牌身份验证
* 有关其他技术详细信息,请参阅 Azure Databricks 个人访问令牌身份验证

Azure Databricks 工具或 SDK 支持的身份验证类型

适用于一种或多种受支持的 Azure Databricks 身份验证类型的 Azure Databricks 工具和 SDK 包括:

工具或 SDK 支持的身份验证类型
Databricks CLI * OAuth 用户到计算机 (U2M) 身份验证
* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

有关特定 Databricks CLI 身份验证文档,包括如何设置和使用 Azure Databricks 配置文件在多个相关身份验证设置之间切换,请参阅:

* OAuth 计算机到计算机 (M2M) 身份验证
* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

有关 Databricks CLI 的其他技术详细信息,请参阅什么是 Databricks CLI?
Databricks Terraform 提供程序 * Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持 OAuth 用户到计算机 (U2M) 身份验证

有关特定 Databricks Terraform 提供程序身份验证文档,包括如何通过环境变量、Azure Databricks 配置文件.tfvars 文件或机密存储(如 Hashicorp Vault 或 Azure Key Vault)来存储和使用凭据,请参阅身份验证

有关 Databricks Terraform 提供程序的其他技术详细信息,请参阅 Databricks Terraform 提供程序
Databricks Connect * OAuth 用户到计算机 (U2M) 身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持 Azure 托管标识身份验证

有关特定 Databricks Connect 身份验证文档,请参阅:

* 设置 Python 客户端
* 设置 Scala 客户端

有关 Databricks Connect 的其他技术详细信息,请参阅什么是 Databricks Connect?
适用于 Visual Studio Code 的 Databricks 扩展 * OAuth 用户到计算机 (U2M) 身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持 Azure 托管标识身份验证

有关 Visual Studio Code 身份验证文档的特定 Databricks 扩展,请参阅适用于 Visual Studio Code 的 Databricks 扩展的身份验证设置

有关适用于 Visual Studio Code 的 Databricks 扩展的其他技术详细信息,请参阅什么是适用于 Visual Studio Code 的 Databricks 扩展?
Databricks SDK for Python * OAuth 用户到计算机 (U2M) 身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持 Azure 托管标识身份验证

有关特定 Databricks SDK for Python 身份验证文档,请参阅:

* 使用 Azure Databricks 帐户或工作区对 Databricks SDK for Python 进行身份验证
* 身份验证

有关 Databricks SDK for Python 的其他技术详细信息,请参阅 Databricks SDK for Python
Databricks SDK for Java * OAuth 用户到计算机 (U2M) 身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持 Azure 托管标识身份验证

有关特定 Databricks SDK for Java 身份验证文档,请参阅:

* 使用 Azure Databricks 帐户或工作区对 Databricks SDK for Java 进行身份验证
* 身份验证

有关 Databricks SDK for Java 的其他技术详细信息,请参阅 Databricks SDK for Java
Databricks SDK for Go * OAuth 用户到计算机 (U2M) 身份验证
* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证
* Azure Databricks 个人访问令牌身份验证

有关特定 Databricks SDK for Java 身份验证文档,请参阅:

* 使用 Azure Databricks 帐户或工作区对 Databricks SDK for Go 进行身份验证
* 身份验证

有关 Databricks SDK for Go 的其他技术详细信息,请参阅 Databricks SDK for Go
Databricks 资产捆绑包 * OAuth 用户到计算机 (U2M) 身份验证
* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure Databricks 个人访问令牌身份验证

不支持 Azure CLI 身份验证

有关 Databricks 资产捆绑包的其他技术详细信息,请参阅什么是 Databricks 资产捆绑包?
适用于 Visual Studio Code 的 Databricks Driver for SQLTools * OAuth 用户到计算机 (U2M) 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持以下身份验证类型:

* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证

有关适用于 Visual Studio Code 的 Databricks Driver for SQLTools 的其他技术详细信息,请参阅适用于 Visual Studio Code 的 Databricks Driver for SQLTools
适用于 Python 的 Databricks SQL 连接器 * OAuth 用户到计算机 (U2M) 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持以下身份验证类型:

* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证

有关 Databricks SQL Connector for Python 的其他技术详细信息,请参阅 Databricks SQL Connector for Python
用于 Node.js 的 Databricks SQL 驱动程序 * OAuth 用户到计算机 (U2M) 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持以下身份验证类型:

* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证

有关 Databricks SQL Driver for Node.js 的其他技术详细信息,请参阅 Databricks SQL Driver for Node.js
用于 Go 的 Databricks SQL 驱动程序 * OAuth 用户到计算机 (U2M) 身份验证
* Azure Databricks 个人访问令牌身份验证

尚不支持以下身份验证类型:

* Azure 托管标识身份验证
* Microsoft Entra ID 服务主体身份验证
* Azure CLI 身份验证

有关 Databricks SQL Driver for Go 的其他技术详细信息,请参阅 Databricks SQL Driver for Go
其他 Azure Databricks 工具和 SDK 请参阅该工具或 SDK 的文档:

* Databricks SDK for R
* Databricks SQL CLI

Azure Databricks 帐户和工作区 REST API

Databricks 将其 Databricks REST API 组织成两种类别的 API:帐户 API工作区 API。 其中每个类别需要不同的信息集来对目标 Azure Databricks 标识进行身份验证。 此外,每种受支持的 Databricks 身份验证类型都需要用于唯一标识目标 Azure Databricks 标识的其他信息。

例如,若要对 Azure Databricks 标识进行身份验证以调用 Azure Databricks 帐户级 API 操作,必须提供以下信息:

  • 目标 Azure Databricks 帐户控制台 URL(通常为 https://accounts.databricks.azure.cn)。
  • 目标 Azure Databricks 帐户 ID。 请参阅查找帐户 ID
  • 用于唯一标识目标 Databricks 身份验证类型的目标 Azure Databricks 标识的信息。 有关要提供的特定信息,请参阅本文后面有关该身份验证类型的部分。

要对 Azure Databricks 标识进行身份验证以调用 Azure Databricks 工作区级 API 操作,必须提供以下信息:

  • 目标 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn
  • 用于唯一标识目标 Databricks 身份验证类型的目标 Azure Databricks 标识的信息。 有关要提供的特定信息,请参阅本文后面有关该身份验证类型的部分。

Databricks 客户端统一身份验证

Databricks 提供一种整合且一致的体系结构和编程身份验证方法,称为 Databricks 客户端统一身份验证。 此方法有助于使 Databricks 的身份验证设置和自动化更加集中和可预测。 借助此方法,你只需配置 Databricks 身份验证一次,然后即可在多个 Databricks 工具和 SDK 中使用该配置,而无需进一步更改身份验证配置。

相关的 Databricks 工具和 SDK 包括:

所有参与的工具和 SDK 都接受使用特殊环境变量和 Azure Databricks 配置文件进行身份验证。 Databricks Terraform 提供程序以及适用于 Python、Java 和 Go 的 Databricks SDK 也接受在代码中直接配置身份验证设置。 有关详细信息,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型,或者有关该工具或 SDK 的文档。

客户端统一身份验证方法和凭据的默认评估顺序

每当相关的工具或 SDK 需要使用 Azure Databricks 进行身份验证时,该工具或 SDK 默认将按以下顺序尝试以下类型的身份验证。 当该工具或 SDK 成功完成其尝试的身份验证类型时,它将停止使用其余的身份验证类型尝试身份验证。 若要强制 SDK 使用特定的身份验证类型进行身份验证,请设置 Config API 的 Databricks 身份验证类型字段。

  1. Azure Databricks 个人访问令牌身份验证

  2. OAuth 用户到计算机 (U2M) 身份验证

  3. Azure 托管标识身份验证

  4. Microsoft Entra ID 服务主体身份验证

  5. Azure CLI 身份验证

对于相关工具或 SDK 尝试的每种身份验证类型,该工具或 SDK 将尝试按以下顺序在以下位置查找身份验证凭据。 当该工具或 SDK 成功找到可以使用的身份验证凭据时,它将停止尝试在其余位置查找身份验证凭据。

  1. 凭据相关的 Config API 字段(适用于 SDK)。 要设置 Config 字段,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型,或者有关该 SDK 的参考文档。
  2. 凭据相关的环境变量。 要设置环境变量,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型和操作系统文档。
  3. .databrickscfg 文件内的 DEFAULT 配置文件中与凭据相关的字段。 若要设置配置文件字段,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型和 (#config-profiles)。
  4. Azure CLI 缓存的任何相关身份验证凭据。 请参阅 Azure CLI

为了实现代码的最大可移植性,Databricks 建议在 .databrickscfg 文件中创建自定义配置文件,将目标 Databricks 身份验证类型的必填字段添加到自定义配置文件,然后将 DATABRICKS_CONFIG_PROFILE 环境变量设置为自定义配置文件的名称。 有关详细信息,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型

客户端统一身份验证的环境变量和字段

下表列出了 Databricks 客户端统一身份验证支持的环境变量和字段的名称与说明。 在下面的表中:

常规主机、令牌和帐户 ID 环境变量和字段

公用名 说明 环境变量 .databrickscfg 字段、Terraform 字段 Config 字段
Azure Databricks 主机 (字符串)Azure Databricks 工作区终结点或 Azure Databricks 帐户终结点的 Azure Databricks 主机 URL。 DATABRICKS_HOST host host (Python)
setHost (Java)、
Host (Go)
Azure Databricks 令牌 (字符串)Azure Databricks 个人访问令牌或 Microsoft Entra ID 令牌。 DATABRICKS_TOKEN token token (Python)
setToken (Java)、
Token (Go)
Azure Databricks 帐户 ID (字符串)Azure Databricks 帐户终结点的 Azure Databricks 帐户 ID。 仅当 Azure Databricks 主机也设置为以下值时才有效:
https://accounts.databricks.azure.cn
DATABRICKS_ACCOUNT_ID account_id account_id (Python)
setAccountID (Java)、
AccountID (Go)

特定于 Azure 的环境变量和字段

公用名 说明 环境变量 .databrickscfg 字段、Terraform 字段 Config 字段
Azure 客户端 ID (字符串)Microsoft Entra ID 服务主体的应用程序 ID。 与 Azure 托管标识身份验证和 Microsoft Entra ID 服务主体身份验证配合使用。 ARM_CLIENT_ID azure_client_id azure_client_id (Python)
setAzureClientID (Java)、
AzureClientID (Go)
Azure 客户端机密 (字符串)Microsoft Entra ID 服务主体的客户端密码。 与 Microsoft Entra ID 服务主体身份验证配合使用。 ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python)
setAzureClientSecret (Java)、
AzureClientSecret (Go)
客户端 ID (字符串)Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端 ID。 与 OAuth M2M 身份验证一起使用。 DATABRICKS_CLIENT_ID client_id client_id (Python)
setClientId (Java)、
ClientId (Go)
客户端密码 (字符串)Azure Databricks 托管服务主体或 Microsoft Entra ID 托管服务主体的客户端密码。 与 OAuth M2M 身份验证一起使用。 DATABRICKS_CLIENT_SECRET client_secret client_secret (Python)
setClientSecret (Java)、
ClientSecret (Go)
Azure 环境 (字符串)Azure 环境类型。 默认为 PUBLIC ARM_ENVIRONMENT azure_environment azure_environment (Python)
setAzureEnvironment (Java)、
AzureEnvironment (Go)
Azure 租户 ID (字符串)Microsoft Entra ID 服务主体的租户 ID。 ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python)
setAzureTenantID (Java)、
AzureTenantID (Go)
Azure 使用 MSI (布尔值)True 表示对服务主体使用 Azure 托管服务标识无密码身份验证流。 还需要设置 Azure 资源 ID。 ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
Azure 资源 ID (字符串)Azure Databricks 工作区的 Azure 资源管理器 ID。 DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python)
setAzureResourceID (Java)、
AzureResourceID (Go)

特定于 .databrickscfg 的环境变量和字段

使用这些环境变量或字段为 .databrickscfg 指定非默认设置。 另请参阅 Azure Databricks 配置文件

公用名 说明 环境变量 Terraform 字段 Config 字段
.databrickscfg 文件路径 (字符串)非默认路径
.databrickscfg 文件 。
DATABRICKS_CONFIG_FILE config_file config_file (Python)
setConfigFile (Java)、
ConfigFile (Go)
.databrickscfg 默认配置文件 (字符串)要使用的默认命名配置文件,但不是 DEFAULT DATABRICKS_CONFIG_PROFILE profile profile (Python)
setProfile (Java)、
Profile (Go)

身份验证类型字段

使用此环境变量或字段强制 SDK 使用特定类型的 Databricks 身份验证。

公用名 说明 Terraform 字段 Config 字段
Databricks 身份验证类型 (字符串)当环境中有多个身份验证属性可用时,将使用此参数指定的身份验证类型。 auth_type auth_type (Python)
setAuthType (Java)、
AuthType (Go)

支持的 Databricks 身份验证类型字段值包括:

Azure Databricks 配置文件

Azure Databricks 配置文件(有时简称为配置文件或 profile)包含 Azure Databricks 进行身份验证所需的设置和其他信息。 Azure Databricks 配置文件存储在 Azure Databricks 配置文件文件中,供工具、SDK、脚本和应用使用。 若要了解你的工具、SDK、脚本和应用是否支持 Azure Databricks 配置文件,请参阅提供程序的文档。 所有参与实现 Databricks 客户端同一身份验证的工具和 SDK 均支持 Azure Databricks 配置文件。 有关详细信息,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型

若要创建 Azure Databricks 配置文件文件,请执行以下操作:

  1. 使用你偏好的文本编辑器在 Unix、Linux 或 macOS 上的 ~(用户主目录)文件夹或者 Windows 上的 %USERPROFILE%(用户主目录)文件夹中创建名为 .databrickscfg 的文件(如果还没有此文件)。 不要忘记在文件名开头添加句点 (.)。 将以下内容添加到此文件:

    [<some-unique-name-for-this-configuration-profile>]
    <field-name> = <field-value>
    
  2. 在上述内容中替换以下值,然后保存文件:

    • <some-unique-name-for-this-configuration-profile> 替换为配置文件的唯一名称,例如 DEFAULTDEVELOPMENTPRODUCTION 或类似名称。 可在同一 .databrickscfg 文件中具有多个配置文件,但每个配置文件的名称在此文件中必须是唯一的。
    • <field-name><field-value>,其中包含目标 Databricks 身份验证类型的必填字段之一的名称和值。 有关要提供的特定信息,请参阅本文前面有关该身份验证类型的部分。
    • 为目标 Databricks 身份验证类型的每个其他必填字段添加 <field-name><field-value> 对。

例如,对于 Azure Databricks 个人访问令牌身份验证,.databrickscfg 文件外观可能如下:

[DEFAULT]
host  = https://adb-1234567890123456.7.databricks.azure.cn
token = dapi123...

若要创建其他配置文件,请在同一 .databrickscfg 文件中指定不同的配置文件名称。 例如,若要指定单独的 Azure Databricks 工作区,则每个工作区应有自己的 Azure Databricks 个人访问令牌:

[DEFAULT]
host  = https://adb-1234567890123456.7.databricks.azure.cn
token = dapi123...

[DEVELOPMENT]
host  = https://adb-2345678901234567.8.databricks.azure.cn
token = dapi234...

还可在 Azure Databricks 帐户的 .databrickscfg 文件中指定不同的配置文件名称和不同的 Databricks 身份验证类型,例如:

[DEFAULT]
host  = https://adb-1234567890123456.7.databricks.azure.cn
token = dapi123...

[DEVELOPMENT]
azure_workspace_resource_id = /subscriptions/bc0cd1.../resourceGroups/my-resource-group/providers/Microsoft.Databricks/workspaces/my-workspace
azure_tenant_id             = bc0cd1...
azure_client_id             = fa0cd1...
azure_client_secret         = aBC1D~...

ODBC DSN

在 ODBC 中,数据源名称 (DSN) 是一个符号名称,工具、SDK、脚本和应用使用它来请求连接 ODBC 数据源。 DSN 存储连接详细信息,例如 ODBC 驱动程序的路径、网络详细信息、身份验证凭据和数据库详细信息。 若要了解你的工具、脚本和应用是否支持 ODBC DSN,请参阅提供者的文档。

若要安装和配置 Databricks ODBC 驱动程序并为 Azure Databricks 创建 ODBC DSN,请参阅 Databricks ODBC 驱动程序

JDBC 连接 URL

在 JDBC 中,连接 URL 是一个符号 URL,工具、SDK、脚本和应用使用它来请求连接 JDBC 数据源。 连接 URL 存储连接详细信息,例如网络详细信息、身份验证凭据、数据库详细信息和 JDBC 驱动程序功能。 若要了解你的工具、SDK、脚本和应用是否支持 JDBC 连接 URL,请参阅提供程序的文档。

若要安装和配置 Databricks JDBC 驱动程序并为 Azure Databricks 创建 JDBC 连接 URL,请参阅 Databricks JDBC 驱动程序

Microsoft Entra ID(以前称为 Azure Active Directory)令牌

Microsoft Entra ID(以前称为 Azure Active Directory)令牌是 Azure Databricks 最受支持的凭据类型之一,无论是在 Azure Databricks 工作区级别还是帐户级别。

注意

某些工具、SDK、脚本和应用仅支持 Azure Databricks 个人访问令牌身份验证,而不支持 Microsoft Entra ID 令牌。 要了解你的工具、SDK、脚本和应用是否支持 Microsoft Entra ID 令牌,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型或提供商文档。

此外,除了支持 Azure Databricks 身份验证的 Microsoft Entra ID 以外,一些工具、SDK、脚本和应用还支持 Azure Databricks OAuth 令牌,或者不支持 Microsoft Entra ID。 若要了解你的工具、SDK、脚本和应用是否支持 Azure Databricks OAuth 令牌,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型或提供商文档。

面向用户的 Microsoft Entra ID 令牌身份验证

Databricks 不建议为 Azure Databricks 用户手动创建 Microsoft Entra 令牌。 这是因为每个 Microsoft Entra ID 令牌的生存期很短,通常在一小时内就会过期。 在此时间之后,必须手动生成替换 Microsoft Entra ID 令牌。 请改用实现 Databricks 客户端统一身份验证标准的参与工具或 SDK 之一。 这些工具和 SDK 利用 Azure CLI 身份验证,自动生成并替换过期的 Microsoft Entra ID 令牌。

适用于服务主体的 Microsoft Entra ID 令牌身份验证

Databricks 不建议手动为 Microsoft Entra ID 服务主体创建 Microsoft Entra ID 令牌。 这是因为每个 Microsoft Entra ID 令牌的生存期很短,通常在一小时内就会过期。 在此时间之后,必须手动生成替换 Microsoft Entra ID 令牌。 请改用实现 Databricks 客户端统一身份验证标准的参与工具或 SDK 之一。 这些工具和 SDK 可以利用以下 Databricks 身份验证类型,自动生成并替换过期的 Microsoft Entra ID 令牌:

Azure CLI

使用 Azure CLI,可以通过 PowerShell、Linux 或 macOS 终端或 Windows 命令提示符对 Azure Databricks 进行身份验证。 要了解你的工具、SDK、脚本和应用是否支持 Azure CLI,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型或提供商文档。

若要使用 Azure CLI 手动对 Azure Databricks 进行身份验证,请运行 az login 命令:

az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud   //means return to Public Azure.

若要使用 Microsoft Entra ID 服务主体进行身份验证,请参阅使用 Microsoft Entra ID 服务主体登录 Azure CLI

若要使用 Azure 托管的 Azure Databricks 用户帐户进行身份验证,请参阅使用 Azure Databricks 用户帐户进行 Azure CLI 登录