配置 Git 凭据并将远程存储库连接到 Azure Databricks

本文介绍如何在 Databricks 中配置 Git 凭据,以便可以将远程存储库连接到 Databricks 存储库。

GitHub 和 GitHub AE

以下信息适用于 GitHub 和 GitHub AE 用户。

为什么使用 Databricks GitHub 应用而不是 PAT?

如果你使用托管的 GitHub 帐户,Databricks Repos 允许你选择 Databricks GitHub 应用而不是 PAT 进行用户身份验证。 与 PAT 相比,使用 GitHub 应用可获得以下优势:

  • 它使用 OAuth 2.0 进行用户身份验证。 OAuth 2.0 存储库流量经过加密,具有很强的安全性。
  • 它更容易集成(参阅下面的步骤),并且不需要单独跟踪令牌。
  • 系统会自动处理令牌续订。
  • 可将集成范围限定为特定的附加 Git 存储库,从而对访问进行更精细的控制。

重要

根据标准 OAuth 2.0 集成,Databricks 存储用户的访问和刷新令牌 - 所有其他访问控制由 GitHub 处理。 访问和刷新令牌遵循 GitHub 的默认过期规则,访问令牌在 8 小时后过期(这可最大程度地降低凭据泄漏的风险)。 如果未使用,则刷新令牌的生存期为 6 个月。 链接凭据在处于非活动状态的 6 个月后过期,这要求用户重新配置它们。

可以选择使用客户管理的密钥 (CMK) 来加密 Databricks 令牌。

使用个人访问令牌连接到 GitHub 存储库

在 GitHub 中,按照以下步骤创建一个允许访问存储库的个人访问令牌:

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。
  2. 单击“开发人员设置”。
  3. 单击“个人访问令牌”选项卡。
  4. 单击“生成新令牌”按钮。
  5. 输入令牌说明。
  6. 选择“存储库”范围和“工作流”范围,然后单击“生成令牌”按钮。 如果存储库具有 GitHub Action 工作流,则需要“工作流”范围。
  7. 将令牌复制到剪贴板。 在 Azure Databricks 中的“用户设置”>“关联帐户”下输入此令牌。

若要使用单一登录,请参阅授权用于 SAML 单一登录的个人访问令牌

使用精细个人访问令牌连接到 GitHub 存储库

在 GitHub 中,按照以下步骤创建一个允许访问存储库的精细 PAT:

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。

  2. 单击“开发人员设置”。

  3. 单击左侧窗格中的“精细令牌”选项卡

  4. 单击页面右上角的“生成新令牌”按钮,打开“新建精细个人访问令牌”页

    生成 GitHub 令牌

  5. 通过以下设置配置新的精细令牌:

    • 令牌名称:提供唯一的令牌名称。 将其记在某个地方,以免遗忘或丢失!
    • 过期时间:选择令牌过期时间范围。 默认值为“30 天”。
    • 说明:添加描述令牌用途的简短文本。
    • 资源所有者:默认值为当前的 GitHub ID。 也可以将其设置为其他帐户 ID 或 GitHub 组织。
    • 在“存储库访问”下,选择令牌的访问范围。 最佳做法是仅选择要用于 Git 文件夹版本控制的那些存储库。
    • 在“权限”下,为要使用的存储库和帐户配置此令牌授予的特定访问级别。 有关权限组的更多详细信息,请阅读 GitHub 文档中的精细个人访问令牌所需的权限
  6. 单击“生成令牌”按钮

  7. 将令牌复制到剪贴板。 在 Azure Databricks 中的“用户设置”>“关联帐户”下输入此令牌。

GitLab

在 GitLab 中,按照以下步骤创建一个允许访问存储库的个人访问令牌:

  1. 在 GitLab 中,单击屏幕左上角的用户图标,然后选择“首选项”

  2. 点击边栏中的“访问令牌”。

  3. 在页面的“个人访问令牌”部分中,单击“添加新令牌”

    生成 GitLab 令牌

  4. 输入令牌的名称。

  5. 选择提供访问权限的特定范围,方法是选中所需权限级别的框。 有关范围选项的更多详细信息,请阅读有关 PAT 范围的 GitLab 文档

  6. 单击“创建个人访问令牌”

  7. 将令牌复制到剪贴板。 在 Azure Databricks 中的“用户设置”>“关联帐户”下输入此令牌。

若要详细了解如何创建和管理个人访问令牌,请参阅 GitLab 文档

GitLab 还支持使用“项目访问令牌”进行精细访问。 可以使用项目访问令牌来限定对 GitLab 项目的访问。 有关更多详细信息,请阅读 GitLab 的项目访问令牌相关文档

Azure DevOps Services

使用 Microsoft Entra ID (前 Azure Active Directory)连接到 Azure DevOps 存储库

在使用 Microsoft Entra ID 进行身份验证时,会自动完成向 Azure DevOps Services 进行身份验证。 Azure DevOps Services 组织必须链接到与 Databricks 相同的 Microsoft Entra ID 租户。 必须可从 Databricks 工作区的专用子网和公共子网访问 Microsoft Entra ID 的服务终结点。 有关详细信息,请参阅:_

在 Azure Databricks 中,在“用户设置”页上将 Git 提供程序设置为 Azure DevOps Services:

  1. 在任何页面的右上角,单击用户名,然后选择“用户设置”。

  2. 单击“关联帐户”选项卡。

  3. 将提供程序更改为 Azure DevOps Services。

    Azure DevOps Services GitHub 提供程序

使用令牌连接到 Azure DevOps 存储库

以下步骤介绍当 Azure Databricks 存储库不在同一 Microsoft Entra ID 租户中时,如何将 Azure Databricks 存储库连接到 Azure DevOps 存储库。

必须可从 Databricks 工作区的专用和公共子网访问 Microsoft Entra ID 的服务终结点。 有关详细信息,请参阅:_

在 Azure DevOps 中获取存储库的访问令牌:

  1. 转到 dev.azure.com,然后登录到包含要将 Azure Databricks 连接到的存储库的 DevOps 组织。
  2. 在右上角,单击“用户设置”图标,然后选择“个人访问令牌”。
  3. 单击“+ 新建令牌”
  4. 在窗体中输入信息:
    1. 为令牌命名。
    2. 选择组织名称,即存储库名称。
    3. 设置到期日期。
    4. 选择所需的范围,例如完全访问权限
  5. 复制显示的访问令牌。
  6. 在 Azure Databricks 中的“用户设置”>“关联帐户”下输入此令牌。
  7. Git 提供程序用户名或电子邮件中,输入用于登录到 DevOps 组织的电子邮件地址。

Bitbucket

注意

Databricks 不支持 Bitbucket 存储库访问令牌或项目访问令牌。

在 Bitbucket 中,按照以下步骤创建允许访问存储库的应用密码:

  1. 转到 Bitbucket 云,创建允许访问存储库的应用密码。 请参阅 Bitbucket 云文档
  2. 以安全的方式记录密码。
  3. 在 Azure Databricks 中的“用户设置”>“关联帐户”下输入此密码。