Databricks 资产捆绑包的身份验证

本文介绍如何为 Databricks 资产捆绑包配置身份验证。 请参阅什么是 Databricks 资产捆绑包?

在两种类型的身份验证应用场景上下文中部署并运行 Databricks 资产捆绑包运行:“有人参与”和“无人参与”:

  • 有人参与的身份验证方案是手动工作流,例如,在本地计算机上使用 Web 浏览器在 Databricks CLI 提示时登录到目标 Azure Databricks 工作区。
  • 无人参与的身份验证方案是自动化的 CI/CD 工作流,例如使用 CI/CD 系统(如 GitHub)时。

以下部分建议根据这两种类型的身份验证方案对 Databricks 资产捆绑包使用 Azure Databricks 身份验证类型和设置。

有人参与的身份验证

对于使用 Databricks 资产捆绑包的有人参与身份验证应用场景,Databricks 建议对目标工作区中的 Azure Databricks 用户帐户使用 OAuth 用户到计算机 (U2M) 身份验证

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

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

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

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

无人参与的身份验证

对于 Databricks 资产捆绑包的无人参与的身份验证方案,Databricks 建议按下列首选项顺序使用以下 Azure Databricks 身份验证类型:

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

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

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

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

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

Azure 托管标识身份验证

若要设置 Azure 托管标识身份验证,请参阅 Azure 资源托管标识身份验证

如需为无人参与的身份验证设置的环境变量列表,请查看 Azure 托管标识身份验证的“环境”部分中的“工作区级操作覆盖情况”。 若要设置环境变量,请查看操作系统或 CI/CD 系统提供程序的文档。

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

若要设置 OAuth M2M 身份验证,请参阅使用 OAuth (OAuth M2M) 通过服务主体对 Azure Databricks 的访问进行身份验证

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

Microsoft Entra ID 服务主体身份验证

若要设置 Microsoft Entra ID 服务主体身份验证,请参阅 MS Entra 服务主体身份验证

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

Azure CLI 身份验证

若要设置 Azure CLI 身份验证,请参阅 Azure CLI 身份验证

对于有人参与的身份验证方案,若要创建 Azure Databricks 配置文件,请参阅 Azure CLI 身份验证中的“配置文件”部分。

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

若要设置 OAuth U2M 身份验证,请参阅使用 OAuth (OAuth U2M) 通过用户帐户对 Azure Databricks 的访问进行身份验证中的“CLI”部分。

对于已使用的身份验证应用场景,按照使用 OAuth (OAuth U2M) 通过用户帐户对 Azure Databricks 的访问进行身份验证的“CLI”部分中的说明操作会自动创建 Azure Databricks 配置文件。

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

若要创建 Azure Databricks 个人访问令牌,请参阅 Azure Databricks 个人访问令牌身份验证

对于有人参与的身份验证方案,若要创建 Azure Databricks 配置文件,请参阅 Azure Databricks 个人访问令牌身份验证中的“CLI”部分。

如需为无人参与的身份验证设置的环境变量列表,请查看 Azure Databricks 个人访问令牌身份验证的“环境”部分中的“工作区级操作覆盖情况”。 若要设置环境变量,请查看操作系统或 CI/CD 系统提供程序的文档。