访问控制是什么
访问控制(阿里云 RAM、腾讯云 CAM、华为云 IAM)是云账号的权限系统:通过子用户、用户组、角色与策略描述谁能对哪些资源做哪些操作。它的核心价值是让业务程序、运维人员、第三方各用各的身份,而不是共用主账号密钥——主账号密钥一旦泄露,账号内所有资源都可被操作。
基本信息
| 三厂名称 | 访问控制 RAM / 访问管理 CAM / 统一身份认证 IAM |
|---|---|
| 核心对象 | 用户、用户组、角色(Role)、策略(Policy)、授权 |
| 认证方式 | 控制台密码加多因素验证、AccessKey、STS 临时凭证 |
| 授权对象 | 策略可授权给用户或用户组;角色可被云服务与外部账号扮演 |
| 基本原则 | 最小权限:只授予完成工作所必需的 Action 与 Resource |
典型使用场景
- 给运维人员开子账号:按职责赋权,人员离职时禁用子账号即可收回全部权限
- 给程序发临时凭证:应用通过扮演角色获取 STS 凭证,密钥自动轮换,不用把长期密钥写进配置
- 跨账号访问:用角色授权给另一个账号,而不是两边共享同一套密钥
- 给第三方做有限授权:只授予某个桶的读写或某台实例的运维权限,不交出账号级凭证
- 审计与追责:每个操作都能落到具体身份上,出问题时能查清是谁做的
- 隔离环境:生产与测试使用不同身份与策略,防止误操作跨环境传播
策略片段:只读某个桶
策略片段:只读某个桶
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": ["oss:GetObject", "oss:ListObjects"],
"Resource": ["acs:oss:*:*:my-bucket/*"]
}]
}
# Action 限定动作,Resource 限定对象范围,两者缺一都会把权限放大主账号 AccessKey 泄露等于账号级灾难:业务程序一律使用角色的临时凭证,长期密钥只在技术上无法使用角色的场景保留,并严格定期轮换。
多个策略叠加时权限取并集:给一个身份挂两条策略,它能做的操作是两条之和。排查权限问题时先列出这个身份挂了哪些策略与角色。
企业通常还会在访问控制之上再接一层统一身份(单点登录或身份提供方),实现离职即失效;这层解决的是登录入口问题,策略本身的设计仍然要在访问控制里完成。
落地时的检查项
- 给每类使用者定义身份:人用子账号,程序用角色,第三方用受限策略,不共用同一套凭据
- 给身份加多因素验证,尤其是能进入控制台的账号,口令泄露不等于权限泄露
- 把长期密钥的数量压到最低:能不用就不用,必须用时登记用途、负责人与轮换周期
- 定期做权限审计:列出每个身份挂载的策略与角色,清理长期未使用的授权与废弃账号
- 开启操作审计并把日志集中留存,为事后追溯提供依据
- 把高权限操作与低权限操作分离:日常运维身份不应具备删除资源或改计费的能力
权限问题排查有固定套路:先确认当前身份是谁,再列出这个身份关联的全部策略与角色,最后用策略模拟或审计日志验证到底被哪一条规则放行或拒绝。