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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 子账号或相关角色只能将云助手命令执行在带有某种标签的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": "*"
        }
    ]
}
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
弹性计算 运维 监控
|
5天前
|
Shell
命令行基础、命令编辑技巧、常用快捷键、访问设备资源
命令行基础、命令编辑技巧、常用快捷键、访问设备资源
|
5天前
|
存储 算法 C语言
【C/C++ 应用开发 检测文件 】详解 C/C++ 中常用的 5 种文件存在检查方式
【C/C++ 应用开发 检测文件 】详解 C/C++ 中常用的 5 种文件存在检查方式
48 0
|
安全 虚拟化 Python
和信创天云桌面系统_命令执行_任意文件上传
和信创天云桌面系统_命令执行_任意文件上传
和信创天云桌面系统_命令执行_任意文件上传
|
10月前
|
安全 Java Windows
不可或缺的BCUninstaller:全面显示软件信息、批量垃圾删除、强制卸载程序……
不可或缺的BCUninstaller:全面显示软件信息、批量垃圾删除、强制卸载程序……
103 0
Discuz如何自主控制弹框的显示(2)
Discuz如何自主控制弹框的显示
105 0
Discuz如何自主控制弹框的显示(2)
|
Web App开发 自然语言处理 机器人
十行代码即可为你的网站添加语音小助手,无需任何外部依赖
前面一篇文章有讲到通过 Web Speech API 来朗诵诗歌,写了个诗歌朗诵的小网站。 而 Web Speech API 除了语音输出外,还支持语音识别,你可以通过 Web Speech API 收集用户的语音指令,为你的网站添加一些有趣的功能:比如在小说阅读网站上添加语音指令,让你可以语音控制翻书、下一章等,让你可以更方便的一边看小说一边吃薯片。🐶
|
弹性计算 数据安全/隐私保护
使用标签控制云助手的命令执行
简介: 子账号或相关角色只能将云助手命令执行在带有某种标签的ECS实例上,否则执行不成功。
303 0
使用标签控制云助手的命令执行
|
PHP
Discuz如何自主控制弹框的显示(1)
Discuz如何自主控制弹框的显示
103 0
Discuz如何自主控制弹框的显示(1)
|
Linux Windows
麒麟部署平台应用启动和停止脚本模板
麒麟部署平台ISV操作手册
558 0