在创建Linux系统的ECS实例时,初始用户可以设置为root或ecs-user。root拥有系统中最高的权限,凭据一旦泄露,攻击者可以完全控制整个系统,进行删除重要数据、安装恶意软件、窃取敏感信息等恶意行为,同时root用户的操作记录不够详细,难以追踪和审计。阿里云建议您在支持普通用户ecs-user的操作系统镜像中,使用ecs-user作为初始登录用户。本文将介绍如何使用RAM权限策略禁止RAM用户创建初始用户为root的Linux实例。
使用限制
Windows实例不支持在创建实例时创建非管理员的用户,如果您需要创建Windows实例,不建议使用本文的权限策略。
部分Linux实例不支持在创建实例时创建ecs-user普通用户,不支持的Linux镜像版本,具体请参见公共镜像发布记录。
操作步骤
以下提供了一个示例,禁止RAM用户(Alice)为ECS创建初始用户为root的Linux实例。
在RAM控制台,创建RAM用户(Alice)。
具体操作,请参见创建RAM用户。
在RAM控制台,创建权限策略(ecs-root-user-control),选择脚本编辑,使用如下策略内容。
说明以下策略表示:禁止在创建ECS实例时选择root作为登录名(初始用户);也不能通过更换系统盘的方式重新设置root用户登录凭证。
{ "Version": "1", "Statement": [ { "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:CreateOrder", "ecs:ReplaceSystemDisk", "ecs:AttachDisk", "ecs:InvokeCommand" ], "Resource": "*", "Condition": { "Bool": { "ecs:LoginAsNonRoot": [ "false" ] } }, "Effect": "Deny" } ] }
继续创建权限策略(ecs-admin),选择脚本编辑,使用如下策略内容。
说明以下策略表示:拥有管理云服务器ECS相关的权限(包括购买,管理,查看ECS实例等),在此示例中用于模拟云服务器ECS的管理员,您可以按实际需求对策略进行调整。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:*", "ecs-workbench:*", "vpc:CheckCanAllocateVpcPrivateIpAddress", "vpc:DescribeVpcs", "vpc:DescribeVSwitches", "bss:ModifyAgreementRecord", "bss:DescribeOrderList", "bss:DescribeOrderDetail", "bss:PayOrder", "bss:CancelOrder" ], "Resource": "*" } ] }
在RAM控制台,为RAM用户(Alice)授权。
其中,授权范围选择账号级别,授权主体选择RAM用户(Alice),权限策略选择上一步创建的自定义策略(ecs-root-user-control与ecs-admin)。具体操作,请参见为RAM用户授权。
结果验证
使用RAM用户(Alice)登录阿里云控制台。
具体操作,请参见RAM用户登录阿里云控制台。