为Databricks IDE扩展设置授权

本文介绍了如何在 Databricks IDE 扩展与 Azure Databricks Workspace 之间设置授权和认证,前提是你还没有通过项目设置配置扩展。 参见 Databricks的IDE扩展

Databricks IDE 扩展实现了 Databricks 统一认证标准的部分内容,允许您只需配置一次基于 Azure Databricks OAuth 2.0 的授权,然后在多个 Azure Databricks 工具和 SDK 上使用该配置,无需进一步授权和认证配置更改。 它还提供活动访问令牌的自动刷新,从而减少开发时的过程复杂性。

Databricks 推荐 OAuth 交互式用户授权,该操作通过 Databricks IDE 扩展易于配置。 请参阅 设置 OAuth 授权和身份验证

否则,如果您使用Azure Databricks 个人访问令牌(旧版)进行身份验证使用 OAuth 授权服务主体访问 Azure Databricks使用 Microsoft Entra 服务主体进行身份验证,请参阅使用配置文件设置身份验证。 使用 Azure CLI 进行身份验证,请参阅设置 Azure CLI 身份验证

注意

Databricks IDE 扩展不支持使用 Azure 管理身份认证(前称 Azure 托管服务身份(MSI)),但使用 Databricks Connect 而不使用 Databricks IDE 扩展时支持认证。 若要安装 Databricks Connect,请参阅 Install Databricks Connect for Python

设置 OAuth 授权和身份验证

Azure Databricks支持基于 OAuth 2.0 的授权和身份验证,并使用 Databricks 统一身份验证简化访问令牌管理。 有关用户和服务主体在 Azure Databricks 上的授权详细信息,请参阅 授权访问 Azure Databricks 资源

要完成OAuth授权的设置,请启用Databricks IDE扩展的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 配置文件。 若要配置文件的设置,请参阅 Profile 选项卡或部分,查看 授权访问 Azure Databricks 资源

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

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

    登录到 Databricks 工作区

  2. Command Palette 中,在列表中选择目标Azure Databricks配置文件。

    提示

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

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

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

    登录到 Databricks 工作区

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

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

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

该扩展会在项目中创建一个名为 .databricks 的文件夹(如果尚不存在),其中包含名为 databricks.env 的文件。 该文件包含您输入的工作空间主机,以及 Databricks IDE 扩展使用的其他 Azure Databricks 配置细节。

如果 .gitignore 文件不存在或者在任何父文件夹中找不到现有的 .gitignore,则该扩展还会向项目添加一个隐藏的文件。 如果创建了新的 .gitignore 文件,则该扩展会向此新文件添加一个 .databricks/ 条目。 如果该扩展找到现有的 .gitignore 文件,则它会向该文件添加一个 .databricks/ 条目。

设置Azure CLI身份验证

Azure Databricks支持使用本地安装的 Azure CLI 进行身份验证。 这样,您可以生成短生存期(一小时)的 Microsoft Entra ID 令牌,从而降低意外公开较长生存期令牌(例如 Azure Databricks 个人访问令牌)风险,这些风险可能由于版本控制签入或其他方式而出现。

打开项目和扩展后,在本地安装Azure CLI,请执行以下操作:

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

    注意

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

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

  2. 命令面板中,对于Databricks 主机,请输入您的工作区 URL,例如https://adb-1234567890123456.7.azuredatabricks.net。 然后,按 Enter。

  3. 选择 Azure CLI