azure - 为什么 Azure REST API 无法将用户角色分配给订阅?
问题描述
我正在尝试按照本文档使用 REST API 将用户角色添加到 Azure 中的订阅。
- 我在登录时获得了一个不记名令牌,并将其作为标头授权参数传递。
- 给出文档中描述的所有值
- 我执行的 PFA REST API 调用。
API响应如下;
{
"error": {
"code": "AuthenticationFailed",
"message": "Authentication failed."
}
}
请让我知道是否有人成功使用此 API 并执行了操作。此操作是否还有任何 Azure .NET API?
解决方案
该错误意味着您的用户帐户没有创建角色分配的权限,特别是Microsoft.Authorization/roleAssignments/write
.
要解决此问题,您需要先让您订阅的管理员Owner
或User Access Administrator
(或具有权限的自定义 RBAC 角色Microsoft.Authorization/roleAssignments/write
)在订阅范围内为您分配具有上述权限的Owner
或或自定义角色,点击此链接,然后获得一个新令牌,您将能够将角色分配给其他人,例如管理员将角色分配给您,即创建角色分配。User Access Administrator
更新:
如果您想通过您的用户凭证获取访问令牌,您可以使用auth code flow,请按照以下步骤操作。
1.在你的App注册中,添加API的user_impersonation
Delegated权限。Azure Service Management
2.在浏览器中点击下面的 URL,将 , , 更改tenant-id
为client-id
您的redirect_uri
,登录您的用户帐户。
https://login.microsoftonline.com/tenant-id/oauth2/v2.0/authorize?
client_id=xxxxxxxx
&response_type=code
&redirect_uri=http://localhost
&response_mode=query
&scope=https://management.azure.com/.default
&state=12345
然后你会得到一个类似下面的代码,复制它。
不要忘记删除 state 和 session_state。
3.在邮递员中,使用下面的查询,就可以得到token。
推荐阅读
- ios - iOS 12+:Vue 移动应用程序 - 键盘输入点击崩溃
- swift - 在 Swift 中按类型和属性对异构集合进行排序
- perl - Perl:同形异义词攻击。可以比较 ascii / non-ascii 字符串,视觉上相似吗?
- editor - Mac 上的 Vi 编辑器和备忘单
- angular - 使用单页应用程序 (Spa) 预呈现未通过 IIS AspNetCoreModule 返回正确的 URL 路径
- reactjs - react-select isMulti 过滤选项
- java - 我想不出使用 while 循环将 -1 实现为哨兵值。
- javascript - 从 JQuery 返回 3 个随机配置文件的函数?
- python-3.x - TypeError:+ 的不支持的操作数类型:“int”和“list”错误:
- html - 重用带有 ID 的图像滑块