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

Azure DevOps发布管道Azure CLI任务权限或范围匹配错误排查

Azure DevOps发布管道Azure CLI任务授权失败问题

场景

  • 发布管道包含内联AZ CLI脚本任务,通过ARM服务连接对接Azure云实例
  • 该服务连接在订阅层级拥有Owner/Contributor/Reader权限
  • 内联任务用于部署容器实例,该操作在Azure门户中可正常执行
  • 已开启「在脚本中访问SP详情」选项,管道可正常登录Azure
  • 内联脚本如下:
az account
az container create --resource-group myRG --file myContainerInstance.yml

其中YML文件指定的容器实例镜像已发布至Azure容器注册表

问题

任务执行时抛出授权错误:

ERROR: ValidationError: (AuthorizationFailed) The client '6blahbla-blah-bl2h-xyza-012345678901' with object id '6blahbla-blah-bl2h-xyza-012345678901' does not have authorization to perform action 'Microsoft.Resources/subscriptions/read' over scope '/subscriptions/6bazzers-fuzz-bots-last-hurrahhurrah/myRG' or scope is invalid.

已尝试操作

  • 在订阅和资源组层级调整角色权限(包括Owner、Contributor、Reader)
  • 尝试刷新凭据(Azure CLI自动刷新)
  • 通过Azure门户CLI确认登录的SP(6blahbla...012345678901)为本人用户:
az ad sp show --id 6blahbla-blah-bl2h-xyza-012345678901

排查与解决步骤

  1. 修正权限作用域匹配
    Microsoft.Resources/subscriptions/read动作的有效作用域是订阅层级(/subscriptions/[订阅ID]),而非资源组层级。检查ARM服务连接的作用域是否设置为订阅级别,若仅选了资源组,需调整为订阅。

  2. 验证服务主体的订阅级权限
    执行以下命令确认服务主体在目标订阅的权限:

    az role assignment list --assignee 6blahbla-blah-bl2h-xyza-012345678901 --scope /subscriptions/6bazzers-fuzz-bots-last-hurrahhurrah
    

    确保输出包含订阅层级的Owner/Contributor/Reader角色。若没有,重新分配角色并等待5-10分钟让权限生效。

  3. 显式指定订阅上下文
    脚本中az account仅显示当前订阅,可能存在上下文切换问题。在部署命令前显式设置订阅:

    az account set --subscription 6bazzers-fuzz-bots-last-hurrahhurrah
    az container create --resource-group myRG --file myContainerInstance.yml
    
  4. 检查YAML配置的额外权限需求
    确认myContainerInstance.yml中是否有依赖其他资源的配置,但根据错误提示,核心问题集中在订阅级读取权限缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 00:52:54