概述
默认情况下,子账号没有使用云服务器控制台或 API 的权限。若要允许子账号操作主账号资源权限,必须创建访问控制策略并将这些策略附加到对应的子账号或群组。策略、群组、子账号等访问控制相关介绍详见:访问控制文档。
控制台权限说明
访问控制的策略是基于 OpenAPI 设计的,控制台的操作是多种 API 组合的结果。
示例
以创建云服务器为例,创建过程包含一系列的操作,仅拥有 nvm:CreateInstance
权限无法达到预期效果,至少还需要以下 API 操作权限:
Action | Action 说明 | 备注 |
---|---|---|
nvm:CreateInstance | 创建云服务器 | 必须 |
nvm:DescribeImages | 获取镜像列表 | 必须 |
nvm:DescribeInstanceList | 获取云服务器列表 | 必须 |
vpc:ListVpc | 获取 VPC 列表 | 必须 |
vpc:ListSubnet | 获取子网列表 | 必须 |
vpc:ListSecurityGroup | 获取安全组列表 | 必须 |
vpc:ListSecurityGroupRule | 获取安全组规则 | 必须 |
vpc:CreateSecurityGroupRule | 添加安全组规则 | 若选择自动添加规则,则必须 |
除上述权限外,控制台的创建过程还包含下单、支付等计费流程,需要云服务器的支付权限。最终若需要在控制台完成云服务器创建,则需要如下权限:
{
"version": 1,
"statement": [
{
"action": [
"nvm:CreateInstance",
"nvm:DescribeImages",
"vpc:ListVpc",
"vpc:ListSubnet",
"vpc:ListSecurityGroup",
"vpc:ListSecurityGroupRule",
"vpc:CreateSecurityGroupRule"
],
"effect": "allow",
"resource": "*"
},
{
"action": "finance:*",
"effect": "allow",
"resource": "comb:nvm:*:*:*"
}
]
}
控制台依赖权限识别
考虑到控制台 API 组合复杂,若没有权限控制台将给出提示,说明依赖的 Action 和 Resourece。详见:权限故障排查