如何使用Azure CLI命令匹配Azure门户中企业应用的各类列表?
Azure 门户“企业应用”各分类对应的Azure CLI命令
以下是Azure门户“企业应用”菜单下四类列表对应的Azure CLI命令,以及自定义RBAC服务主体的筛选方法:
1. 所有应用
对应门户“所有应用”列表,包含所有类型的服务主体:
az ad sp list --all
2. 托管标识
对应门户“托管标识”列表,仅筛选托管标识类型的服务主体:
az ad sp list --filter "servicePrincipalType eq 'ManagedIdentity'" --all
3. Microsoft应用
对应门户“Microsoft应用”列表,微软官方应用的所属租户ID固定为f8cdef31-a31e-4b4a-93e4-5f571e91255a。之前用--filter参数报错是因为低版本CLI不支持该属性的筛选,推荐用JMESPath查询实现:
az ad sp list --all --query "[?appOwnerOrganizationId=='f8cdef31-a31e-4b4a-93e4-5f571e91255a']"
若使用Azure CLI 2.30.0及以上版本,也可直接用--filter:
az ad sp list --filter "appOwnerOrganizationId eq 'f8cdef31-a31e-4b4a-93e4-5f571e91255a'" --all
4. 企业应用
对应门户“企业应用”列表,即排除Microsoft应用和托管标识的自定义服务主体:
az ad sp list --all --query "[?servicePrincipalType!='ManagedIdentity' && appOwnerOrganizationId!='f8cdef31-a31e-4b4a-93e4-5f571e91255a']"
单独筛选az ad sp create-for-rbac创建的服务主体
这类主体属于自定义服务主体,满足:服务主体类型为Application、所属租户为当前租户、状态启用。可通过以下命令筛选(替换<你的租户ID>为实际值):
az ad sp list --all --query "[?servicePrincipalType=='Application' && appOwnerOrganizationId=='<你的租户ID>' && accountEnabled==true]"
如果知道创建时的名称,直接按名称筛选更精准:
az ad sp list --filter "displayName eq 'MySPN'" --all
内容的提问来源于stack exchange,提问作者Lola Wecv
相关产品推荐
相关产品推荐

