RAM用户或RAM角色只能将云助手命令执行在带有某种标签的ECS实例上,否则执行失败。本文以RAM用户为例,为您介绍对应的操作方法、自定义权限策略内容及常见问题。
操作步骤
使用阿里云账号或RAM管理员创建RAM用户。
具体操作,请参见创建RAM用户。
使用阿里云账号或RAM管理员创建自定义权限策略。
使用阿里云账号或RAM管理员为RAM用户授权。
具体操作,请参见为RAM用户授权。
使用RAM用户登录ECS管理控制台云助手页面,验证权限策略是否生效。
将命令执行到不带有标签
user:alice
的ECS实例上,执行失败。将命令执行到带有标签
user:alice
的ECS实例上,执行成功。
关于RAM用户登录控制台的操作方法,请参见RAM用户登录阿里云控制台。
权限策略示例1:要求发送命令、文件的ECS实例带有指定标签
本示例中,仅允许RAM用户将云助手命令执行到带有标签user:alice
的ECS实例上、将文件传输到带有标签user:alice
的ECS实例上。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "acs:ecs:*:*:instance/*",
"Condition": {
"StringEquals": {
"acs:ResourceTag/user": "alice"
}
}
},
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "acs:ecs:*:*:command/*"
}
]
}
权限策略示例2:查询标签、查询ECS实例以及管理云助手命令
本示例中,仅允许RAM用户查询标签、查询ECS实例以及管理云助手命令。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribeTag*",
"ecs:DescribeInstance*",
"ecs:DescribeCommands",
"ecs:CreateCommand",
"ecs:DeleteCommand",
"ecs:ModifyCommand",
"ecs:DescribeInvocationResults",
"ecs:DescribeSendFileResults",
"ecs:DescribeInstances",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeInvocations",
"ecs:DescribeResourceByTags",
"ecs:DescribeTagKeys",
"ecs:DescribeTags",
"ecs:ListTagResources",
"ecs:DescribeManagedInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "oos:ListSecretParameters",
"Resource": "*"
}
]
}
常见问题
如果权限策略未生效,请检查RAM用户的权限是否对以下几个Action设置了Allow策略:
["ecs:InvokeCommand","ecs:RunCommand", "ecs:StopInvocation","ecs:SendFile"]
例如:存在如下所示的权限策略时,您需要移除RAM用户的这些权限策略。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "*"
}
]
}