图 Beta 同步端点所需的权限

时间:2021-06-28 14:42:50

标签: azure-active-directory microsoft-graph-api

我正在尝试使用 Service Principal 和 ms graph api 来调用 beta synchronization/jobs/ 端点,但收到 401 Unauthorized 错误。

现在我知道文档中说我需要 Application.ReadWrite.OwnedByDirectory.ReadWrite.All 范围,但我更愿意使用分配给服务主体的角色权限来保持更细化的访问。

我已将 Principal 分配给应用程序管理员角色,这允许我访问 https://graph.microsoft.com/beta/servicePrincipals/{object-id}/,但是当我尝试 https://graph.microsoft.com/beta/servicePrincipals/{object-id}/synchronization/jobs/ 时,我得到了一个 401 代码

{
  "error": {
    "code": "UnknownError",
    "message": "",
    "innerError": {
      "date": "2021-06-28T14:35:44",
      "request-id": "5c5532e5-b506-475b-b926-8b3ec36525d7",
      "client-request-id": "5c5532e5-b506-475b-b926-8b3ec36525d7"
    }
  }
}

是否缺少某些角色权限,或者此端点是否与角色权限不兼容?或者很可能是我很傻,遗漏了什么?

我已经尝试使用 golang adal 包和 az account get-access-token --resource https://graph.microsoft.com 命令来获取令牌。

当我以具有全局管理员角色的 AAD 用户身份进行身份验证后,我可以访问此端点。

1 个答案:

答案 0 :(得分:0)

Microsoft Graph 的应用权限不能完全替换为目录角色权限。它们不能相互替代。

一般来说,AAD Graph的权限和目录角色权限有一定的重叠。但 Microsoft Graph 不是。

在这种情况下,请使用应用程序权限 Application.ReadWrite.OwnedByDirectory.ReadWrite.All

相关问题