使用标签控制ECS资源的访问

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

前提条件

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

背景信息

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

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

默认情况下,资源列表将展示本地域中所有的资源,如果您希望为RAM用户设置查看资源的范围,您可以通过创建自定义策略,利用标签控制RAM用户对资源的访问。

步骤一:创建自定义策略并为RAM用户授权

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

  1. 使用阿里云账号登录RAM控制台

  2. 创建自定义策略UseTagAccessRes。

    自定义策略内容如下所示。具体操作,请参见创建自定义权限策略

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:RequestTag/owner": "zhangsan",
                        "acs:RequestTag/environment": "production"
                    }
                }
            },
            {
                "Action": [
                    "ecs:DescribeTagKeys",
                    "ecs:DescribeTags"
                ],
                "Effect": "Allow",
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }

    权限策略

    内容

    说明

    访问带标签资源的权限

    • "acs:RequestTag/owner": "zhangsan"

    • "acs:RequestTag/environment": "production"

    控制绑定该标签的资源的访问。

    允许查询标签的接口权限

    • ecs:DescribeTagKeys

    • ecs:DescribeTags

    ECS控制台需要支持标签查询的权限。

    不允许操作标签相关的接口权限

    • ecs:DeleteTags

    • ecs:UntagResources

    • ecs:CreateTags

    • ecs:TagResources

    权限中不允许出现与操作标签有关的接口,避免用户因修改标签导致没有权限。

  3. 将自定义策略授权给RAM用户userTest。

    具体操作,请参见为RAM用户授权

步骤二:为ECS实例绑定标签

本步骤将使用阿里云账号为ECS实例绑定特定标签。

说明

如果您没有ECS实例,请先创建ECS实例。详情请参见实例创建方式介绍

  1. 登录标签控制台

  2. 在顶部菜单栏左上角处,选择地域。

  3. 自定义标签页签,单击创建自定义标签

  4. 创建自定义标签对话框,创建owner:zhangsanenvironment:production标签,并绑定已有ECS实例。

    具体操作,请参见创建并绑定自定义标签

步骤三:访问带标签的ECS实例

本步骤将使用RAM用户userTest(已授权自定义策略UseTagAccessRes)登录ECS控制台,访问带标签的ECS实例。

  1. 使用RAM用户登录ECS控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在顶部菜单栏左上角处,选择地域。

  4. 实例页面,单击搜索栏旁边的标签筛选,选择owner:zhangsanenvironment:production标签。

    image.png

  5. 查看仅绑定了owner:zhangsanenvironment:production标签的资源。