Azure DevOps中PowerShell调用Databricks Token API报403错误求助
排查Azure Databricks API 403错误的步骤
确认API权限的管理员同意
你配置的AzureDatabricks API权限如果是应用权限,必须由全局管理员或特权角色管理员授予管理员同意。登录Azure AD的应用注册页面,找到对应Service Principal的API权限选项,检查权限状态是否为“已授予同意”。如果是委托权限,Service Principal无法使用这类权限,需切换为应用权限并完成同意操作。检查Databricks工作区内部权限
Azure资源组和Databricks服务的Contributor权限是Azure RBAC层面的,不覆盖Databricks工作区内部权限:- 调用
/api/2.0/token/create生成Bearer Token,Service Principal需要拥有Workspace Admin角色,或被授予“Manage”级别的令牌管理权限; - 登录Databricks工作区UI,进入「工作区设置」->「用户和组」,查找对应的Service Principal(格式通常为
spn:<application-id>或<application-id>@<tenant-id>),确认其角色配置;也可通过Databricks API调用/api/2.0/permissions/workspace验证权限分配。
- 调用
验证请求端点与参数正确性
- 确认API端点格式正确:
https://<你的databricks实例域名>/api/2.0/token/create; - 解析AAD Token确认
aud字段为2ff814a6-3304-4ab8-85cb-cd0e6f879c1d(Databricks的固定资源ID); - 检查请求头是否正确携带
Authorization: Bearer <你的AAD Token>,请求体参数(如可选的comment)格式无误。
- 确认API端点格式正确:
排查高级工作区的访问策略限制
若使用Databricks高级工作区,需检查工作区设置中的「访问控制」->「访问策略」,确认没有针对该Service Principal的访问限制规则,避免SP被阻止调用API。确认Azure DevOps流水线的身份上下文
检查Azure DevOps中流水线关联的Azure资源连接是否指向你配置权限的Service Principal,查看流水线运行日志中获取AAD Token的步骤,确认返回Token对应的SP ID与目标SP一致。
内容的提问来源于stack exchange,提问作者Nikhil Ravindran
相关产品推荐
相关产品推荐

