适用于 VS Code 的 Databricks 扩展的身份验证设置
本文介绍如何在适用于 Visual Studio Code 的 Databricks 扩展和 Azure Databricks 工作区之间设置身份验证。 请参阅什么是适用于 Visual Studio Code 的 Databricks 扩展?
Visual Studio Code 的 Databricks 扩展实现了部分 Databricks 客户端统一身份验证标准,这是一种整合且一致的体系结构和编程身份验证方法。 此方法有助于使 Azure Databricks 的身份验证设置和自动化更加集中和可预测。 借助此方法,你只需配置 Azure Databricks 身份验证一次,然后即可在多个 Azure Databricks 工具和 SDK 中使用该配置,而无需进一步更改身份验证配置。
以下信息假定你已安装适用于 Visual Studio Code 的 Databricks 扩展。 请参阅安装适用于 Visual Studio Code 的 Databricks 扩展。
注意
如果已完成 Databricks 的 VSCode 扩展教程:在群集上运行 Python 和将 Python 作为作业运行,并且想要继续使用在本教程中设置的 Azure Databricks 个人访问令牌身份验证,请跳转到 为 Visual Studio Code 的 Databricks 扩展选择群集。
根据要使用的身份验证类型,请完成目标 Azure Databricks 身份验证类型的说明。
- 对于以下身份验证类型,请跳到使用配置文件设置身份验证:
- Azure Databricks 个人访问令牌身份验证
- OAuth 计算机到计算机 (M2M) 身份验证
- Microsoft Entra ID 服务主体身份验证
- 对于 OAuth 用户到计算机 (U2M) 身份验证,直接跳至设置 OAuth U2M 身份验证。
- 对于 Azure CLI 身份验证,请直接跳到设置 Azure CLI 身份验证。
注意
适用于 Visual Studio Code 的 Databricks 扩展尚不支持使用 Azure 托管标识(之前称为 Azure 托管服务标识 [MSI])进行身份验证。
Databricks Connect 支持使用 Azure 托管标识进行身份验证。 但是,不能在 Visual Studio Code 的 Databricks 扩展中使用 Databricks Connect 集成来进行 Azure 托管标识身份验证。 若要单独将 Databricks Connect 与 Visual Studio Code 配合使用(独立于 Visual Studio Code 的 Databricks 扩展),请参阅将 Visual Studio Code 与 Databricks Connect for Python 配合使用。
使用配置文件设置身份验证
以下说明假设已设置 Azure Databricks 配置文件,其中包含 Azure Databricks 身份验证类型的必填字段。 请参阅 Azure Databricks 配置文件,或者《Azure Databricks 身份验证自动化——概览》中的“配置文件”选项卡或你身份验证类型对应的部分。
例如,如果要使用 Azure Databricks 个人访问令牌身份验证方法进行身份验证,请执行以下操作来创建个人访问令牌:
- 在 Azure Databricks 工作区中,单击顶部栏中 Azure Databricks 用户名,然后从下拉列表中选择“设置”。
- 单击“开发人员”。
- 在“访问令牌”旁边,单击“管理”。
- 单击“生成新令牌”。
- (可选)输入有助于将来识别此令牌的注释,并将令牌的默认生存期更改为 90 天。 若要创建没有生存期的令牌(不建议),请将“生存期(天)”框留空(保留空白)。
- 单击“生成” 。
- 将显示的令牌复制到安全位置,然后单击“完成”。
注意
请务必将复制的令牌保存到安全的位置。 请勿与他人共享复制的令牌。 如果丢失了复制的令牌,你将无法重新生成完全相同的令牌, 而必须重复此过程来创建新令牌。 如果丢失了复制的令牌,或者认为令牌已泄露,Databricks 强烈建议通过单击“访问令牌”页上令牌旁边的垃圾桶(撤销)图标立即从工作区中删除该令牌。
如果你无法在工作区中创建或使用令牌,可能是因为工作区管理员已禁用令牌或未授予你创建或使用令牌的权限。 请与工作区管理员联系,或参阅以下内容:
例如,若要为个人访问令牌创建名为 DEFAULT
的配置文件,请执行以下操作:
注意
以下过程将使用 Databricks CLI 创建名为 DEFAULT
的 Azure Databricks 配置文件。 如果已具有 DEFAULT
配置文件,此过程将覆盖现有的 DEFAULT
配置文件。
要检查是否已具有 DEFAULT
配置文件,并查看此配置文件的设置(如果存在),请使用 Databricks CLI 运行命令 databricks auth env --profile DEFAULT
。
要使用除 DEFAULT
以外的名称创建配置文件,请将以下 databricks configure
命令中 --profile DEFAULT
的 DEFAULT
部分替换为其他配置文件名称。
使用 Databricks CLI 创建名为
DEFAULT
的 Azure Databricks 配置文件,它使用 Azure Databricks 个人访问令牌身份验证。 为此,请运行以下命令:databricks configure --profile DEFAULT
对于提示Databricks 主机,请输入 Azure Databricks 按工作区 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。对于提示“个人访问令牌”,请输入工作区的 Azure Databricks 个人访问令牌。
准备好 Azure Databricks 配置文件并打开项目和扩展后,请执行以下操作:
在“配置”窗格中单击“配置 Databricks”。
注意
如果“配置 Databricks”不可见,请单击“配置”旁边的齿轮(“配置工作区”)图标。
在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。 然后,按 Enter。在 URL 列表中选择目标 Azure Databricks 配置文件。
该扩展会在项目中创建一个名为 .databricks
的隐藏文件夹(如果尚不存在)。 该扩展还会在此文件夹中创建一个名为 project.json
的文件(如果尚不存在)。 此文件包含你输入的 URL,以及正常运行 Visual Studio Code 的 Databricks 扩展而所需的一些 Azure Databricks 身份验证详细信息。
如果 .gitignore
文件不存在或者在任何父文件夹中找不到现有的 .gitignore
,则该扩展还会向项目添加一个隐藏的文件。 如果创建了新的 .gitignore
文件,则该扩展会向此新文件添加一个 .databricks/
条目。 如果该扩展找到现有的 .gitignore
文件,则它会向该文件添加一个 .databricks/
条目。
请继续参阅为适用于 Visual Studio Code 的 Databricks 扩展选择群集。
设置 OAuth U2M 身份验证
Azure Databricks 支持 OAuth 用户到计算机 (U2M) 身份验证。 这样可以生成短期(有效期为一小时)OAuth 访问令牌,从而消除了通过版本控制签入或其他方式意外透露长期令牌(例如 Azure Databricks 个人访问令牌)的风险。 这也可实现更好的服务器端会话失效和范围。
若要在项目和扩展打开的情况下完成 OAuth U2M 身份验证的设置,请执行以下操作:
在“配置”窗格中单击“配置 Databricks”。
注意
如果“配置 Databricks”不可见,请单击“配置”旁边的齿轮(“配置工作区”)图标。
在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。 然后,按 Enter。选择“OAuth(用户到计算机)”。
完成 Web 浏览器中的屏幕说明,以完成向 Azure Databricks 帐户的身份验证。 如果出现提示,请允许 all-apis 访问。
该扩展会在项目中创建一个名为 .databricks
的隐藏文件夹(如果尚不存在)。 该扩展还会在此文件夹中创建一个名为 project.json
的文件(如果尚不存在)。 此文件包含你输入的 URL,以及正常运行 Visual Studio Code 的 Databricks 扩展而所需的一些 Azure Databricks 身份验证详细信息。
如果 .gitignore
文件不存在或者在任何父文件夹中找不到现有的 .gitignore
,则该扩展还会向项目添加一个隐藏的文件。 如果创建了新的 .gitignore
文件,则该扩展会向此新文件添加一个 .databricks/
条目。 如果该扩展找到现有的 .gitignore
文件,则它会向该文件添加一个 .databricks/
条目。
请继续参阅为适用于 Visual Studio Code 的 Databricks 扩展选择群集。
设置 Azure CLI 身份验证
Azure Databricks 支持使用本地安装的 Azure CLI 进行身份验证。 这样可以生成短期(有效期为一小时)Microsoft Entra ID(以前称为 Azure Active Directory)令牌,从而消除了通过版本控制签入或其他方式意外透露长期令牌(例如 Azure Databricks 个人访问令牌)的风险。
打开项目和扩展并在本地安装 Azure CLI 后,执行以下操作:
在“配置”窗格中单击“配置 Databricks”。
注意
如果“配置 Databricks”不可见,请单击“配置”旁边的齿轮(“配置工作区”)图标。
在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。 然后,按 Enter。选择“Azure CLI”。
该扩展会在项目中创建一个名为 .databricks
的隐藏文件夹(如果尚不存在)。 该扩展还会在此文件夹中创建一个名为 project.json
的文件(如果尚不存在)。 此文件包含你输入的 URL,以及正常运行 Visual Studio Code 的 Databricks 扩展而所需的一些 Azure Databricks 身份验证详细信息。
如果 .gitignore
文件不存在或者在任何父文件夹中找不到现有的 .gitignore
,则该扩展还会向项目添加一个隐藏的文件。 如果创建了新的 .gitignore
文件,则该扩展会向此新文件添加一个 .databricks/
条目。 如果该扩展找到现有的 .gitignore
文件,则它会向该文件添加一个 .databricks/
条目。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈