azure - 如何获取有效的访问令牌以从 Postman 调用 Azure REST API
问题描述
我希望能够调用 Azure REST API 来创建/读取容器实例、容器注册表和存储帐户等资源。
在我的 Azure AD 中,我为我的应用程序注册了一个应用程序,并获得了 clientID、secret 和tenantId。
我调用了以下 API 来获取令牌:
https://login.microsoftonline.com/{{tenantId}}/oauth2/token
和
资源、client_id、client_secret 和 grant_type
作为POST
请求中的正文参数
我从这里收到的令牌无法正常工作。我收到以下错误:
{
"error": {
"code": "AuthorizationFailed",
"message": "The client 'ff70fcft-21ub-4a7f-8h20-3f405c5d17e0' with object id 'ff70fcff-22bb-4a7f-9f20-3f405c1e17e0' does not have authorization to perform action 'Microsoft.ContainerInstance/containerGroups/read' over scope '/subscriptions/afb6001a-XXXX-4c39-XXXX-9706012c30ba/resourceGroups/app2/providers/Microsoft.ContainerInstance/containerGroups/app2' or the scope is invalid. If access was recently granted, please refresh your credentials."
}
}
但是,当我从浏览器的网络选项卡复制访问令牌时,它工作正常。
我认为 app-registration 有问题,因为它感觉 app 和我的资源当前已断开连接。
谁能帮我解决这个问题?
解决方案
您似乎没有授予已注册应用程序的 Azure 订阅访问权限。
以下是步骤:
1.所有服务->订阅->选择您的订阅->点击访问控制
2.单击添加以将角色分配添加到您注册的应用程序
3.获取访问令牌再次访问api,就可以了。
更新:
请选择正确的订阅。
推荐阅读
- c# - 将 Selenium Cookie 复制到 CookieContainer
- javascript - 在重构代码中使用 fetch
- javascript - 如何使用 Vue.js 制作记住我的复选框?
- ruby - activerecord gem 显示在 gem 列表中,但在尝试加载时找不到文件错误
- android - 谷歌地图在位置更新时返回 null
- swift - 如何在 Swift 4 中将 HTTP 基本身份验证传递给 AVAudioPlayer
- python - Django manage.py 迁移错误
- swift - 停止 UIPanGestureRecognizer 移动超过阈值
- ansible - Ansible如何遍历多维数据
- android - 如何正确使用安卓设备管理员功能