云服务器ECS资源绑定标签后,您可以使用标签为资源做分类并控制访问。本文以ECS实例为例,介绍如何为RAM用户授权特定的策略,使该RAM用户能够通过标签控制ECS实例的访问。

前提条件

已使用主账号创建一个RAM用户,详情请参见创建RAM用户

背景信息

标签是云资源的标识,可以帮助您从不同的维度对具有相同特征的云资源进行分类、搜索和聚合,使资源管理更加容易。每个云资源均支持绑定多个标签。

阿里云的用户权限是基于策略为管理主体的,您可以根据不同用户的职责(用户角色)配置RAM策略。在策略中,您可以定义多个标签,然后将一个或多个策略附加到RAM用户或用户组。如果要控制RAM用户可以访问哪些资源,您可以创建自定义策略并使用标签来实现访问控制。

云服务器ECS和其他云产品的多个资源支持绑定标签。默认情况下,资源列表将展示本地域中所有的资源,如果您希望为RAM用户设置查看资源的范围,您可以通过创建自定义策略,利用标签控制RAM用户对资源的访问。

步骤一:主账号创建与授权RAM策略

本步骤将使用主账号新建一个自定义策略UseTagAccessRes(规定了RAM用户需要指定标签owner:zhangsanenvironment: production后方可访问ECS资源),并将自定义策略UseTagAccessRes授权给RAM用户userTest。

  1. 使用主账号登录RAM控制台
  2. 创建自定义策略UseTagAccessRes,详情请参见创建自定义策略
    如下所示,您可以在策略主体中为云资源设置多个标签。
    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "ecs:tag/owner": "zhangsan",
                        "ecs:tag/environment": "production"
                    }
                }
            },
            {
                "Action": [
                    "ecs:DescribeTagKeys",
                    "ecs:DescribeTags"
                ],
                "Effect": "Allow",
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }
    权限策略 内容 说明
    访问带标签资源的权限
    • "ecs:tag/owner": "zhangsan"
    • "ecs:tag/environment": "production"
    控制绑定该标签的资源的访问。
    允许查询标签的接口权限
    • ecs:DescribeTagKeys
    • ecs:DescribeTags
    ECS控制台需要支持标签查询的权限。
    不允许操作标签相关的接口权限
    • ecs:DeleteTags
    • ecs:UntagResources
    • ecs:CreateTags
    • ecs:TagResources
    权限中不允许出现与操作标签有关的接口,避免用户因修改标签导致没有权限。
  3. 将自定义策略授权给您希望控制访问的RAM用户或组。详情请参见为RAM角色授权。本步骤中将自定义策略UseTagAccessRes授权给RAM用户userTest。
    说明 如果您将自定义策略UseTagAccessRes授权已存在的RAM用户,请注意RAM用户多个权限策略产生的权限问题。

步骤二:主账号为已有资源绑定特定标签

您可以将已有的资源绑定特定标签,实现对已有资源的访问控制。本步骤使用主账号创建ECS实例,并绑定特定标签。

说明 如果您尚未创建ECS实例,请您先创建ECS实例作为已有资源。详情请参见创建方式导航
  1. 登录ECS管理控制台
  2. 在左侧导航栏,单击标签
  3. 单击创建标签/绑定标签,创建owner:zhangsanenvironment: production标签,并绑定已有ECS实例。绑定标签详情请参见创建或绑定标签

步骤三:RAM子账号访问带标签的ECS实例

使用带有自定义策略UseTagAccessRes的RAM用户userTest登录ECS控制台,访问带标签的ECS实例。

说明 支持带标签的ECS资源包括实例、块存储、快照、镜像、安全组、弹性网卡、专有宿主机、SSH密钥对以及实例启动模版。本步骤仅以ECS实例作为示例。
  1. 登录ECS管理控制台
  2. 在左侧导航栏,单击实例与镜像 > 实例
  3. 选择地域后,实例列表为空。
    实例列表
  4. 指定标签后查看有权限的资源。
    过滤1