如何使用REST API在Azure中删除角色分配

bweufnob  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(154)

我正在尝试使用REST API在Azure中删除根级别的角色分配。具体来说,我想从电子邮件地址为“email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)“的用户中删除Owner角色,我已经收集了用户的对象ID和Owner角色的角色定义ID。现在,我正在寻找关于如何构建一个URL的指导。
https://management.azure.com/%7Bscope%7D/providers/Microsoft.Authorization/roleAssignments/%7BroleAssignmentName%7D?api-version=2015-07-01
有人能提供正确的值来替换此URL中的scope和roleAssignmentName以成功删除角色分配吗?
其他信息:
在本例中,{scope}位于根级别,因此应该是/。roleAssignmentName是唯一标识角色分配的标识符。API版本指定为api-version=2015-07-01。任何关于如何正确构建请求URL的指导都将不胜感激。
我正在尝试使用REST API在Azure中删除根级别的角色分配。具体来说,我想从电子邮件地址为“email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)“的用户中删除Owner角色,我已经收集了用户的对象ID和Owner角色的角色定义ID。现在,我正在寻找关于如何构建一个URL的指导。

yhxst69z

yhxst69z1#

最初,我通过Postman为service principal使用客户端凭证流生成访问令牌

POST https://login.microsoftonline.com/tenantId/oauth2/v2.0/token
grant_type:client_credentials
client_id: appId 
client_secret: secret 
scope: https://management.azure.com/.default

回复:

我有一个用户在订阅范围内分配了Owner角色,如下所示:

要获取上述角色分配名称/ID,可以运行下面的REST API调用:

GET https://management.azure.com/subscriptions/subId/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq 'userObjId'
Authorization: Bearer <token>

回复:

现在,在REST API调用下面运行,通过包含scope角色分配名称删除角色分配:

DELETE https://management.azure.com/subscriptions/subId/providers/Microsoft.Authorization/roleAssignments/roleassignment_name?api-version=2022-04-01
Authorization: Bearer <token>

回复:

在Portal中勾选后,角色分配删除成功,如下所示:

响应:Role Assignments - Delete - REST API (Azure Authorization) | Microsoft

相关问题