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

容器应用系统标识跨资源组访问ACR遇权限错误求助

解决Azure CLI角色分配权限报错的方案

1. 明确权限对象

报错里的客户端xxxx是流水线服务连接使用的身份(而非容器应用的系统标识),你需要为这个身份分配创建角色分配的权限,而非给容器应用标识授权。

2. 验证服务连接身份的权限范围

  • 若服务连接用的是服务主体,需确保它在ACR所在资源组或订阅级别拥有以下权限之一:
    • Owner(权限较大,仅临时测试用)
    • User Access Administrator(需确认该角色的分配范围覆盖目标资源组/订阅,而非仅部分资源组)
    • 自定义角色:包含Microsoft.Authorization/roleAssignments/write和Microsoft.Authorization/roleAssignments/read权限
  • 用Azure CLI验证当前权限:
    az role assignment list --assignee <服务连接对象ID> --scope "/subscriptions/<订阅ID>/resourceGroups/<ACR资源组>" --query "[].roleDefinitionName"
    

3. 检查角色分配命令的目标范围

确保你执行的角色分配命令中,--scope参数指向正确的ACR或其所在资源组,示例:

az role assignment create --assignee <容器应用系统标识ID> --role "AcrPull" --scope "/subscriptions/<订阅ID>/resourceGroups/<ACR资源组>/providers/Microsoft.ContainerRegistry/registries/<ACR名称>"

避免因范围格式错误导致权限验证失败。

4. 刷新服务连接凭据

在Azure DevOps的服务连接设置中点击刷新凭据,Azure权限缓存可能导致新分配的权限延迟生效,刷新后重新运行流水线。

5. 排查订阅级政策限制

检查订阅的Azure Policy设置,确认没有政策阻止Microsoft.Authorization/roleAssignments/write操作,部分企业订阅会限制服务主体的角色分配权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 07:04:57