声明性自动化捆绑包的身份验证

本文介绍如何为声明性自动化捆绑包配置身份验证。 请参阅什么是声明性自动化捆绑包?

在两种类型的身份验证方案的上下文中部署和运行声明性自动化捆绑包: 参与无人参与

  • 参与的身份验证方案(用户到计算机)是手动工作流,例如,在本地计算机上使用 Web 浏览器,并在 Databricks CLI 提示时登录到您的目标 Azure Databricks 工作区。 此方法非常适合用于试验或快速开发。
  • 无人参与的身份验证方案(计算机到计算机)是完全自动化的 CI/CD 工作流,例如,使用 CI/CD 系统(如GitHub)。

建议在以下部分中根据这两种类型的身份验证方案,使用 Azure Databricks 的身份验证类型和设置来实现声明性自动化捆绑包。

有人参与的身份验证

对于有人参与的身份验证场景,使用声明式自动化包时,Databricks 建议在目标工作区中为 Azure Databricks 用户帐户使用 OAuth 用户到计算机(U2M)身份验证

还可以使用与目标工作区Azure Databricks用户帐户关联的个人访问令牌

有关这些Azure Databricks身份验证类型的详细信息,请参阅 Authorization 方法

为了存储参与身份验证方案的身份验证设置,Databricks 建议在本地开发计算机上使用Azure Databricks配置文件。 通过配置文件,可以在不同的Azure Databricks身份验证上下文之间快速切换,以便在多个Azure Databricks工作区之间快速进行本地开发。 通过用户档案,可使用 --profile-p 选项来指定特定用户档案(在使用 Databricks CLI 运行捆绑包 validatedeployrundestroy 命令时)。 请参阅 Azure Databricks 配置文件

注释

如果存在,则在未指定命令行选项 DEFAULT-p <profile-name>(或 profile)映射时会使用 host 配置文件。

Databricks 还支持在 profile 映射中使用映射,以便在捆绑包配置文件中为每个目标工作区指定要使用的配置文件。 但是,硬编码的映射降低了捆绑包配置文件在项目中的可重用性。

无人参与的身份验证

对于使用声明性自动化捆绑包的无人参与身份验证方案,Databricks 建议按以下优先顺序使用以下Azure Databricks身份验证类型:

有关这些Azure Databricks身份验证类型的详细信息,请参阅 Authorization 方法

对于无人参与的身份验证方案,Databricks 建议使用环境变量将Azure Databricks身份验证设置存储在目标 CI/CD 系统中,因为 CI/CD 系统通常对此进行了优化。

对于用于处理多个Azure Databricks工作区的 CI/CD 系统中使用的声明性自动化捆绑项目(例如,三个单独的但相关的开发、过渡和生产工作区),Azure Databricks建议使用服务主体进行身份验证,并授予一个服务主体对所有参与工作区的访问权限。 这使你能够在项目的所有工作区中使用相同的环境变量。

Databricks 支持将工作区映射中硬编码的与身份验证相关的设置用于捆绑包配置文件中的目标工作区。 但是,硬编码的设置会使捆绑包配置在项目之间不那么可重用,并有可能公开敏感信息,例如服务主体 ID。

对于无人参与的身份验证方案,还必须在关联的计算资源上安装 Databricks CLI,如下所示:

Azure托管身份验证

若要设置Azure托管标识身份验证,请参阅使用Azure托管标识进行身份验证

要为无人工干预身份验证设置的环境变量列表位于 通过 Azure 托管身份进行身份验证 的“环境”部分中工作区级操作覆盖范围内。 若要设置环境变量,请查看操作系统或 CI/CD 系统提供程序的文档。

OAuth 计算机到计算机 (M2M) 身份验证

要设置 OAuth M2M 身份验证,请参阅 使用 OAuth 授权 Azure Databricks 服务主体的访问权限

要为无人参与身份验证设置的环境变量列表位于使用OAuth授权服务主体访问Azure Databricks中“环境”部分的工作区级操作覆盖范围中。 若要设置环境变量,请查看操作系统或 CI/CD 系统提供程序的文档。

Microsoft Entra ID服务主体身份验证

要设置 Microsoft Entra ID 服务主体身份验证,请参阅使用 Microsoft Entra 服务主体进行身份验证

要为无人参与身份验证设置的环境变量列表位于Microsoft Entra服务主体身份验证的“环境”部分中的工作区级操作范围。 若要设置环境变量,请查看操作系统或 CI/CD 系统提供程序的文档。

Azure CLI身份验证

若要设置 Azure CLI 身份验证,请参阅 使用 Azure CLI 进行身份验证

有关人工参与的身份验证方案,若要创建 Azure Databricks 配置文件,请参阅 使用 Azure CLI 进行身份验证 中的“配置文件”部分。

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

若要设置 OAuth U2M 身份验证,请参阅 在“Authorize user access to Azure Databricks with OAuth”的“CLI”部分

对于需要人工参与的身份验证场景,完成“使用 OAuth 对 Azure Databricks 进行身份验证”中的“CLI”部分的说明,会自动为你创建一个 Azure Databricks 配置文件。

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

若要创建 Azure Databricks 个人访问令牌,请参阅 使用 Azure Databricks 个人访问令牌(旧版)进行身份验证

有关出席身份验证方案,若要创建 Azure Databricks 配置文件,请参阅 “使用 Azure Databricks 个人访问令牌 (旧版) 进行身份验证”中的“CLI”部分

要为无人参与身份验证设置的环境变量列表位于“使用 Azure Databricks 个人访问令牌(旧版)进行身份验证”的“环境”部分中,涵盖工作区级操作。 若要设置环境变量,请查看操作系统或 CI/CD 系统提供程序的文档。