使用标签控制云助手的命令执行

简介: 子账号或相关角色只能将云助手命令执行在带有某种标签的ECS实例上,否则执行不成功。

简介

子账号或相关角色只能将云助手命令执行在带有某种标签的ECS实例上,否则执行不成功。

设计

子账号或相关角色权限限制如下:

  1. 只能将命令执行到带有标签(user:zhangsan)的实例上
  2. 只能将文件传输到带有标签(user:zhangsan)的实例上
  3. 可以创建、删除、修改以及查询云助手命令和执行结果

权限设计如下:

要求发送命令/文件的实例带有标签(user:zhangsan):

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:InvokeCommand",
                "ecs:RunCommand",
                "ecs:StopInvocation",
                "ecs:SendFile"
            ],
            "Resource": "acs:ecs:*:*:instance/*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/user": "zhangsan"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecs:InvokeCommand",
                "ecs:RunCommand",
                "ecs:StopInvocation",
                "ecs:SendFile"
            ],
            "Resource": "acs:ecs:*:*:command/*"
        }
    ]
}

查询标签、实例以及云助手资源的权限:

{
    "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": "*"
        }
    ]
}

验证

  1. 将命令执行到不带有标签(user:zhangsan)的实例上:

执行结果符合预期:

  1. 将命令执行到带有标签(user:zhangsan)的实例上:

执行成功

常见问题

如果权限控制未生效,请检查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": "*"
        }
    ]
}
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
SQL 数据采集 DataWorks
DataWorks产品使用合集之依赖脚本实际运行成功了,但其状态却显示为未运行,从而导致下游脚本没有运行,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
人工智能
AI,代码库-代码助手---代码输入提示框,询问加上特性,让他返回
AI,代码库-代码助手---代码输入提示框,询问加上特性,让他返回
|
6月前
|
Shell
命令行基础、命令编辑技巧、常用快捷键、访问设备资源
命令行基础、命令编辑技巧、常用快捷键、访问设备资源
|
6月前
视觉智能平台模板视频人脸融合,上传模板之后立即删除模板会报模板id无效,是因为模板还未生成吗?
视觉智能平台模板视频人脸融合,上传模板之后立即删除模板会报模板id无效,是因为模板还未生成吗?
53 1
漏刻有时基础环境状态4个指标选项的更改说明
漏刻有时基础环境状态4个指标选项的更改说明
50 0
|
Web App开发 自然语言处理 机器人
十行代码即可为你的网站添加语音小助手,无需任何外部依赖
前面一篇文章有讲到通过 Web Speech API 来朗诵诗歌,写了个诗歌朗诵的小网站。 而 Web Speech API 除了语音输出外,还支持语音识别,你可以通过 Web Speech API 收集用户的语音指令,为你的网站添加一些有趣的功能:比如在小说阅读网站上添加语音指令,让你可以语音控制翻书、下一章等,让你可以更方便的一边看小说一边吃薯片。🐶
十行代码即可为你的网站添加语音小助手,无需任何外部依赖
|
弹性计算 数据安全/隐私保护
使用标签控制云助手的命令执行
简介: 子账号或相关角色只能将云助手命令执行在带有某种标签的ECS实例上,否则执行不成功。
424 0
使用标签控制云助手的命令执行
|
人工智能 搜索推荐 IDE
阿里云智能编码插件进行了一个上新大动作
继5月20日发布最爱你的智能编码助手之后,Alibaba Cloud AI Coding Assistant新版本0.10.3-beta版本发布啦!
596 0
阿里云智能编码插件进行了一个上新大动作
|
弹性计算 运维 Ubuntu
效率神器!云助手----发送远程命令:通过发送远程命令窗口,无需登录到实例内部,即可直接执行命令。
发送远程命令可以帮助您在实例内部快速执行命令,即无需远程连接登录实例,即可完成查看硬盘空间、安装软件、启动停止服务等操作。该功能通过 云助手 的命令执行功能实现,如果您的实例还没有安装或激活云助手客户端,请先 安装或者激活 。
12618 0
效率神器!云助手----发送远程命令:通过发送远程命令窗口,无需登录到实例内部,即可直接执行命令。