首页/云/云平台与虚拟化速查/policy 权限策略与授权语法
云基础与账号46 条

policy 权限策略与授权语法

权限策略是描述允许或拒绝哪些操作的 JSON 文档,由效果、动作、资源与条件组成;理解策略结构是排查权限问题的前提。

云平台与虚拟化速查云更新于 2026-10-13

权限策略是什么

权限策略是描述“谁可以对哪些资源做哪些操作”的 JSON 文档,由效果、动作、资源与条件四部分构成。云平台的鉴权引擎把它翻译成判定结果:显式拒绝优先于允许,没有匹配的允许即视为默认拒绝。绝大多数权限问题,根因都能在策略的这四要素里找到。

四个核心要素

EffectAllow 或 Deny;显式 Deny 优先于任何 Allow
Action服务名:操作名,支持前缀通配,如 ecs:Describe*
Resource资源标识(阿里云是 ARN 形式),可用通配符限定范围
Condition附加约束:来源 IP、时间、是否使用 MFA、标签等
版本字段阿里云用 Version 标识语法版本;腾讯云策略也有版本概念
生效范围可绑定到子用户、用户组或角色,用户组便于批量继承

阿里云 RAM 策略片段

阿里云 RAM 策略片段
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["ecs:Describe*", "ecs:StartInstance", "ecs:StopInstance"],
      "Resource": ["acs:ecs:cn-hangzhou:*:instance/i-bp1*"],
      "Condition": {"IpAddress": {"acs:SourceIp": "203.0.113.0/24"}}
    }
  ]
}

写策略时的判断点

写法结果建议
Action 用 ecs:*删除、变配等高危操作一并放行按需列出动作,删除类操作单独评估
Resource 写 *授权覆盖同账号全部资源至少限定到地域与前缀,生产资源按实例 ID 收窄
只写 Allow 不写 Condition任何来源、任何时间都能调用配合来源 IP 与 MFA 条件收窄高危动作
Deny 与 Allow 并存Deny 生效,Allow 被覆盖用 Deny 做兜底限制时先确认不误伤自动化调用
策略未校验直接绑定语法错误的策略可能不生效且无明确报错绑定前用平台的策略校验或模拟功能验证

常见策略设计做法

  • 按职责分用户组:只读组、运维组、财务组各绑一份策略,人员入组即继承
  • 高危动作加条件:删除类操作要求 MFA 或限定来源网段
  • 按标签授权:腾讯云可按标签做资源范围的批量授权,适合按项目隔离
  • 程序权限用角色:机器身份用角色拿到临时凭证,不共享长期密钥
Action 写通配符是权限收窄失效的主要原因:ecs:* 把删除与变配一起放行,事后审计只能看到“权限过大”,无法阻止已经发生的删除动作。给运维角色授权时,把删除、改规格、改安全组这三类动作单独列出来评估。
策略变更后不一定立即全局生效:部分场景需要重新登录或等待缓存刷新。排查“策略明明改了却仍被拒绝”时,先确认变更是否已生效,再检查是否存在其他身份叠加的 Deny 策略。

易错点

  • 只写 Allow 不限定 Resource:等于把同账号全部资源授权给该身份,越权范围无法预估
  • 策略 JSON 存在语法错误(多一个逗号或多余括号):部分控制台提示不清,策略静默不生效,排查时容易怀疑鉴权系统
  • 忽视显式 Deny 的优先级:为限制某个动作写了 Deny,结果连带禁止了自动化脚本依赖的读接口,业务报错却找不到原因
  • 把策略直接绑到个人而不是用户组:人员变动时逐人改策略,最终各账号权限漂移,无法统一审计
  • 自建策略未做模拟验证:凭经验判断动作名,实际授权范围与预期不一致

数据来源与参考

  • 阿里云 RAM 权限策略文档
  • 腾讯云 CAM 策略语法文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌