我正在使用此调用https://management.azure.com/subscriptions/ {subscriptionId} /providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01来获取订阅的角色分配。输出是给出主体ID和其他值
问题是如何区分principalId是用户principal还是serviceprincipal?
对于我来说,这是查询图形api以获得appid(如果是服务原则)或显示名称,upn(如果是用户原则)的必要条件。
Graph APi为此有2个不同的调用,因此在自动化时,我需要根据对象类型知道要调用哪个。
用户:https://graph.windows.net/microsoft.com/users/principalid?api-version=1.6
主要服务:https://graph.windows.net/microsoft.com/servicePrincipals/principalid?api-version=1.6
答案 0 :(得分:0)
Graph APi为此有2个不同的调用,因此在自动化时,我需要根据对象类型知道要调用哪个。
根据我的理解,您可以使用对象-Get Objects By Object Ids Rest API通过PrincipledID获取对象,而无需调用2个不同的调用。您还可以从响应中获取对象类型。
POST https://graph.windows.net/{tenantID}/getObjectsByObjectIds?api-version=1.6
我用2个主体ID测试,一个是服务主体,另一个是用户。
测试结果: