本文介绍了如何利用标签对ECS实例进行分组并授权,以满足RAM用户只能查看和操作被授权资源的需求。

前提条件

  • 进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册
  • 请确保您已经开通RAM服务并登录RAM控制台。如还未开通,请先开通RAM服务。详情请参见开通方法

背景信息

假设您的账号购买了10个ECS实例,其中5个想要授权给dev团队,另外5个授权给ops团队。企业希望每个团队只能查看被授权的实例,未被授权的不允许查看。

解决方案

创建两个用户组,通过打标签将ECS实例分成2个组并授权给对应的用户组。

  • 其中5个实例打上一对标签,标签键是team,标签值是dev。
  • 另外5个实例打上另一对标签,标签键是team,标签值是ops。

操作步骤

  1. 登录ECS控制台,选择一个实例,在操作菜单下选择更多 > 实例设置 > 编辑标签
  2. 单击新建标签,输入标签键和标签值,单击确定
    说明 将所有机器分别打上对应的标签。
  3. 登录RAM控制台创建两个用户组: dev和ops。

    详情请参见创建用户组

  4. 创建不同的RAM账号,并添加到相应的用户组下。

    详情请参见创建RAM用户

  5. 创建两个自定义策略,分别授权给两个用户组。

    详情请参见为用户组授权

    说明 授权后RAM用户已继承对应用户组的相关权限。

    例如:给dev组授权的自定义策略名称是policyForDevTeam,策略内容如下:

    {
        "Statement": [
        {
            "Action": "ecs:*",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ecs:tag/team": "dev"
                }
            }
        },
        {
            "Action": "ecs:DescribeTag*",
            "Effect": "Allow",
            "Resource": "*"
        }
        ],
        "Version": "1"
    }

    在上述权限策略中:

    • 带有Condition"Action": "ecs:*"部分用于过滤标签为"team": "dev"的资源。
    • "Action": "ecs:DescribeTag*"用于展示所有标签。当RAM用户在操作ECS控制台时,系统展示出所有标签供RAM用户选择,只有当RAM用户选择了标签值后,系统才能根据选中的标签值过滤相应资源。
    说明 根据上述自定义策略,创建另一个policyForOpsTeam权限策略并授权给ops用户组。

显示被授权实例

  1. RAM用户登录ECS控制台
    说明 登录控制台后,系统默认跳转到ECS概览页,此时RAM用户看到的实例数为0,如需查看相关实例,请切换到实例页签下。
  2. 单击实例,单击搜索栏旁的标签
    说明 请确保控制台展示的当前地域是期望地域。
  3. 鼠标悬停在标签键上,在标签键下拉列表的右侧会展示出对应的标签值,点击对应的标签值,系统可以过滤出相应资源。
    说明 选中标签值之后,系统才可以过滤出相应资源。

后续步骤

利用标签对安全组、云盘、快照或镜像进行分组授权的方法与上述对实例分组授权的方法相同。

说明 镜像中只有自定义镜像支持打标签。