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

背景信息

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

分组授权的前提条件

请确保已拥有 RAM 账号并可以登录 RAM 控制台

分组授权解决方案

创建两个用户组,通过打标签将 ECS 实例分成 2 个组并授权给对应的用户组。
  • 其中 5 个实例打上一对标签,标签键是 team,标签值是 dev。
  • 另外 5 个实例打上另一对标签,标签键是 team,标签值是 ops。

分组授权的操作步骤

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

    详情请参考:创建 RAM 用户组(可选)

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

    详情请参考:创建 RAM 用户

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

    详情请参考:RAM 授权

    说明 授权后 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. 鼠标悬停在标签键上,在标签键下拉列表的右侧会展示出对应的标签值,点击对应的标签值,系统可以过滤出相应资源。
    说明 选中标签值之后,系统才可以过滤出相应资源。

更多信息

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

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