首页 > 解决方案 > Azure Graph API 调用仅获取应用程序组

问题描述

我有 3 个组的 azure AD

我执行 api 调用以检索它

  1. 登录:https : //login.microsoftonline.com/${tenantID}/oauth2/token
  2. 获取组:https ://graph.microsoft.com/v1.0/groups
  3. 获取用户:https : //graph.microsoft.com/v1.0/groups/${groupID}/members

没关系,我在里面收到 3 个组和用户但是现在我只需要分配给应用程序的组 像这样

我在 graph api 中找不到任何过滤它的方法。如果有人知道怎么做,请帮忙

标签: azureazure-active-directorymicrosoft-graph-api

解决方案


以这种方式解决此问题:

  1. 像以前一样获取所有组
  2. 获取分配给应用程序 graph.microsoft.com/beta/servicePrincipals/${applicationId}/appRoleAssignments 的组和用户

回复 :

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments",
    "value": [
        {
            "id": "tV-E7eUeFkmIemkoWcUgTkrT54btaddPtiLX96wVx0g",
            "creationTimestamp": "2018-07-06T10:43:32.548348Z",
            "principalDisplayName": "Pasha Kostohrys",
            "principalId": "${userID}",
            "principalType": "User",
            "resourceDisplayName": "azure-group-sync",
            "resourceId": "${applicationId}"
        },
        {
            "id": "ZRCxfjNVlUqrjp9Y3wuLJz6beU58dtNOvr41VsKwADo",
            "creationTimestamp": null,
            "principalDisplayName": "ops",
            "principalId": "${groupID}",
            "principalType": "Group",
            "resourceDisplayName": "azure-group-sync",
            "resourceId": "${applicationId}"
        }
    ] }
  1. 只过滤不在分配列表中的组

推荐阅读