使用az ad app list无法找到Azure应用,但该应用显示在Azure企业应用中
解决Azure CLI无法找到企业应用的问题
核心原因:企业应用与应用注册的区别
Azure门户里的企业应用对应服务主体(Service Principal),而az ad app list命令查询的是应用注册(App Registration)——这是两个完全不同的对象。你在GUI中看到的AzureDataBricks是服务主体,所以用查询应用注册的命令自然找不到。
解决方案步骤
1. 查询服务主体获取应用ID
改用查询服务主体的命令来定位目标应用:
az ad sp list --filter "displayname eq 'AzureDataBricks'"
返回结果里的appId字段就是你需要的应用ID。
2. 处理名称匹配问题
如果仍无结果,检查以下细节:
- 大小写一致性:Azure的OData过滤器区分大小写,确认GUI里的应用名称和命令中的完全一致(比如是否是
Azure Databricks带空格,而非AzureDataBricks)。 - 模糊匹配排查:若不确定准确名称,用
contains过滤器扩大搜索范围:az ad sp list --filter "contains(displayName, 'DataBricks')"
3. 验证账号权限
确保执行命令的账号拥有**目录读者(Directory Reader)**或更高权限,否则可能无法读取服务主体信息。可通过以下命令检查当前账号的角色:
az ad signed-in-user show --query "assignedRoles[*].displayName"
4. 反向关联应用注册(可选)
若需从应用注册层面确认,可通过服务主体的appId反向查询对应的应用注册:
az ad app show --id <服务主体的appId>
内容的提问来源于stack exchange,提问作者learner
相关产品推荐
相关产品推荐

