标签与RAM的结合使用,能够让不同的RAM用户根据标签拥有不同的云资源访问和操作权限。本文介绍如何为RAM用户授权自定义策略,使该RAM用户在创建ECS资源时必须绑定特定标签,否则无法创建。

前提条件

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

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

本步骤中,将为RAM用户userTest授权自定义策略BindTagForRes,使该RAM用户在创建ECS资源时,必须选择带有标签的VPC并且必须绑定特定标签。本示例中,VPC绑定的标签为user:lisi,ECS实例必须绑定的特定标签为owner:zhangsan

  1. 使用阿里云账号登录RAM控制台
  2. 创建自定义策略BindTagForRes,详情请参见创建自定义策略

    自定义策略如下所示:

    {
        "Statement": [
            {
               "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "ecs:tag/owner": "zhangsan"
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "vpc:tag/user": "lisi"
                    }
                }
            },
            {
                "Action": [
                    "ecs:DescribeTagKeys",
                    "ecs:ListTagResources",
                    "ecs:DescribeTags",
                    "ecs:DescribeKeyPairs",
                    "ecs:DescribeImages",
                    "ecs:DescribeSecurityGroups",
                    "ecs:DescribeLaunchTemplates",
                    "ecs:DescribeDedicatedHosts",
                    "ecs:DescribeDedicatedHostTypes",
                    "ecs:DescribeAutoSnapshotPolicyEx",
                    "vpc:DescribeVpcs",
                    "vpc:DescribeVSwitches",
                    "bss:PayOrder"
                ],
                "Effect": "Allow",
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }

    权限策略说明如下表所示:

    权限策略 相关参数
    创建或访问已绑定标签的资源的权限 "ecs:tag/owner": "zhangsan"
    允许查询标签的接口权限
    • ecs:DescribeTagKeys
    • ecs:ListTagResources
    • ecs:DescribeTags
    允许查询ECS资源的接口权限
    • ecs:DescribeKeyPairs
    • ecs:DescribeImages
    • ecs:DescribeSecurityGroups
    • ecs:DescribeLaunchTemplates
    • ecs:DescribeDedicatedHosts
    • ecs:DescribeDedicatedHostTypes
    • ecs:DescribeAutoSnapshotPolicyEx
    允许查询VPC资源的接口权限
    • vpc:DescribeVpcs
    • vpc:DescribeVSwitches
    允许支付订单的接口权限 bss:PayOrder
    不允许操作标签相关的接口权限
    • ecs:DeleteTags
    • ecs:UntagResources
    • ecs:CreateTags
    • ecs:TagResources
    VPC绑定标签策略 "vpc:tag/user": "lisi"
  3. 将自定义策略BindTagForRes授权给RAM用户userTest。详情请参见为RAM用户授权

步骤二:为专有网络VPC绑定标签

步骤一中的自定义策略规定了创建ECS时需要选择带有user:lisi标签的专有网络VPC,因此需要为VPC绑定标签。如果VPC没有绑定特定标签,在创建ECS时会没有权限。

说明 如果您没有VPC,请先创建VPC。详情请参见创建专有网络
  1. 登录标签控制台
  2. 地域区域,选择标签所属的地域。
  3. 选择标签类型自定义标签
  4. 单击创建/绑定标签,创建user:lisi标签,并绑定已有VPC。详情请参见创建并绑定标签

步骤三:创建ECS并绑定标签

通过RAM用户userTest登录ECS管理控制台,创建ECS并绑定标签。

  1. 通过RAM用户登录ECS管理控制台
  2. 在左侧导航栏,单击实例与镜像 > 实例
  3. 在顶部菜单栏左上角处,选择地域。
  4. 单击创建实例,完成创建。
    说明 必须选择步骤二中绑定标签user:lisi的VPC,并且为ECS实例绑定特定标签owner:zhangsan,才能创建成功。若未绑定特定标签,则会创建失败,提示您没有权限进行此操作
    绑定特定标签

后续步骤

您还可以为已有的资源绑定特定标签,实现对资源的访问控制,并对带特定标签的资源进行访问。详情请参见使用标签控制资源的访问