Microsoft Graph - 为什么权限/范围“Group.ReadWrite.All”能够对用户配置文件属性执行PATCH?

时间:2017-01-01 16:50:42

标签: microsoft-graph office365api azure-ad-graph-api

工具:邮递员

  1. 为Microsoft Graph应用创建了azure广告应用,授予仅应用权限Group.ReadWrite.All,该应用具有标准委派权限,作为“登录并读取用户个人资料”“Windows Azure Active Directory”应用。
  2. 使用客户端凭据授予流程,在资源参数为“https://login.windows.net/”的端点https://graph.windows.net处为AzureAD graph api请求令牌;
  3. 得到令牌回复
  4. 使用令牌并在用户确认
  5. 上进行GET
  6. 对用户进行了PATCH(修改成功,http代码204返回);
  7. 这对我来说非常奇怪,为什么当应用程序仅在Microsoft Graph API上被授予patch时,应用程序能够对azure广告中的用户进行Group.ReadWrite.All

2 个答案:

答案 0 :(得分:0)

我们正在开发新的Azure门户网站,以“同意/批准”#34;您租户中的应用。在此之前,您需要按照此示例应用程序的说明中的最后一步(同意应用程序):https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console。 在这样做之后,你应该看到一个"角色"在访问令牌中声明(包含Group.ReadWrite.All)。

您报告的另一个问题(看起来您的应用已添加到目录编写器角色,使您的应用能够执行的不仅仅是群组操作) - 这将需要更多的调查,因为这不应该正在发生。将报告回来。

希望这有帮助,

答案 1 :(得分:0)

这里有两个问题;

问题#1)添加所有者graph.microsoft.io/en-us/docs/api-reference/v1.0/api / ...错误的文档(需要以下范围之一)执行此API:Group.ReadWrite.All或Directory.ReadWrite.All或Directory.AccessAsUser.All),它需要Directory.ReadWrite.All和Group.ReadWrite.All,

问题#2)如果删除"读取和写入目录数据,则Azure AD门户不会从Directory Writer角色中删除应用程序服务主体。 Windowes AzureAD App的许可