如何通过Microsoft Graph REST API查询Azure应用的User.ReadWrite.All权限
查询Azure应用的User.ReadWrite.All权限
要确认应用是否拥有User.ReadWrite.All应用权限,需通过Microsoft Graph的以下步骤操作:
- 先获取目标应用的服务主体ID:
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '你的应用显示名称' - 再查询该服务主体的应用角色分配(对应应用权限):
返回结果中,筛选GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/appRoleAssignmentsresourceId为Microsoft Graph的固定服务主体ID(00000003-0000-0000-c000-000000000000),并检查appRoleId是否为df021288-bdef-4463-88db-98f22de89214(User.ReadWrite.All应用权限的固定ID)。存在该条目即表示应用已被授予此权限。
- 先获取目标应用的服务主体ID:
若需查询应用的委派权限(代表用户获取的权限),则使用:
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/oauth2PermissionGrants筛选
resourceId为Microsoft Graph的服务主体ID,且scope字段包含User.ReadWrite.All即可。
所需权限
调用上述端点需要以下任意一种权限(应用权限或委派权限均可):
Application.Read.AllDirectory.Read.AllDirectory.ReadWrite.All
内容的提问来源于stack exchange,提问作者pereceptron
相关产品推荐
相关产品推荐

