适用于 Visual Studio Code 的 Databricks 扩展的身份验证设置

本文介绍了如果尚未通过项目设置配置扩展,如何在适用于 Visual Studio Code 的 Databricks 扩展和 Azure Databricks 工作区之间设置身份验证。 请参阅什么是 Visual Studio Code 的 Databricks 扩展?

适用于 Visual Studio Code 的 Databricks 扩展实现了 Databricks 客户端统一身份验证标准的一部分,使你可以配置 Azure Databricks 身份验证一次,然后在多个 Azure Databricks 工具和 SDK 之间使用该配置,而无需进一步身份验证配置更改。

Databricks 建议使用 OAuth U2M 身份验证,使用适用于 Visual Studio Code 的 Databricks 扩展可以轻松配置。 请参阅设置 OAuth U2M 身份验证

否则,如果使用 Azure Databricks 个人访问令牌身份验证使用 OAuth (OAuth M2M) 通过服务主体对 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 U2M 身份验证

Azure Databricks 支持 OAuth 用户到计算机 (U2M) 身份验证。 这样可以生成短期(有效期为一小时)OAuth 访问令牌,从而消除了通过版本控制签入或其他方式意外透露长期令牌(例如 Azure Databricks 个人访问令牌)的风险。 这也可实现更好的服务器端会话失效和范围。

若要在项目和扩展打开的情况下完成 OAuth U2M 身份验证的设置,请执行下面的操作:

  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,例如 https://adb-1234567890123456.7.azuredatabricks.net。 然后,按 Enter。

  3. 选择“Azure CLI”。