如何获取 Microsoft Azure 应用程序的 appRoleAssignedTo?

How to get appRoleAssignedTo for Microsoft Azure Applications?

我正在尝试为我的 Azure 租户获取 appRoleAssignedTo,现在假设如果我在该租户下有 10 个应用程序,我将必须通过为所有 10 个应用程序传递 servicePrincipal Id 来进行 10 次不同的调用。

GET /servicePrincipals/{id}/appRoleAssignedTo

有没有一种方法可以让我仅使用一次 API 调用就可以获取相应 servicePrincipal 下的所有 appRoleAssignedTo。

或者 Microsoft 提供了对 servicePrincipal 的 delta 调用,有没有一种方法可以在 appRoleAssignedTo 发生变化时让 delta returns 成为 servicePrincipal(基本上是将 appRolesAssignedTo 连接到 servicePrincipal) P.S 我试过使用 $select 和 $expand 来做,但没用。

https://docs.microsoft.com/en-us/graph/api/serviceprincipal-list-approleassignments?view=graph-rest-1.0&tabs=http

https://docs.microsoft.com/en-us/graph/api/serviceprincipal-delta?view=graph-rest-1.0&tabs=http

请尝试在 Graph Explorer 中使用 $expand=appRoleAssignedTo

https://graph.microsoft.com/v1.0/servicePrincipals?$expand=appRoleAssignedTo

如果您想同时使用 $select$expand,则需要 "id"

https://graph.microsoft.com/v1.0/servicePrincipals?$select=id,displayName&$expand=appRoleAssignedTo

响应如下:

{
    "value": [
    {
        "id": "xxxxxx",
        "displayName": "Managed Service",
        "appRoleAssignedTo@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('xxxxx')/appRoleAssignedTo",
        "appRoleAssignedTo": []
    },
  ....
  ]
}