尝试使用“应用程序”权限更新(PATCH
)用户的mobilePhone
属性时,来自Graph的响应是“权限不足,无法完成操作”(Authorization_RequestDenied
)。
同时授予User.ReadWrite.All
和Directory.ReadWrite.All
权限。通过指定client_credentials
范围的.default
授予(oauth2 / v2.0 / token端点)请求访问令牌,并且访问令牌的role
声明中都存在这两个权限。
更新其他属性可以正常工作。该错误仅在更新mobilePhone
属性时且仅在具有应用程序权限的情况下(与管理员用户一起使用Graph Explorer才有效)。
此行为突然开始于2018年10月2日。在此之前,更新手机属性还具有应用程序权限(相同的权限)。
据我所知,没有为用户PATCH
请求或mobilePhone
属性向Graph文档添加新的限制/所需的权限。这里可能是什么问题?
注意:使用Microsoft.Graph.GraphServiceClient(.NET Standard)发出请求,但是使用Postman发出请求时,也是如此。
编辑:
这是Graph API的响应:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "e956cb0b-af0a-4bb7-aae3-59d39d007a82",
"date": "2018-10-11T08:27:19"
}
}
}
答案 0 :(得分:3)
我们的团队遇到了同样的问题,我们向Microsoft提出了支持请求并解决了该问题。
解决方案是将帮助台管理员角色添加到服务主体/企业应用程序。
Microsoft更改了更新PII的安全策略,并更改了允许更新的安全角色。
更多来自我们的支持请求答案:
发生这种情况的原因是由于新的PII敏感性问题导致最近的更改。
因此,现在您需要立即将“服务台管理员”角色添加到“服务主体/企业”应用程序中。
您可以按照以下文章进行操作: https://blogs.msdn.microsoft.com/aaddevsup/2018/08/29/how-to-add-an-azure-ad-role-to-a-enterprise-application-service-principal/
这是为了修改值,例如:mobile / othermails / telephonenumber属性。