《Windows Azure Platform 系列文章目录》
我们把一个资源从资源组A移动到资源组B的时候,如果这时候有其他人对资源组A或者资源组B的时候,会遇到创建失败的错误,并且会提示该资源组正在被移动,所以无法部署
其实我们可以自定义角色(Custom Role),拒绝某些用户移动Azure资源。
在创建custom role的时候,需要至少有以下权限:
- 在源资源组上,需要Microsoft.Resources/subscriptions/resourceGroups/moveResources/action
- 在目标资源组上,需要Microsoft.Resources/subscriptions/resourceGroups/write
我们可以在custom role的时候,设置如下信息:
- 自定义Role Name为CannotMoveResource
- Action为*,表示可以执行任何操作,类似于Owner
- Not Action为Microsoft.Resources/subscriptions/resourceGroups/moveResources/action,不允许移动资源
{
"properties": {
"roleName": "CannotMoveResource",
"description": "",
"assignableScopes": [
"/subscriptions/3851f1a6-e76d-4c8b-b204-0809652cbe98/resourceGroups/20221124-rg"
],
"permissions": [
{
"actions": ["*"],
"notActions": ["Microsoft.Resources/subscriptions/resourceGroups/moveResources/action"],
"dataActions": [],
"notDataActions": []
}
]
}
}