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

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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
SQL 数据采集 DataWorks
DataWorks产品使用合集之依赖脚本实际运行成功了,但其状态却显示为未运行,从而导致下游脚本没有运行,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
EMQ
|
4月前
|
SQL 数据采集 JSON
解锁工业数据流:NeuronEX 规则调试功能实操指南
NeuronEX 工业边缘软件中的规则调试功能,可帮助用户在安全的环境中模拟数据输入,测试和优化数据处理规则,从而提前发现并解决潜在问题。规则调试功能对于实现智能制造、远程监控和预防性维护等应用尤为关键,能够有效提升生产效率,降低运营成本,同时保障系统的稳定性和安全性。
EMQ
64 0
解锁工业数据流:NeuronEX 规则调试功能实操指南
|
5月前
|
存储 算法 C语言
【C/C++ 应用开发 检测文件 】详解 C/C++ 中常用的 5 种文件存在检查方式
【C/C++ 应用开发 检测文件 】详解 C/C++ 中常用的 5 种文件存在检查方式
155 0
|
5月前
视觉智能平台模板视频人脸融合,上传模板之后立即删除模板会报模板id无效,是因为模板还未生成吗?
视觉智能平台模板视频人脸融合,上传模板之后立即删除模板会报模板id无效,是因为模板还未生成吗?
49 1
Discuz如何自主控制弹框的显示(2)
Discuz如何自主控制弹框的显示
121 0
Discuz如何自主控制弹框的显示(2)
|
安全 Java Windows
不可或缺的BCUninstaller:全面显示软件信息、批量垃圾删除、强制卸载程序……
不可或缺的BCUninstaller:全面显示软件信息、批量垃圾删除、强制卸载程序……
154 0
|
测试技术
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
293 0
|
测试技术 数据安全/隐私保护
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(上)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等
883 0
|
Web App开发 自然语言处理 机器人
十行代码即可为你的网站添加语音小助手,无需任何外部依赖
前面一篇文章有讲到通过 Web Speech API 来朗诵诗歌,写了个诗歌朗诵的小网站。 而 Web Speech API 除了语音输出外,还支持语音识别,你可以通过 Web Speech API 收集用户的语音指令,为你的网站添加一些有趣的功能:比如在小说阅读网站上添加语音指令,让你可以语音控制翻书、下一章等,让你可以更方便的一边看小说一边吃薯片。🐶