授权服务主体访问 Git 文件夹

服务主体是用于在 Azure Databricks 中对自动化工作流进行身份验证的非人类标识。 本页介绍如何授权服务主体使用 Git 凭据进行 Git 文件夹操作。

注释

如果将 Azure DevOps 与 Microsoft Entra ID 用于自动化,请参阅 授权 Microsoft Entra 服务主体访问 Git 文件夹 以获取具体配置步骤。

使用 Azure Databricks UI 添加 Git 凭据

将 Git 凭据链接到服务主体:

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击顶部栏中的用户名,然后选择 “设置”。
  3. 单击“ 标识和访问 ”选项卡。
  4. 服务主体旁边,单击管理
  5. 选择要使用 Git 凭据更新的服务主体。
  6. 单击 “Git 集成 ”选项卡。
  7. 单击 “添加 Git 凭据”。
  8. 从下拉菜单中选择 Git 提供程序,并填写必填字段。
  9. 单击“ 保存 ”或 “链接”,具体取决于所选提供商。

服务主体现在在自动化过程中访问 Azure Databricks 工作区 Git 文件夹资源时使用链接的 Git 凭据。

使用 Azure Databricks CLI 添加 Git 凭据

使用 Databricks CLI 配置服务主体 Git 访问,用于自动化工作流。

注释

在开始之前,请确认已做好以下准备:

若要使用 Databricks CLI 为服务主体提供对 Git 文件夹的授权访问权限,请执行以下作:

  1. 在工作区中创建服务主体:

    databricks service-principals create --display-name "Git Automation Service Principal"
    

    记下输出中的 applicationId 值和 id 值。 后续步骤中需要用到它们。

  2. 为服务主体生成 OAuth 机密:

    databricks service-principal-secrets-proxy create <service-principal-id>
    

    <service-principal-id>替换为上一步中的15位id值。

    从输出中复制secret值。

  3. 为服务主体添加 Git 提供程序凭据。

    使用 OAuth 将 Databricks CLI 配置为作为服务主体进行身份验证:

    export DATABRICKS_HOST=<workspace-url>
    export DATABRICKS_CLIENT_ID=<application-id>
    export DATABRICKS_CLIENT_SECRET=<oauth-secret>
    

    替换为:

    • <workspace-url> 配合工作区 URL 使用
    • <application-id> 步骤 1 中的应用程序 ID
    • <oauth-secret> 使用步骤 2 中的 OAuth 机密

    然后添加 Git 凭据:

    databricks git-credentials create <git-provider> \
      --personal-access-token <git-pat> \
      --git-email <git-email>
    

    替换为:

    • 与您的提供商(例如 <git-provider>gitHub)一起使用gitLab
    • <git-pat> 使用 Git 提供程序个人访问令牌
    • <git-email> 使用 Git 电子邮件地址

    某些 Git 提供程序需要 --git-username--git-email 才能正常进行身份验证。 例如,GitHub 至少需要其中一个参数。

现在,服务主体可以使用链接凭据访问 Git 文件夹。

以编程方式检索服务主体

使用 Databricks SDK、REST API 或 CLI 检索工作区的服务主体。

若要从笔记本中使用 Databricks SDK,请执行以下作:

  1. 安装 Databricks SDK: %pip install databricks-sdk --upgrade
  2. ApiClient 导入 databricks.sdk.core
  3. 调用服务主体 API。

有关代码示例,请参阅 用于 Python 的 Databricks SDK 文档

还可以使用 curlDatabricks CLI 或 Terraform 以编程方式处理服务主体。

后续步骤