RAM权限策略设计:最小权限原则实践

赵运维

· 阅读 975

分享
RAM权限策略

RAM权限策略设计:最小权限原则实践

RAM(访问控制)是阿里云的安全基石。正确的权限设计可以防止误操作和安全事故。很多企业为了方便给所有子账号授予AdministratorAccess,这是极其危险的做法。本文分享如何设计合理的RAM权限策略。

核心概念

用户(User):具体的操作人员或应用。每个操作人员应有独立的RAM用户,禁止共用账号。用户组(Group):将用户分组,统一授权。如"运维组"、"开发组"、"只读组"。角色(Role):临时身份,用于跨账号授权或服务间调用。ECS绑定RAM角色就是典型场景。策略(Policy):定义允许或拒绝的操作,是权限的最小单元。

策略设计原则

最小权限原则:只授予完成工作所需的最小权限。开发人员只需要开发环境的ECS和RDS权限,不需要管理RAM、删除资源等高危权限。

职责分离:不同角色有不同的权限。开发人员可以部署代码但不能修改安全组;运维人员可以管理基础设施但不能查看业务数据。

定期review:每季度检查一次权限分配,及时回收不再需要的权限。员工离职立即禁用账号。

自定义策略示例

只允许操作特定Bucket的OSS:{"Effect": "Allow", "Action": ["oss:GetObject", "oss:PutObject"], "Resource": ["acs:oss:*:*:my-bucket/*"]}

只允许重启特定ECS:{"Effect": "Allow", "Action": "ecs:RebootInstance", "Resource": "acs:ecs:cn-hangzhou:*:instance/i-xxxxx", "Condition": {"StringEquals": {"ecs:tag/Environment": "dev"}}}

拒绝删除任何RDS实例(防止误删):{"Effect": "Deny", "Action": "rds:DeleteDBInstance", "Resource": "*"}。Deny优先级高于Allow,即使有Allow策略也会被Deny覆盖。

STS临时授权

对于需要临时授权的场景(如前端直传OSS),使用STS生成临时凭证(有效期15分钟-1小时),过期自动失效。比将长期AK嵌入前端代码安全得多。