详情页标题前

阿里云ECS云服务器使用标签控制云助手命令的执行-云淘科技

详情页1

云服务器ECS资源绑定标签后,您需要对RAM用户授予某种要求的标签鉴权策略,RAM用户才可以通过执行云助手命令控制带有某种标签的ECS实例,并对该ECS实例进行控制访问。本文介绍如何通过标签控制云助手命令的执行。

前提条件

  • 已创建RAM用户。如未创建RAM用户,具体操作,请参见创建RAM用户。

  • 已创建云助手命令。如未创建云助手命令,具体操作,请参见创建命令。

背景信息

  • 标签由一组键值对组成,可以用于标记ECS实例,实现资源的分类管理。更多信息,请参见标签概述。

  • 访问控制RAM可基于权限策略,管理用户身份,控制云资源的访问和操作权限。您可以从地域、ECS实例、云助手命令等维度设计自定义策略,并授权给RAM用户使用,从而灵活控制RAM用户使用云助手命令的权限。更多信息,请参见RAM用户概览和权限策略概览。

  • 标签和RAM结合,将标签作为权限策略的匹配条件,可以实现对云资源的精细化管理。

    基于标签控制RAM用户权限(即标签鉴权)的逻辑如下:

    阿里云ECS云服务器使用标签控制云助手命令的执行-云淘科技

应用场景说明

本文以如下应用场景为示例,说明如何使用标签鉴权控制云助手命令。

  • RAM用户只能将命令执行到带有标签(例如test:tony)的ECS实例上。

  • RAM用户只能将文件传输到带有标签(例如test:tony)的ECS实例上。

  • RAM用户可以查询标签、实例或云助手命令和执行结果。

操作步骤

本步骤将使用阿里云账号(主账号)新建自定义策略UseTagAccessResources为例,将自定义策略UseTagAccessResources授权给RAM用户后,RAM用户只能将命令执行或者文件上传到带有标签test:tony的ECS实例上。

  1. 创建带有标签的ECS实例。

    本步骤以创建标签为test:tony的ECS实例为例。具体操作,请参见创建带特定标签的资源。

  2. 使用阿里云账号(主账号)登录RAM控制台。

  3. 创建自定义策略UseTagAccessResources

    具体操作,请参见创建自定义权限策略。

    您可以在权限策略(Condition)中为ECS资源设置多个标签条件来限制操作权限,支持的标签鉴权条件如下所示:

    标签鉴权条件

    说明

    acs:RequestTag

    限制在请求中必须传入特定的标签。

    如果API请求中没有标签参数,则不能使用acs:RequestTag,否则会导致鉴权失败。

    acs:ResourceTag

    限制指定的资源必须包含特定的标签。

    如果API请求中没有资源ID参数,则不能使用acs:ResourceTag,否则会导致鉴权失败。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:InvokeCommand",
                    "ecs:RunCommand",
                    "ecs:StopInvocation",
                    "ecs:SendFile"
                ],
                "Resource": "acs:ecs:*:*:instance/*",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/test": "tony"
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:InvokeCommand",
                    "ecs:RunCommand",
                    "ecs:StopInvocation",
                    "ecs:SendFile"
                ],
                "Resource": "acs:ecs:*:*:command/*"
            },
            {
                "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": "*"
            }
        ]
    }

    以上策略可以实现如下权限控制:

    • 允许在绑定test:tony标签的ECS实例上执行云助手命令或者发送远程文件,具体权限策略如下所示:

       {
             "Effect": "Allow",
             "Action": [
                "ecs:InvokeCommand",
                "ecs:RunCommand",
                "ecs:StopInvocation",
                "ecs:SendFile"
             ],
             "Resource": "acs:ecs:*:*:instance/*",
             "Condition": {
                 "StringEquals": {
                     "acs:ResourceTag/test": "tony"
                }
            }
       },
       {
            "Effect": "Allow",
            "Action": [
                "ecs:InvokeCommand",
                "ecs:RunCommand",
                "ecs:StopInvocation",
                "ecs:SendFile"
            ],
            "Resource": "acs:ecs:*:*:command/*"
      }
    • 允许查询标签、实例以及云助手等资源,具体权限策略如下所示:

      {
           "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": "*"
      }
  4. 将自定义权限策略UseTagAccessResources授予您希望控制访问的RAM用户。

    具体操作,请参见为RAM角色授权。

  5. 验证权限策略是否生效。

    登录ECS管理控制台后,对待验证的实例执行以下操作:

    说明

    对实例执行云助手命令或者发送远程文件的同时,已经同步进行了查询标签、实例以及云助手资源等操作。

    • 对不同标签的ECS实例执行云助手命令

      ECS云助手页面中的命令列表页签下,选择已创建好的云助手命令(以命令ID为c-hz02jt1ncrf****为例),对不同标签的ECS实例执行云助手命令。具体操作,请参见执行命令。

      说明

      如果命令列表页签下还没有创建好的云助手命令,您也可以创建云助手命令后再进行后续操作。具体操作,请参见创建命令。

    • 对不同标签的ECS实例发送远程文件

      ECS云助手页面中右上角位置,单击发送文件,对不同标签的ECS实例发送远程文件。具体操作,请参见上传本地文件到ECS实例。

    如果权限策略已生效,上述操作的执行结果详情,请参见执行结果。如果权限策略未生效,请参见常见问题进行排查。

执行结果

  • 在ECS实例中执行云助手命令

    • ECS实例已绑定test:tony标签,则执行云助手命令时显示执行成功。阿里云ECS云服务器使用标签控制云助手命令的执行-云淘科技

    • ECS实例未绑定test:tony标签,则执行云助手命令时显示执行失败。阿里云ECS云服务器使用标签控制云助手命令的执行-云淘科技

  • 发送远程文件到ECS实例中

    • ECS实例已绑定test:tony标签,则发送远程文件时显示执行成功。阿里云ECS云服务器使用标签控制云助手命令的执行-云淘科技

    • ECS实例未绑定test:tony标签,则发送远程文件时显示执行失败。阿里云ECS云服务器使用标签控制云助手命令的执行-云淘科技

常见问题

如果权限策略控制功能未生效怎么办?

如果权限控制功能未生效,请检查授权的RAM用户权限是否已经对Action中的以下几个参数设置了Allow操作。如果该参数已设置了Allow操作,请您将该权限策略从RAM用户权限中移除。

  • ecs:InvokeCommand

  • ecs:RunCommand

  • ecs:StopInvocation

  • ecs:SendFile

例如,如果自定义权限策略中存在如下所示的策略,请您将该权限策略从RAM用户权限中移除。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:InvokeCommand",
                "ecs:RunCommand",
                "ecs:StopInvocation",
                "ecs:SendFile"
            ],
            "Resource": "*"
        }
    ]
}

腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/153741.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 阿里云ECS云服务器任务执行记录投递-云淘科技

    您可以使用云助手任务执行记录投递功能,将任务执行记录投递到对象存储OSS和日志服务SLS中,进行持久化存储。本文介绍如何通过云助手进行投递配置和查看已投递的执行记录文件。 背景信息 云助手支持保留执行记录,但保留时长和条数均存在限制,更多信息,请参见云助手使用限制。如果您需要长时间或大量保留执行记录,建议使用任务执行记录投递功能,以便对任务执行记录进行查询、…

    2023年12月9日
  • 阿里云日志服务SLSUntagResources-云淘科技

    调用UntagResources接口为指定的资源解绑标签,现仅支持日志项目的标签,可以一次性为单个日志项目解绑多个或者全部标签。 接口说明 请求语法中Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。 已创建并获取AccessKey。更多信息,请参见访问密钥。 阿里云账号AccessKey拥有所有API的访问权…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云对象存储OSSPython设置对象标签-云淘科技

    OSS支持使用对象标签(Object Tagging)对存储空间(Bucket)中的文件(Object)进行分类,您可以针对相同标签的Object设置生命周期规则、访问权限等。 背景信息 设置对象标签时,请注意以下事项: 您可以在上传Object时设置对象标签,也可以对已上传Object设置对象标签。设置对象标签时,如果对象已有标签,则覆盖原标签。关于设置对…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云负载均衡UnTagResources – 删除资源的标签-云淘科技

    删除资源上配置的标签。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下: 操作:是指具体…

    阿里云负载均衡 2023年12月10日
  • 阿里云ECS云服务器修改实例登录密码-云淘科技

    若您创建ECS实例时未设置密码或忘记密码,可通过云助手修改ECS实例的密码。相对于控制台重置实例登录密码,通过云助手修改实例密码后,无需重启实例即可生效。 操作步骤 登录ECS管理控制台。 在左侧导航栏,选择实例与镜像 > 实例。 在顶部菜单栏左上角处,选择地域。 单击要执行命令的实例ID,进入实例详情页面。 单击定时与自动化任务页签,然后单击发送命令…

    阿里云服务器 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。