为 Visual Studio Code 的 Databricks 扩展设置授权
本文介绍如何在 Visual Studio Code 的 Databricks 扩展与 Azure Databricks 工作区之间设置授权和身份验证(如果尚未通过项目设置配置扩展)。 请参阅什么是 Visual Studio Code 的 Databricks 扩展?。
Visual Studio Code 的 Databricks 扩展实现了 Databricks 客户端统一身份验证 标准部分,这使你可以配置基于 Azure Databricks OAuth 2.0 的授权一次,然后在无需进一步授权和身份验证配置更改的情况下跨多个 Azure Databricks 工具和 SDK 使用该配置。 它还提供活动访问令牌的自动刷新,从而减少开发时的过程复杂性。
Databricks 建议 OAuth 交互式用户授权,这很容易使用用于 Visual Studio Code 的 Databricks 扩展进行配置。 请参阅 设置 OAuth 授权和身份验证。
如果使用 Azure Databricks 个人访问令牌身份验证,使用 OAuth 通过服务主体授权对 Azure Databricks 资源的无人参与的访问,或使用 MS Entra 服务主体身份验证,请参阅使用配置文件设置身份验证。 对于 Azure CLI 身份验证,请参阅设置 Azure CLI 身份验证。
注意
适用于 Visual Studio Code 的 Databricks 扩展不支持使用 Azure 托管标识(以前称为 Azure 托管服务标识 (MSI))进行身份验证,但在没有适用于 Visual Studio Code 的 Databricks 扩展的情况下使用的 Databricks Connect 支持。 若要安装 Databricks Connect,请参阅将 Visual Studio Code 与适用于 Python 的 Databricks Connect 配合使用。
设置 OAuth 授权和身份验证
Azure Databricks 支持基于 OAuth 2.0 的授权和身份验证,并通过 Databricks 统一客户端身份验证简化访问令牌管理。 有关使用 Azure Databricks 进行用户和服务主体授权的更多详细信息,请参阅 授权访问 Azure Databricks 资源。
若要完成 OAuth 授权的设置,请使用已启用 Visual Studio Code 的 Databricks 扩展打开 VSCode 项目:
在“配置”视图中,单击“身份验证类型”,然后单击齿轮(“登录到 Databricks 工作区”)图标。
如果在此列表中已有一个身份验证配置文件,该配置文件具有“使用 OAuth (用户到计算机)进行身份验证”标签,并且你知道它对应于目标 Databricks 主机,请从列表中选择它,然后执行以下操作:
- 如果出现提示,请按照 Web 浏览器中的任何屏幕说明完成使用 Azure Databricks 进行身份验证。
- 如果出现提示,请允许 all-apis 访问。
- 直接跳至“选择用于运行代码和作业的群集”。
在命令面板中,对于“选择身份验证方法”,请单击“OAuth (用户到计算机)”。
对于“选择身份验证方法”,选择“OAuth (用户到计算机)”。
输入关联的 Azure Databricks 身份验证配置文件的一些名称。
在“配置”视图中,单击“登录到 Databricks”。
在命令面板中,对于“选择身份验证方法”,选择刚刚创建的身份验证配置文件的名称。
如果出现提示,请按照 Web 浏览器中的任何屏幕说明完成使用 Azure Databricks 进行身份验证。 如果出现提示,请允许 all-apis 访问。
成功登录后,返回到 Visual Studio Code。
使用配置文件设置身份验证
以下说明假设已设置 Azure Databricks 配置文件,其中包含 Azure Databricks 身份验证类型的必填字段。 若要创建配置文件,请参阅 Azure Databricks 配置文件。 若要配置配置文件的设置,请参阅授权访问 Azure Databricks 资源中身份验证类型的“配置文件”选项卡或部分。
若要选择扩展要使用的配置文件,请在项目和扩展打开的情况下执行以下操作:
在“配置”视图中,单击“身份验证类型”,然后单击齿轮(“登录到 Databricks 工作区”)图标。
在命令面板中,从列表中选择目标 Azure Databricks 配置文件。
提示
稍后可以通过修改目标
workspace
设置(与项目关联的databricks.yml
配置文件中)来更改目标工作区主机。 请参阅 Databricks 资产捆绑包配置。
如果没有配置文件,则可以创建一个使用 Azure Databricks 个人访问令牌进行身份验证的配置文件,如下所示:
在项目和扩展打开的情况下,在“配置”视图中,单击“身份验证类型”或“登录到 Databricks”,然后单击齿轮(“登录到 Databricks 工作区”)图标。
在命令面板中,选择“个人访问令牌”。
按照屏幕上的提示执行以下操作:
- 输入关联的 Azure Databricks 身份验证配置文件的一些名称。
- 在 Azure Databricks 工作区中生成个人访问令牌,然后复制该令牌的值。
- 返回扩展并输入复制的令牌的值。
该扩展会在项目中创建一个名为 .databricks
的文件夹(如果尚不存在),其中包含名为 databricks.env
的文件。 此文件包含你输入的工作区主机,以及适用于 Visual Studio Code 的 Databricks 扩展使用的其他 Azure Databricks 配置详细信息。
如果 .gitignore
文件不存在或者在任何父文件夹中找不到现有的 .gitignore
,则该扩展还会向项目添加一个隐藏的文件。 如果创建了新的 .gitignore
文件,则该扩展会向此新文件添加一个 .databricks/
条目。 如果该扩展找到现有的 .gitignore
文件,则它会向该文件添加一个 .databricks/
条目。
设置 Azure CLI 身份验证
Azure Databricks 支持使用本地安装的 Azure CLI 进行身份验证。 这样可以生成短期(有效期为一小时)Microsoft Entra ID 令牌,从而消除了通过版本控制签入或其他方式意外透露长期令牌(例如 Azure Databricks 个人访问令牌)的风险。
打开项目和扩展并在本地安装 Azure CLI 后,执行以下操作:
在“配置”视图中,单击“配置 Databricks”。
注意
如果“配置 Databricks”不可见,请单击“配置”旁边的齿轮(“配置工作区”)图标。
在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL,例如 。 然后,按 Enter。
选择“Azure CLI”。