本文介绍如何通过IAM(Identity and Access Management,访问控制)功能,限制可以使用自定义命令的子账号。
操作场景
由于您自行创建的批量作业自定义命令,可能包含格式化磁盘、删除文件、调整系统参数等高权限操作。通过IAM的自定义策略,您可以限制仅部分子账号可以使用目标自定义命令,控制可以执行命令的范围。
操作流程
步骤一:创建自定义策略
使用主账号登录访问控制的策略管理控制台。
选择“自定义策略”页签,进入自定义策略列表页。
单击“新建自定义策略”按钮,填写如下信息。
本实践仅说明自定义命令使用权限的配置内容,更多自定义策略详情可查看策略概述。
参数名 | 说明 | 取值样例 |
---|
策略名称 | 填写新建策略的名称。 | DeleteVirtio |
编辑策略内容 | 填写策略内容,规则如下: - Effect:固定为
Allow ,允许对策略指定的自定义命令进行操作。 - Action:填写需要对自定义命令进行的具体操作,需包含
ecs:InvokeCommand 。说明 请勿添加RunCommand接口,该接口无法通过策略限制其执行自定义命令。 - Resource:指定需要限制使用权限的自定义命令,格式为
trn:ecs:[命令所在地域]:[主账号ID]:command/[自定义命令ID] 。
完整示例:
如下策略定义了允许查询、修改及使用北京地域的批量作业自定义命令cmd-ycn5dc9qf9l8j0v***** 与cmd-tsx0gy9rslp90k3z***** 的权限。 {
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:Describe*",
"ecs:ModifyCommand",
"ecs:InvokeCommand"
],
"Resource": [
"trn:ecs:cn-beijing:210001*****:command/cmd-ycn5dc9qf9l8j0v*****",
"trn:ecs:cn-beijing:210001*****:command/cmd-tsx0gy9rslp90k3z*****"
]
}
]
}
| - |
单击“创建策略”按钮,完成创建。
策略创建成功后,无权限的子用户使用策略包含的自定义命令,将在创建作业页面提示“用户没有权限执行此操作。”
步骤二:为子账号添加权限
- 使用主账号登录访问控制的策略管理控制台。
- 选择“自定义策略”页签,进入自定义策略列表页。
- 在自定义策略页签找到您新建的策略,单击目标策略右侧“操作”列的“管理”按钮。
- 在策略详情页面,选择“授权”页签,选择“全局授权”。
- 单击“添加授权”按钮,选择“用户”并勾选可以执行策略中包含的自定义命令的子用户。
- 单击“确定”按钮,添加权限。
- 添加权限后,该子账号即可在批量作业中使用相应自定义命令,操作详情可查看创建作业。