TL;DR
场景:多团队与跨账号协作下,OSS 需同时满足公开访问、最小权限与可审计。 结论:身份用 RAM Policy,来源与资源约束用 Bucket Policy,ACL 仅用于公开读等简单场景;显式拒绝优先。 产出:权限版本矩阵 + 常见 4xx/5xx 错误速查卡

版本矩阵
| 功能/策略 | 已验证说明 |
|---|---|
| Bucket/Object ACL 权限枚举 | Bucket ACL 推荐枚举为:private / public-read / public-read-write。Object ACL 默认继承 Bucket ACL,便于统一治理;特殊对象再单点覆盖。 |
| RAM Policy 四要素(Principal/Action/Resource/Condition) | 细粒度授权;与用户/用户组/角色结合;建议配合 STS。 |
| Bucket Policy(基于资源的策略) | 支持跨账号、IP/Referer/HTTPS 强制、黑白名单;适合来源与资源路径约束。 |
| 判定规则:显式拒绝优先 | 任何策略中的 Deny 命中即拒绝,优先于 Allow。 |
控制方式
针对存放在 Bucket 的 Object 的访问,阿里云对象存储服务(OSS)提供了多层次、细粒度的权限控制机制,主要包括以下三种方式:
-
ACL(访问控制列表)权限控制:
- 提供基础的读写权限管理
- 支持对 Bucket 和 Object 两个级别设置权限
- 权限类型包括:
- 私有(private):仅 Owner 可访问
- 公共读(public-read):所有人可读,仅 Owner 可写
- 公共读写(public-read-write):所有人可读写
- 典型应用场景:简单的静态网站托管、公开分享文件
-
RAM Policy(资源访问管理策略):
- 基于阿里云 RAM 服务实现的精细化权限控制
- 支持对用户、用户组或角色授权
- 可定义详细的访问条件,包括:
- 允许/拒绝特定操作(如 GetObject、PutObject 等)
- 限制访问 IP 范围
- 设置访问时间段
- 指定可访问的资源路径
- 示例:限制开发团队只能访问特定项目目录下的资源
-
Bucket Policy(存储桶策略):
- 直接在 Bucket 级别设置的访问策略
- 采用 JSON 格式的权限声明
- 支持跨账号访问授权
- 可实现更复杂的访问控制逻辑,如:
- 允许其他阿里云账号访问本 Bucket
- 基于 Referer 防盗链
- 强制 HTTPS 访问
- 设置 IP 黑白名单
- 典型应用:企业间数据共享、内容分发网络 (CDN) 源站保护
这些权限控制方式可以单独使用,也可以组合使用以满足不同场景的安全需求。当多种策略同时存在时,OSS 会按照'显式拒绝优先'的原则进行权限判定。建议用户根据实际业务需求,采用最小权限原则进行配置,以确保数据安全。












