You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks是否支持服务主体Git凭据?配置遇权限错误

Azure Databricks服务主体Git凭据配置问题解答

核心结论

Azure Databricks支持使用服务主体通过azureDevOpsServicesAAD类型的Git凭据访问Azure DevOps仓库,你遇到的PERMISSION_DENIED错误大概率是配置环节缺失或错误导致的。

前置条件确认

确保已完成以下操作:

  • 服务主体已添加到Databricks工作区(拥有作业创建/运行权限)
  • 服务主体已被添加到Azure DevOps仓库的权限组(如Contributor、Reader)

正确配置步骤

1. 获取服务主体客户端ID

配置Git凭据时,username字段必须填写服务主体的客户端ID(可在Azure AD应用注册的“概述”页面找到),不能使用显示名称或其他标识。

2. 生成服务主体客户端密码

在Azure AD应用注册的“证书和密码”页面,生成一个客户端密码(记录密码值,生成后无法再次查看),该密码将作为Git凭据的personal_access_token字段值。

3. 配置Databricks Git凭据

通过UI配置

  1. 以服务主体身份登录Databricks(或使用管理员账户为服务主体配置)
  2. 进入用户设置 > Git集成
  3. 选择**Azure DevOps Services (Azure AD)**作为Git提供程序
  4. 填写客户端ID作为用户名,客户端密码作为令牌,保存凭据

通过API配置

发送POST请求到Databricks Git凭据API:

{
  "git_provider": "azureDevOpsServicesAAD",
  "username": "<服务主体客户端ID>",
  "personal_access_token": "<服务主体客户端密码>"
}

4. 验证Azure DevOps权限

确保服务主体在Azure DevOps仓库中拥有对应权限:

  • 仅拉取代码运行作业:至少需要Reader权限
  • 需要推送代码:需要Contributor权限
    权限需直接分配给服务主体,或通过服务主体所属的Azure AD组分配。

错误原因分析

  • azureDevOpsServices类型不可用:这是Azure DevOps的限制,服务主体无法创建个人访问令牌(PAT),因此该类型不适用。
  • azureDevOpsServicesAAD类型的PERMISSION_DENIED错误,常见原因:
    • 用户名填写错误(未使用服务主体客户端ID)
    • 客户端密码过期或无效
    • 服务主体在Azure DevOps仓库中权限不足
    • 启用SSO时,服务主体未被授权访问Azure DevOps资源

验证方法

使用Azure CLI测试服务主体对Azure DevOps仓库的访问权限,确认凭据和权限有效:

# 登录服务主体
az devops login --organization https://dev.azure.com/你的组织名 --service-principal --username <服务主体客户端ID> --password <服务主体客户端密码>

# 查看仓库信息
az repos show --repository 你的仓库名 --organization https://dev.azure.com/你的组织名

若命令成功返回仓库信息,说明服务主体的凭据和权限正常,需检查Databricks端的配置是否正确。

内容的提问来源于stack exchange,提问作者TheRealJimShady

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 07:37:58