设置 Databricks Git 文件夹 (Repos)

了解如何设置 Databricks Git 文件夹(以前为 Repos)以进行版本控制。 在 Databricks 中设置 Git 文件夹后,可以从 Databricks UI 对其执行常见 Git 操作,例如克隆、签出、提交、推送、拉取和分支管理。 在 Databricks 中使用笔记本和文件进行开发时,还可以查看更改差异。

配置用户设置

Databricks Git 文件夹使用个人访问令牌 (PAT) 或等效的凭据向 Git 提供程序进行身份验证,以执行克隆、推送、拉取等操作。若要使用 Git 文件夹,必须先将 Git PAT 和 Git 提供程序用户名添加到 Databricks。 请参阅配置 Git 凭据并将远程存储库连接到 Azure Databricks

你可以克隆没有 Git 凭据(个人访问令牌和用户名)的公共远程存储库。 若要修改公共远程存储库,或者克隆或修改专用远程存储库,必须具有 Git 提供程序用户名以及对远程存储库具有“写入”(或更高)权限的 PAT。

Git 文件夹将默认启用。 有关启用或禁用 Git 文件夹支持的更多详细信息,请参阅启用或禁用 Databricks Git 文件夹功能

在 Databricks 中添加或编辑 Git 凭据

重要

Databricks Git 文件夹仅支持每工作区每用户使用一个 Git 凭据。

  1. 选择屏幕右上角帐户名称旁边的向下箭头,然后选择“设置”

  2. 选择“关联帐户”选项卡

  3. 如果是首次添加凭据,请按照屏幕上的说明操作。

    如果以前输入过凭据,请单击“配置”>“编辑”并转到下一步。

  4. 在 Git 提供程序下拉列表中,选择提供程序名称。

  5. 输入 Git 用户名或电子邮件。

  6. 在“令牌”字段中,添加 Git 提供程序中的个人访问令牌 (PAT) 或其他凭据。 有关详细信息,请参阅配置 Git 凭据并将远程存储库连接到 Azure Databricks

    重要

    Databricks 建议为所有个人访问令牌设置过期日期。

    对于 Azure DevOps,如果未输入令牌或应用密码,则 Git 集成在默认情况下会使用 Microsoft Entra ID(旧称 Azure Active Directory)令牌。 如果输入 Azure DevOps 个人访问令牌,则 Git 集成会改为使用该令牌。 请参阅使用令牌连接到 Azure DevOps 存储库

    注意

    更新 Azure 密码后,如果需要立即使用新的身份验证,请使用 Azure Databricks 重新进行身份验证。 如果不重新进行身份验证,最长可能 24 小时无法验证 Azure DevOps 连接。

    如果你的组织在 GitHub 中启用了 SAML SSO,请为你的 SSO 个人访问令牌授权

  7. 在“Git 提供程序用户名”字段中输入用户名

  8. 单击“保存” 。

还可以使用 Databricks Repos API 将 Git PAT 令牌和用户名保存到 Azure Databricks。

如果无法克隆存储库,并且正在通过 Microsoft Entra ID 身份验证使用 Azure DevOps,请参阅 Microsoft Entra ID(旧称 Azure Active Directory)的条件访问策略 (CAP) 的问题

Databricks Git 文件夹与 Git 提供程序之间的网络连接

Git 文件夹需要与 Git 提供程序建立网络连接才能正常运行。 通常,这种连接是通过 Internet 建立的,并且可以直接连接。 但是,你可能已对 Git 提供程序设置了其他限制以控制访问。 例如,你可能实施了一个 IP 允许列表,或者通过 GitHub Enterprise (GHE)、Bitbucket Server (BBS) 或自托管 Gitlab 等服务托管了自己的本地 Git 服务器。 根据网络托管和配置情况,Git 服务器可能无法通过 Internet 来访问。

注意

  • 如果 Git 服务器可以通过 Internet 访问但实施了 IP 允许列表(例如 GitHub 允许列表),则必须将 Azure Databricks 控制平面 NAT IP 添加到 Git 服务器的 IP 允许列表。 有关按区域列出的控制平面 NAT IP 地址的列表,请参阅 Azure Databricks 区域。 使用 Azure Databricks 工作区所在区域的 IP。
  • 如果要专门托管 Git 服务器,请阅读为 Databricks Git 文件夹 (Repos) 设置专用 Git 连接或联系 Azure Databricks 客户团队,以了解如何通过加入来获取访问权限。

Git 文件夹中的安全功能

Databricks Git 文件夹具有许多安全功能。 以下部分将介绍这些功能的设置和用法:

  • 使用加密的 Git 凭据
  • 允许列表
  • 工作区访问控制
  • 审核日志
  • 机密检测

自带密钥:加密 Git 凭据

可以使用 Azure Key Vault 加密 Git 个人访问令牌 (PAT) 或其他 Git 凭据。 使用来自加密服务的密钥称为客户管理的密钥 (CMK) 或自带密钥 (BYOK)。

有关详细信息,请参阅用于加密的客户管理的密钥

限制使用允许列表中的 URL

如果使用 Microsoft Entra ID 向 Azure DevOps 进行身份验证,则默认允许列表将 Git URL 限制为以下内容:

  • dev.azure.com
  • visualstudio.com

对于具有自定义 CNAMES 或 Git URL 别名的 AAD,工作区管理员可以配置自定义允许列表,如以下步骤所示。 如果你使用自定义允许列表,则需要工作区管理员先添加这些 URL 你才能使用它们:dev.azure.comvisualstudio.com

工作区管理员可以限制用户可从哪些远程存储库克隆,以及可向哪些远程存储库提交和推送。 这有助于防止代码外泄;例如,如果你启用了允许列表限制,则用户无法将代码推送到任意存储库。 还可以通过仅限对允许的存储库列表执行克隆操作,来防止用户使用未经许可的代码。

若要设置允许列表,请执行以下操作:

  1. 转到设置页
  2. 单击“工作区管理员”选项卡(默认打开)
  3. 在“开发”部分中,从“Git URL 允许列表权限”中选择一个选项
    • 禁用(无限制):没有针对允许列表的检查。
    • 限制克隆、提交和推送到允许的 Git 存储库:仅允许对允许列表中的存储库 URL 执行克隆、提交和推送操作。
    • 仅限于克隆和推送到允许的 Git 存储库:仅允许对允许列表中的存储库 URL 执行克隆和推送操作。 克隆和拉取操作不受限制。

“管理员设置”下的“开发”窗格,用于设置用户 Git 访问权限

  1. 单击“Git URL 允许列表: 空列表”旁的“编辑”按钮,并输入以逗号分隔的 URL 前缀列表

开发管理员设置中的“编辑允许列表”按钮

  1. 单击“保存” 。

注意

  • 保存的列表会覆盖现有的已保存 URL 前缀集。
  • 更改最长可能需要在 15 分钟后才会生效。

允许访问所有存储库

若要禁用现有允许列表并允许访问所有存储库,请执行以下操作:

  1. 转到设置页
  2. 单击“工作区管理员”选项卡
  3. 在“开发”部分的“Git URL 允许列表权限”下:选择“禁用(无限制)”

控制对工作区中存储库的访问

注意

访问控制仅在高级计划中提供。

设置存储库权限以控制访问。 存储库的权限将应用于该存储库中的所有内容。 可为文件分配五个权限级别:“无权限”、“可读取”、“可运行”、“可编辑”和“可管理”。

有关 Git 文件夹权限的更多详细信息,请参阅 Git 文件夹 ACL

(可选)为企业 Git 服务器设置代理

如果公司使用本地企业 Git 服务(如 GitHub Enterprise 或 Azure DevOps Server),则可以使用 Databricks Git 服务器代理将 Databricks 工作区连接到它所服务的存储库。

审核日志

如果启用了审核日志记录功能,将会在你与 Git 文件夹交互时记录审核事件。 例如,在创建、更新或删除 Git 文件夹时、在列出与工作区关联的所有 Git 文件夹时以及在 Git 文件夹与远程 Git 存储库之间同步更改时,将记录审核事件。

机密检测

Git 文件夹会扫描代码以查找以前缀 AKIA 开头的访问密钥 ID,并在提交之前警告用户。

使用存储库配置文件

你可以在手动创建的 .databricks/commit_outputs 文件中将每个笔记本的设置添加到存储库。

使用类似于 gitignore 模式的模式指定你想要包含输出的笔记本。

存储库配置文件的模式

该文件包含肯定文件路径模式和否定文件路径模式。 文件路径模式包括笔记本文件扩展名,例如 .ipynb

  • 肯定模式允许包含匹配的笔记本的输出。
  • 否定模式禁止包含匹配的笔记本的输出。

将按顺序针对所有笔记本来评估模式。 将忽略无效路径或未解析为 .ipynb 笔记本的路径。

要包含来自笔记本路径的输出folder/innerfolder/notebook.ipynb,请使用以下模式:

**/*
folder/**
folder/innerfolder/note*

要排除笔记本的输出,请检查所有肯定模式是否匹配,或者在配置文件中的正确位置添加否定模式。 否定(排除)模式以 ! 开头:

!folder/innerfolder/*.ipynb
!folder/**/*.ipynb
!**/notebook.ipynb

将 Git 文件夹移动到回收站(删除)

若要从工作区中删除 Git 文件夹,请执行以下操作:

  1. 右键单击 Git 文件夹,然后选择“移动到回收站”。

  2. 在对话框中,键入要删除的 Git 文件夹的名称。 然后,单击“确认并移至回收站”

    确认“移动到回收站”对话框。

后续步骤