Azure Microsoft Graph-使用应用程序令牌获取MemberOf错误

Azure Microsoft Graph-使用应用程序令牌获取MemberOf错误,azure,authentication,azure-active-directory,microsoft-graph-api,Azure,Authentication,Azure Active Directory,Microsoft Graph Api,我正在尝试使用以下端点访问Microsoft Graph API以查询用户所属组的列表 {userID}/memberOf 但从最近两天开始,我的查询失败了,回复如下 { error: { code: 'Authorization_RequestDenied', message: 'Insufficient privileges to complete the operation.', innerError: { 'request-id': '7d8a56

我正在尝试使用以下端点访问Microsoft Graph API以查询用户所属组的列表

{userID}/memberOf

但从最近两天开始,我的查询失败了,回复如下

{   error: {
    code: 'Authorization_RequestDenied',
    message: 'Insufficient privileges to complete the operation.',
    innerError: {
      'request-id': '7d8a5602-19ca-4cc7-a84d-60cc0c9c09d5',
      date: '2020-04-28T11:44:24'
    }   } }
我已经作为管理员获得了所需的权限和许可,我授予的访问权限包括

Directory.Read.All
Directory.ReadWrite.All
Group.Read.All
如microsoft文档中所述:

API请求将与访问令牌(来自服务)的自动化头一起发送,遵循此文档

正在授权标头中传递的解码JWT令牌:

{
  "aud": "https://graph.microsoft.com",
  "iss": "https://sts.windows.net/TENANTID_REMOVED_FOR_SECURITY/",
  "iat": 1588150105,
  "nbf": 1588150105,
  "exp": 1588154005,
  "aio": "42dgYOCaN0c46++enU1fZx+98Lc3DQA=",
  "app_displayname": "dspIT",
  "appid": "MYAPPID_REMOVED_FOR_SECURITY",
  "appidacr": "1",
  "idp": "https://sts.windows.net/TENANTID_REMOVED_FOR_SECURITY/",
  "oid": "fc709ea2-887e-4794-9417-ac578ab825e8",
  "rh": "0.ATEAfGSULqtSkUqIuFyy2LRFJyPSTnvDYjVDlpuh_cMocSgxAAA.",
  "roles": [
    "User.ReadWrite.All",
    "RoleManagement.Read.Directory",
    "Group.Read.All",
    "Directory.ReadWrite.All",
    "Group.Create",
    "Group.ReadWrite.All",
    "User.Invite.All",
    "Directory.Read.All",
    "User.Read.All",
    "GroupMember.Read.All",
    "User.Export.All",
    "PrivilegedAccess.Read.AzureADGroup",
    "User.ManageIdentities.All",
    "RoleManagement.ReadWrite.Directory",
    "GroupMember.ReadWrite.All",
    "Group.Selected",
    "PrivilegedAccess.ReadWrite.AzureADGroup"
  ],
  "sub": "fc709ea2-887e-4794-9417-ac578ab825e8",
  "tid": "TENANTID_REMOVED_FOR_SECURITY",
  "uti": "wvHXdAZomUefp2RpSGBPAA",
  "ver": "1.0",
  "xms_tcdt": 1519129156
}

谢谢您的帮助。

基于您解码的JWT令牌,我做了一个快速测试并找到了原因

似乎有一个应用程序权限
组。选择的
会影响此API终结点的调用
/memberOf

此权限有问题,已影响到其他一些终结点。我以前也回复过类似的帖子

因此,如果没有必要,只需将其从Azure广告应用程序中删除即可。然后这个错误就会消失


如果需要此权限,恐怕您需要创建一个新的Azure广告应用程序,在其中添加使用权限。

基于您解码的JWT令牌,我进行了快速测试,并找到了原因

似乎有一个应用程序权限
组。选择的
会影响此API终结点的调用
/memberOf

此权限有问题,已影响到其他一些终结点。我以前也回复过类似的帖子

因此,如果没有必要,只需将其从Azure广告应用程序中删除即可。然后这个错误就会消失



如果需要此权限,恐怕您需要创建一个新的Azure广告应用程序,以便在其中添加使用权限。

请您解码您的访问令牌,以查看它包含哪些“角色”?如果方便的话,请分享一个截图。嗨,库马尔·维韦克,你在西欧地区面临这个问题吗?我也只在西欧地区面临这个问题。它在英国运作良好South@AllenWu感谢您的帮助,我用API请求传递的编码JWT令牌更新了问题。@SaurabhSrivastava Azure AD属性建议其托管在“德国”,并带有“符合EU模型条款的数据中心”@SaurabhSrivastava我们运行这项服务的AKS来自西欧,也许这就是它失败的原因。感谢您确认issuse也来自德国地区。请您解码您的访问令牌以查看它包含哪些“角色”?如果方便的话,请分享一个截图。嗨,库马尔·维韦克,你在西欧地区面临这个问题吗?我也只在西欧地区面临这个问题。它在英国运作良好South@AllenWu感谢您的帮助,我用API请求传递的编码JWT令牌更新了问题。@SaurabhSrivastava Azure AD属性建议其托管在“德国”,并带有“符合EU模型条款的数据中心”@SaurabhSrivastava我们运行这项服务的AKS来自西欧,也许这就是它失败的原因。感谢您确认issuse也来自德国地区。嗨,Allen,如果是这样的话,那么为什么同一个应用程序具有相同的配置,但部署在另一个地区却工作得很好?@Allen it有效。谢谢我们将调查此角色的依赖关系,但现在我们可以在删除此权限后查询组的成员。@SaurabhSrivastava我不确定。您确定您的访问令牌中包含了
组。选定的
,并且该组在您所在的地区仍然可以正常工作吗?@KumarVivek Np:)。很高兴知道这很有帮助。嗨,艾伦,是的,我很确定。我没有改变任何东西Hi Allen,如果是这样的话,那么为什么同一个应用程序具有相同的配置,但部署在另一个区域却工作得很好呢?@Allen it。谢谢我们将调查此角色的依赖关系,但现在我们可以在删除此权限后查询组的成员。@SaurabhSrivastava我不确定。您确定您的访问令牌中包含了
组。选定的
,并且该组在您所在的地区仍然可以正常工作吗?@KumarVivek Np:)。很高兴知道这很有帮助。嗨,艾伦,是的,我很确定。我没有改变任何事情