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

简介: 简介: 子账号或相关角色只能将云助手命令执行在带有某种标签的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": "*"
        }
    ]
}


原文链接:

https://developer.aliyun.com/article/938460

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
48 5
|
6月前
|
Ubuntu 安全 Linux
创建并使用自定义的Linux命令`autoupdate`来自动化软件更新
创建自定义Linux命令`autoupdate`简化系统更新流程。通过编写包含`apt update`, `apt upgrade`, `apt autoremove`和`apt clean`的bash脚本,实现一键自动化更新。将脚本添加到PATH环境变量,确保在任意目录可执行。适用于基于Debian/Ubuntu系统,其他发行版需调整命令。记得备份数据,必要时重启系统,并可按需扩展脚本功能。
|
7月前
|
Shell
命令行基础、命令编辑技巧、常用快捷键、访问设备资源
命令行基础、命令编辑技巧、常用快捷键、访问设备资源
|
7月前
|
弹性计算 运维 监控
|
监控 安全 数据库
自定义警告规则:企业电脑行为监控软件的Lua脚本编写
在企业环境中,监控员工电脑行为是确保信息安全和员工生产力的重要一环。电脑行为监控软件允许管理员跟踪用户活动并制定警告规则,以便在出现异常情况时立即采取措施。本文将介绍如何使用Lua脚本编写自定义警告规则,以监控关键行为并自动将监控到的数据提交到网站。
188 1
|
运维 Shell
运维(12)- shell位置参数和特殊变量
运维(12)- shell位置参数和特殊变量
71 0
|
Shell
【shell】函数、数组、免交互
文章目录 前言 一、定义 二、函数
98 0
【shell】函数、数组、免交互
|
弹性计算 数据安全/隐私保护
使用标签控制云助手的命令执行
子账号或相关角色只能将云助手命令执行在带有某种标签的ECS实例上,否则执行不成功。
146 1
使用标签控制云助手的命令执行
|
Web App开发 自然语言处理 机器人
十行代码即可为你的网站添加语音小助手,无需任何外部依赖
前面一篇文章有讲到通过 Web Speech API 来朗诵诗歌,写了个诗歌朗诵的小网站。 而 Web Speech API 除了语音输出外,还支持语音识别,你可以通过 Web Speech API 收集用户的语音指令,为你的网站添加一些有趣的功能:比如在小说阅读网站上添加语音指令,让你可以语音控制翻书、下一章等,让你可以更方便的一边看小说一边吃薯片。🐶
十行代码即可为你的网站添加语音小助手,无需任何外部依赖
|
运维 数据库
DO447管理任务执行--运行选定的任务
DO447管理任务执行--运行选定的任务
172 0
DO447管理任务执行--运行选定的任务