Azure RBAC Rest API调用以获取对象类型

Azure RBAC Rest API调用以获取对象类型,rest,azure,rbac,Rest,Azure,Rbac,我正在使用此调用{subscriptionId}/providers/Microsoft.Authorization/roleasignments?api version=2015-07-01获取订阅的角色分配。其输出为principalId和其他值 问题是如何区分principalId是用户主体还是服务主体 这是我需要查询图形api以获取appid(如果服务原则)或显示名称upn(如果用户原则) Graph APi对此有两种不同的调用,因此在自动化过程中,我需要知道根据对象类型调用哪一种 用户

我正在使用此调用{subscriptionId}/providers/Microsoft.Authorization/roleasignments?api version=2015-07-01获取订阅的角色分配。其输出为principalId和其他值

问题是如何区分principalId是用户主体还是服务主体

这是我需要查询图形api以获取appid(如果服务原则)或显示名称upn(如果用户原则)

Graph APi对此有两种不同的调用,因此在自动化过程中,我需要知道根据对象类型调用哪一种

用户:

服务原则:

Graph APi对此有两种不同的调用,因此在自动化过程中,我需要知道根据对象类型调用哪一种

根据我的理解,您可以使用对象-通过principleid获取对象,无需调用两个不同的调用。您还可以从响应中获取对象类型

POST https://graph.windows.net/{tenantID}/getObjectsByObjectIds?api-version=1.6
我使用两个principalid进行测试,一个是服务主体,另一个是用户

测试结果


两种都试一下,那不是404?:但是,严肃地说,角色分配似乎没有指定是用户、服务主体还是组的属性。是的,它也可以是一个团体。