wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了microsoft-graph – Microsoft Graph API:403尝试在租户上检索策略时出现Forbidden错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试使用Microsoft Graph API检索在Azure AD门户上为我的租户创建的策略.据我从图API文档中了解,所有策略CRUD操作都需要Directory.AccessAsUser.All的范围. 此范围转换为权限Access目录作为登录用户,如此处所述 – https://developer.microsoft.com/en-us/graph/docs/authorizatio
我正在尝试使用Microsoft Graph API检索在Azure AD门户上为我的租户创建的策略.据我从图api文档中了解,所有策略CRUD操作都需要Directory.AccessAsUser.All的范围.

此范围转换为权限Access目录作为登录用户,如此处所述 – https://developer.microsoft.com/en-us/graph/docs/authorization/permission_scopes

我一直在尝试在新的Azure门户和具有不同故障点的旧门户上配置我的应用程序.

在新门户网站上:

我按照https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal的说明在我的租户中创建了一个Web应用程序.

配置访问控制时,我的租户的唯一订阅是访问Azure Active Directory,我无法在新门户中为此配置访问控制.从浏览器中,当我选择访问控制(IAM)时,我看到错误 – “调用ARM失败,httpCode = Badrequest,errorCode = Disallowedoperation,message =当前订阅类型不允许对任何提供程序命名空间执行操作.请使用不同的订阅.,reason = Bad request.“
添加”角色按钮也被禁用.

我是否可以在订阅Access Active Directory上配置Access控件?如果是这样,是否没有其他方法可以使用API​​检索我的租户的策略?

在旧门户网站上:

对于我的应用,我配置了以下权限:

@H_733_38@microsoft Graph Windows Azure Active Directory

我在门户网站上验证了两个API都使用权限Access目录配置为登录用户.即使在这种情况下,当我尝试访问https://graph.microsoft.com/beta/policies端点以列出我的租户上的策略时,我仍然会收到403 Forbidden.

这是我获取的访问令牌上的有效负载(https://login.microsoftonline.com/ {my tenant namE} / oauth2 / token)

{
    "aud": "https://graph.microsoft.com","iss": "https://sts.windows.net/8b49696d-462a-4a71-9c5c-f570b2222727/","iat": 1491256764,"nbf": 1491256764,"exp": 1491260664,"aio": "Y2ZgYAi68q2XUTk0ykH7/TZzrhYbAA==","app_displayname": "test-app","appid": "951bb92d-5b68-45ae-bb8b-d768b2696ccc","appidacr": "1","idp": "https://sts.windows.net/8b49696d-462a-4a71-9c5c-f570b2222727/","oid": "7ccea836-d389-4328-a155-67092e2805e9","roles": [
        "Device.ReadWrite.All","User.ReadWrite.All","Directory.ReadWrite.All","Group.ReadWrite.All","IdentityRiskEvent.Read.all"
      ],"sub": "7ccea836-d389-4328-a155-67092e2805e9","tid": "8b49696d-462a-4a71-9c5c-f570b2222727","uti": "4fmUDNWWHkSoTn2-7gtTAA","ver": "1.0"
}

显然,此令牌上缺少Directory.AccessAsUser.All角色,导致403错误.所以要么我在这里遗漏了一些东西,要么API中存在一个错误,即阻止正确配置所有权限.非常感谢任何帮助/指针!

请注意:

>我只使用beta API,因为我没有在v1.0 API上找到相应的策略端点,Azure Graph api文档建议使用Microsoft Graph API.
>使用相同的配置,使用Azure Graph API端点还会为策略端点返回403 Forbidden错误(https://msdn.microsoft.com/zh-cn/library/azure/ad/graph/api/policy-operations #列表的策略)

解决方法

根据访问令牌中的声明,您使用令牌用于委派应用程序的客户端凭据流获取访问令牌.在这种令牌中没有用户的此类委托权限.

获取用户委派权限的访问令牌,您需要使用其他流程,如授权代码授予流程.您可以参链接获取detail.

大佬总结

以上是大佬教程为你收集整理的microsoft-graph – Microsoft Graph API:403尝试在租户上检索策略时出现Forbidden错误全部内容,希望文章能够帮你解决microsoft-graph – Microsoft Graph API:403尝试在租户上检索策略时出现Forbidden错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。