如何在AWS中创建仅拥有EC2、S3、数据库创建权限且无IAM、账单访问权限的用户
操作流程
1. 清理现有supportUser策略冗余权限
- 先打开IAM控制台,找到当前绑定用户组的
supportUser托管策略,编辑删除其中允许创建IAM用户、修改密码的权限语句,原有禁止访问支付、账单等账户内容的权限规则保留即可。
2. 创建自定义最小权限策略
- 新建IAM自定义托管策略,填入以下JSON配置,该策略仅开放EC2实例创建、S3存储桶创建、RDS数据库创建的必要权限,无其他冗余授权:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RunInstances", "ec2:CreateVolume", "ec2:AttachVolume" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:CreateBucket" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "rds:Describe*", "rds:CreateDBInstance" ], "Resource": "*" } ] }
如果你需要限制创建的资源规格、可用区域、标签规则,可以在对应Statement块中添加
Condition字段做进一步约束,进一步缩小权限范围。
3. 绑定权限到目标对象
- 若仅需给单个新增用户开放权限,直接将上述自定义策略附加到目标IAM用户即可;若需给整个用户组下所有用户开放对应权限,将自定义策略附加到绑定了
supportUser策略的用户组即可。
4. 权限校验
- 使用目标用户身份登录AWS控制台,依次测试EC2实例创建、S3存储桶创建、RDS数据库创建功能是否正常调用,再验证其他操作(如删除资源、修改IAM配置、查看账单)是否被拒绝,确保无额外权限溢出。
内容的提问来源于stack exchange,提问作者Nesan Mano
相关产品推荐
相关产品推荐

