Microsoft Azure Graph API - AppRoleAssignedTo 不工作?

Microsoft Azure Graph API - AppRoleAssignedTo not working?

我已经搜索过这个问题的答案,但似乎没有找到可靠的答案。

我正在尝试通过图表 API 删除租户中的应用程序 (servicePrincipal)。我拥有所有代码 (Java) 来获取我的访问令牌,调用 /servicePrincipals,然后使用该信息检索每个 servicePrincipal 的 appRoleAssignments。那是有效的。

问题是 Graph API 和 Azure AD Graph API 的行为似乎不同。我最初使用的是 AAD Graph API,但正在过渡到使用 Graph API。这是我遇到的问题:

当使用 AAD Graph API 时,我

https://graph.windows.net/[tenant-domain]/servicePrincipals/[service-principal-guid]?api-version=1.6

并得到我期望的结果。然后我做

https://graph.windows.net/[tenant-domain]/servicePrincipals/[service-principal-guid]/appRoleAssignedTo?api-version=1.6

然后回来

{
  "odata.metadata": "https://graph.windows.net/[tenant-name]/$metadata#directoryObjects/Microsoft.DirectoryServices.AppRoleAssignment",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.AppRoleAssignment",
      "objectType": "AppRoleAssignment",
      "objectId": "[removed]",
      "deletionTimestamp": null,
      "creationTimestamp": null,
      "id": "[removed]",
      "principalDisplayName": "ManuallyAdded",
      "principalId": "[removed]",
      "principalType": "Group",
      "resourceDisplayName": "Box",
      "resourceId": "[removed]"
    },
    {
      "odata.type": "Microsoft.DirectoryServices.AppRoleAssignment",
      "objectType": "AppRoleAssignment",
      "objectId": "[removed]",
      "deletionTimestamp": null,
      "creationTimestamp": null,
      "id": "[removed]",
      "principalDisplayName": "TestGroup",
      "principalId": "[removed]",
      "principalType": "Group",
      "resourceDisplayName": "Box",
      "resourceId": "[removed]"
    }
  ]
}

然后我切换图形 API 并执行

https://graph.microsoft.com/beta/[tenant-domain]/servicePrincipals/[service-principal-guid]

并得到与 AAD 图相同的结果 API。但是现在,当我

https://graph.microsoft.com/beta/[tenant-domain]/servicePrincipals/[service-principal-guid]/appRoleAssignedTo

我总是回来

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments",
    "value": []
}

正如您在上面看到的,我使用的是 Graph API 测试版和 AAD Graph API 1.6 版。我错过了什么吗?测试版中有错误吗?

作为旁注,我正在寻找

https://github.com/microsoftgraph/microsoft-graph-docs/tree/master/api-reference/beta/api 作为测试版 API 的参考并且似乎遵循它所说的内容,特别是

https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-reference/beta/api/approleassignment_get.md

我认为 https://graph.microsoft.com/beta/appRoleAssignments/[id] 示例底部有一个拼写错误。

谢谢!

布莱恩

感谢您报告此问题。我已经在内部提交了一个错误来调查和解决这个问题。请随时在 GitHub 上提交文档问题。 当我们部署了修复程序时会报告。