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

无法查看Azure应用注册已分配角色?求查看方法与排障步骤

问题背景

我通过以下命令创建Azure应用注册:

az ad sp create-for-rbac --name "my-app"

接着为其分配角色:

az role assignment create --assignee <APP_ID> --role "Reader" --scope /subscriptions/<SUBSCRIPTION_ID>

之后执行命令删除该角色:

az role assignment delete --assignee <APP_ID> --role "Reader" --scope /subscriptions/<SUBSCRIPTION_ID>

但尝试用以下三种方式列出该应用注册的已分配角色时,均无结果返回:

  • 通过应用程序ID:
    az role assignment list --assignee <APP_ID>
    
  • 通过对象ID:
    az role assignment list --assignee <OBJECT_ID>
    
  • 通过应用名称:
    az role assignment list --assignee "my-app"
    

已尝试操作

  • 确认应用程序ID、对象ID和应用名称均正确,与应用注册详情一致。

问题

  1. 如何可靠查看我的应用注册已分配的角色?
  2. 是否有其他命令或排障步骤可用于调试此问题?

解决方案与排障步骤

一、可靠查看应用注册已分配角色的方法

1. 指定范围精准查询

默认az role assignment list仅查询当前订阅,若角色分配在其他订阅或资源组层级,需明确指定范围:

# 查询指定订阅下的所有角色分配
az role assignment list --assignee <OBJECT_ID> --subscription <SUBSCRIPTION_ID>

# 查询指定资源组下的角色分配
az role assignment list --assignee <OBJECT_ID> --resource-group <RESOURCE_GROUP_NAME>

2. 借助Azure Portal直观查看

在Azure门户中操作:

  • 进入Azure Active Directory → 企业应用程序 → 找到my-app
  • 切换到权限选项卡,查看所有已分配的Azure RBAC角色和API权限
  • 或进入目标订阅 → 访问控制(IAM) → 角色分配,通过应用名称/对象ID筛选结果

3. 包含间接继承的角色分配

若应用通过所属组间接获得角色,添加--all参数可返回所有继承的分配:

az role assignment list --assignee <OBJECT_ID> --all

二、排障步骤

1. 验证服务主体状态

确认服务主体未被禁用或删除:

az ad sp show --id <OBJECT_ID>

若返回结果中accountEnabled为false,执行以下命令启用:

az ad sp update --id <OBJECT_ID> --set accountEnabled=true

2. 跨订阅排查角色分配

若存在多订阅,可批量查询所有订阅的角色分配:

az account list --query "[].id" -o tsv | xargs -I {} az role assignment list --assignee <OBJECT_ID> --subscription {}

3. 检查当前CLI账号权限

确保登录账号拥有访问控制管理员或读者权限,否则无法查看全量角色分配:

# 查看当前登录账号
az account show --query "user.name"
# 检查当前账号是否有访问控制权限
az role assignment list --assignee $(az account show --query "user.id" -o tsv) --role "Access Control Administrator"

4. 追踪角色分配变更历史

通过活动日志查看角色分配的删除/创建记录:

az monitor activity-log list --resource-group <RESOURCE_GROUP_NAME> --query "[?contains(operationName.value, 'Microsoft.Authorization/roleAssignments/')]" --output table

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:55:03