使用RAM用户实现对ECS的访问控制

阿里云的访问控制RAM(Resource Access Management)提供了强大的细粒度权限管理功能,适用于企业中多个部门或角色需要访问ECS资源的情况。为了保障敏感信息和关键业务流程的安全,您可以根据各部门或角色的具体职责分配不同的访问权限。通过实施权限分离策略,不仅能显著提升管理效率,还能有效降低信息泄露的风险。本文介绍如何通过控制RAM用户的权限,以实现对云服务器ECS资源的访问控制。

场景介绍

假设您公司是使用ECS来托管应用程序和服务。其中,IT架构规划由管理人员主导,他们对所有ECS资源拥有控制权,包括但不限于创建资源、调整资源分配及安全策略配置等关键职责。开发人员负责项目的持续迭代和功能创新,并承担将项目部署到ECS上的任务。运维人员则承担起保障系统正常运转的责任,通过创建快照、创建镜像、执行相关脚本等方式维护现有服务。

针对这三类人员的需求,我们将设计如下权限方案:

  • 管理人员:可以拥有创建、删除ECS实例及修改安全组规则等所有ECS操作权限。

  • 开发人员:能够查看所有ECS实例的信息,但不能修改任何设置,同时可以登录ECS实例进行操作。

  • 运维人员:具备创建部分资源的权限,但不具备删除资源的权限,如创建快照和镜像、执行脚本等任务。

操作步骤

1. 创建RAM用户

请使用您的阿里云主账号登录RAM控制台,创建三个RAM用户:管理人员(Manager)、开发人员(Developer)和运维人员(Operator),以便为不同人员分配合适的权限。注意在创建RAM用户时选择允许控制台登录。关于如何创建RAM用户,请参见创建RAM用户

2. 创建权限策略

创建三套自定义权限策略,以实现更精细的访问控制与管理。具体操作,请参见创建自定义权限策略

Manager_Policy

适用于管理人员(Manager)的权限策略,定义了操作ECS的所有权限。

{
    "Version": "1",
    "Statement": [
        {
            "Action": "ecs:*",
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "vpc:CheckCanAllocateVpcPrivateIpAddress",
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches",
                "bss:ModifyAgreementRecord"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Developer_Policy

适用于开发人员(Developer)的权限策略,定义了部分资源的查看权限,但无新建和修改权限,同时支持通过Workbench远程连接登录到ECS。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:List*",
                "ecs:Describe*",
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches",
                "ecs-workbench:LoginInstance"
            ],
            "Resource": "*"
        }
    ]
}

Operator_Policy

适用于运维人员(Operator)的权限策略,定义了部分资源的查看权限及创建镜像、快照、执行命令的权限。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:Describe*",
                "ecs:AttachDisk",
                "ecs:CreateSnapshot",
                "ecs:CreateImage",
                "ecs:RunCommand",
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

3. 为RAM用户授权

为RAM用户分配不同自定义权限策略,以精准控制其对特定资源的访问和操作权限。当RAM用户出现异常操作时,您也可解除授权或收缩权限范围,实现对风险的响应与处理。更多关于授权的详细操作,请参见为RAM用户授权

RAM用户

要授予的权限策略

管理人员(Manager)

Manager_Policy

开发人员(Developer)

Developer_Policy

运维人员(Operator)

Operator_Policy

4. 测试访问控制是否生效

  1. 进入RAM用户登录页,请分别使用前面创建的三个RAM用户登录。

  2. 进入ECS控制台,执行查看ECS实例列表、创建ECS实例及创建镜像等操作,验证访问控制是否生效。

    管理人员(Manager)

    • 可以查看ECS列表。

      image

    • 可以创建ECS。

      image

    • 可以删除ECS。

      image

    • 可以创建镜像。

      image

    开发人员(Developer)

    • 可以查看ECS列表。

      image

    • 没有权限创建ECS。

      image

    • 没有权限创建镜像。

      image

    • 可以通过Workbench远程连接登录到ECS,登录后可以使用命令将项目部署到ECS上。

      image

    运维人员(Operator)

    • 可以查看ECS列表。

      image

    • 没有权限创建ECS。

      image

    • 可以创建镜像。

      image

相关文档