首页/云/云与容器速查/访问控制 RAM/CAM/IAM

访问控制 RAM/CAM/IAM

云账号的权限系统:通过子用户、角色与策略控制谁能对哪些资源做哪些操作;生产环境严禁业务程序共用主账号 AccessKey。

云与容器速查云更新于 2026-10-13

访问控制是什么

访问控制(阿里云 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 泄露等于账号级灾难:业务程序一律使用角色的临时凭证,长期密钥只在技术上无法使用角色的场景保留,并严格定期轮换。
多个策略叠加时权限取并集:给一个身份挂两条策略,它能做的操作是两条之和。排查权限问题时先列出这个身份挂了哪些策略与角色。
企业通常还会在访问控制之上再接一层统一身份(单点登录或身份提供方),实现离职即失效;这层解决的是登录入口问题,策略本身的设计仍然要在访问控制里完成。

落地时的检查项

  • 给每类使用者定义身份:人用子账号,程序用角色,第三方用受限策略,不共用同一套凭据
  • 给身份加多因素验证,尤其是能进入控制台的账号,口令泄露不等于权限泄露
  • 把长期密钥的数量压到最低:能不用就不用,必须用时登记用途、负责人与轮换周期
  • 定期做权限审计:列出每个身份挂载的策略与角色,清理长期未使用的授权与废弃账号
  • 开启操作审计并把日志集中留存,为事后追溯提供依据
  • 把高权限操作与低权限操作分离:日常运维身份不应具备删除资源或改计费的能力
权限问题排查有固定套路:先确认当前身份是谁,再列出这个身份关联的全部策略与角色,最后用策略模拟或审计日志验证到底被哪一条规则放行或拒绝。

易错点

  • 给子账号直接挂账号级管理员策略图省事,等于没有权限设计,一处泄露全线失守
  • 把长期 AccessKey 硬编码进代码并提交到仓库,被扫描到后产生挖矿实例与异常账单
  • 人员离职后子账号、密钥与角色未清理,留下长期可用的后门
  • 策略只写 Action 不限定 Resource:本意是读写某个目录,实际授权到账号内所有同类资源
  • 程序与人共用同一个身份,出问题时无法判断是自动化脚本还是人工操作

数据来源与参考

  • 阿里云文档:访问控制 RAM
  • 腾讯云文档:访问管理 CAM
  • 华为云文档:统一身份认证 IAM

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌