使用MS Graph创建GDAP关系时遇forbiddenUserDoesNotHaveAccess错误如何解决?
排查GDAP关系创建时
forbiddenUserDoesNotHaveAccess错误的要点 - 确认应用权限的管理员同意状态:别光看权限添加了没,得确认全局管理员或对应权限的管理员已经完成同意操作。很多时候只是在Azure AD里添加了应用权限,但没点击“授予管理员同意”,就算令牌里有角色声明也无法生效。
- 检查GDAP功能的启用情况:你的合作伙伴租户必须先启用GDAP,同时客户租户也要开启允许建立GDAP关系的设置。只要有一方没启用,就会触发这个权限禁止错误。
- 核对请求体的必填字段:创建GDAP关系的请求体不能缺失关键内容,必须包含
customer(指定客户租户ID)、accessDetails(定义要请求的权限角色)、duration(关系有效期)、displayName(关系名称)这些必填项。要是请求体漏了必填参数,系统可能会误返回权限不足的提示。参考请求体结构如下:{ "customer": { "tenantId": "客户租户ID" }, "accessDetails": { "unifiedRoles": [ { "roleDefinitionId": "目标角色定义ID" } ] }, "duration": "P90D", "displayName": "测试GDAP关系" } - 验证令牌的受众和租户信息:检查访问令牌中的
aud字段是否为https://graph.microsoft.com,tid字段是否为你的合作伙伴租户ID。如果受众或租户信息不正确,Graph API会直接拒绝请求并返回权限相关错误。 - 确认应用所属的租户:发起请求的应用必须是合作伙伴租户中注册的,不能使用客户租户的应用。如果应用注册在客户租户下,就算添加了对应权限也无法创建GDAP关系。
内容的提问来源于stack exchange,提问作者whitemtnelf
相关产品推荐
相关产品推荐

