如何获得具有角色权限的用户

How to get Users with Role permissions

我正在使用此[订阅 api][https://management.azure.com/subscriptions?api-version=2020-01-01] 获取azure 订阅详细信息。但在响应中我们得到的授权源是基于角色的。我们如何获取该订阅中存在的用户以及有哪些权限(前所有者,reader)

首先,您可以使用this API获取订阅的角色分配,如下所示:

每个项目记录都代表一个角色分配。您可以找到 roleDefinitionId 表示您分配的角色,principalId 表示分配给哪个 Azure AD 应用程序或用户的角色。

所以如果你想获取角色的详细信息,你应该单独调用下面的API:

GET https://management.azure.com/<value of roleDefinitionId>?api-version=2018-07-01

如果你想得到principalId的详细信息,你应该调用Microsoft Graph API : get directory object,如下所示:

如果你只想查询一个 user/Azure 广告应用程序分配了订阅角色,这会容易得多,因为这个 API 为我们提供了一个 $filter 参数,假设如果您有用户的对象 ID,则可以通过以下请求过滤该用户的角色: