为 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 项目:

  1. 在“配置”视图中,单击“身份验证类型”,然后单击齿轮(“登录到 Databricks 工作区”)图标。

    登录到 Databricks 工作区

  2. 如果在此列表中已有一个身份验证配置文件,该配置文件具有“使用 OAuth (用户到计算机)进行身份验证”标签,并且你知道它对应于目标 Databricks 主机,请从列表中选择它,然后执行以下操作:

    1. 如果出现提示,请按照 Web 浏览器中的任何屏幕说明完成使用 Azure Databricks 进行身份验证。
    2. 如果出现提示,请允许 all-apis 访问。
    3. 直接跳至“选择用于运行代码和作业的群集”。
  3. 命令面板中,对于“选择身份验证方法”,请单击“OAuth (用户到计算机)”。

  4. 对于“选择身份验证方法”,选择“OAuth (用户到计算机)”。

  5. 输入关联的 Azure Databricks 身份验证配置文件的一些名称。

  6. 在“配置”视图中,单击“登录到 Databricks”。

    登录到 Databricks

  7. 命令面板中,对于“选择身份验证方法”,选择刚刚创建的身份验证配置文件的名称。

  8. 如果出现提示,请按照 Web 浏览器中的任何屏幕说明完成使用 Azure Databricks 进行身份验证。 如果出现提示,请允许 all-apis 访问。

  9. 成功登录后,返回到 Visual Studio Code。

使用配置文件设置身份验证

以下说明假设已设置 Azure Databricks 配置文件,其中包含 Azure Databricks 身份验证类型的必填字段。 若要创建配置文件,请参阅 Azure Databricks 配置文件。 若要配置配置文件的设置,请参阅授权访问 Azure Databricks 资源中身份验证类型的“配置文件”选项卡或部分。

若要选择扩展要使用的配置文件,请在项目和扩展打开的情况下执行以下操作:

  1. 在“配置”视图中,单击“身份验证类型”,然后单击齿轮(“登录到 Databricks 工作区”)图标。

    登录到 Databricks 工作区

  2. 命令面板中,从列表中选择目标 Azure Databricks 配置文件。

    提示

    稍后可以通过修改目标 workspace 设置(与项目关联的 databricks.yml 配置文件中)来更改目标工作区主机。 请参阅 Databricks 资产捆绑包配置

如果没有配置文件,则可以创建一个使用 Azure Databricks 个人访问令牌进行身份验证的配置文件,如下所示:

  1. 在项目和扩展打开的情况下,在“配置”视图中,单击“身份验证类型”或“登录到 Databricks”,然后单击齿轮(“登录到 Databricks 工作区”)图标。

    登录到 Databricks 工作区

  2. 命令面板中,选择“个人访问令牌”。

  3. 按照屏幕上的提示执行以下操作:

    1. 输入关联的 Azure Databricks 身份验证配置文件的一些名称。
    2. 在 Azure Databricks 工作区中生成个人访问令牌,然后复制该令牌的值。
    3. 返回扩展并输入复制的令牌的值。

该扩展会在项目中创建一个名为 .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 后,执行以下操作:

  1. 在“配置”视图中,单击“配置 Databricks”。

    注意

    如果“配置 Databricks”不可见,请单击“配置”旁边的齿轮(“配置工作区”)图标。

    用于配置工作区设置的齿轮图标 1

  2. 在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL,例如 。 然后,按 Enter。

  3. 选择“Azure CLI”。