首页/云/云与容器速查/桶权限:ACL 与桶策略
计算与存储56 条

桶权限:ACL 与桶策略

桶权限分粗粒度 ACL(私有/公共读/公共读写)与细粒度桶策略(Policy):控制谁能对哪些对象执行哪些操作,还能限制来源 IP 与协议。

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

桶权限是什么

对象存储的访问控制有两条线:粗粒度的 ACL(私有、公共读、公共读写)开关式控制整个桶,细粒度的桶策略(Policy)用 JSON 描述「谁能对哪些对象执行哪些操作」,还能附加来源 IP、协议等条件。创建桶默认为私有,一旦误设公共读写,任何人都能上传、覆盖甚至删除文件。

基本信息

ACL私有(默认)/ 公共读 / 公共读写;公共读写几乎不应使用
桶策略JSON Policy:Principal + Action + Resource + Condition
授权叠加接口调用要同时通过 RAM 授权与桶策略,两者取交集
匿名访问把 Principal 设为通配符即允许匿名,仅适合公开资源
加固手段限制 Referer、强制 HTTPS、限制源 VPC 或指定 IP 段

典型使用场景

  • 静态站点资源:只开放某个前缀为匿名只读,其余保持私有
  • 跨账号共享:给合作方账号授权读取指定前缀,而不是开放公共读
  • 日志投递:允许日志服务写入指定桶与前缀,限制来源服务身份
  • 内网访问:用条件限制只能从指定 VPC 或 IP 段读取,避免公网拉取
  • 安全审计:定期扫描所有桶的公共访问配置,发现误设立即收敛

匿名只读某前缀的策略

匿名只读某前缀的策略
# Bucket Policy:仅允许匿名读取 public/ 前缀下的对象
{
  "Version": "1",
  "Statement": [
    {"Effect": "Allow",
     "Principal": ["*"],
     "Action": ["oss:GetObject"],
     "Resource": ["acs:oss:*:*:my-bucket/public/*"]}
  ]
}

常见权限组合风险

配置风险建议
公共读写任何人可上传覆盖删除立即改为私有并审计已有对象
公共读整桶目录可被枚举、流量被白嫖只开放必要前缀并加 Referer 限制
策略与 RAM 同时放开实际权限大于预期,排查困难以最小权限为准,定期比对
未限制协议明文 HTTP 传输对象条件中强制使用 HTTPS
一旦误设公共读写,任何人都能上传、覆盖或删除文件。建议开启配置审计的公共访问检测,并让告警直达值班人。
桶策略与账号权限同时存在时取交集:如果 RAM 侧没授权,即使桶策略允许,该子账号依然读不到对象,排查权限问题时两条线都要看。

易错点

  • 全桶公共读:目录可被枚举,流量与成本被别人白嫖
  • RAM 权限与桶策略同时配置且互相矛盾,排查半天找不到拦截点
  • 为图省事把服务依赖的对象设成公共读写,攻击者可直接覆盖业务文件
  • 未限制访问协议,敏感对象通过明文 HTTP 传输被抓包

数据来源与参考

  • 阿里云文档:Bucket 策略
  • 腾讯云文档:存储桶访问权限
  • 华为云文档:桶策略

相关工具

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