TOS 提供了桶策略、IAM 策略及 ACL 多种授权方式,方便您根据业务情况选择不同的授权方式,允许不同的用户访问或管理您的资源,保障资源安全。
本文列举了 TOS 支持的权限配置方式及适用的场景说明,您可以根据业务情况选择合适的授权方式。
说明
授权方式 | 被授权对象 | 被授权动作 | 是否支持配置条件 | 适用场景 |
---|---|---|---|---|
IAM 策略 | IAM 用户 | TOS 支持的所有动作。 | 支持 |
|
桶策略 |
| 除了创建存储桶和列举桶列表外的所有操作,更多信息,请参见动作说明。 | 支持,具体支持条件,请参见条件说明。 |
|
桶 ACL |
|
| 不支持 | 跨账号或对所有用户授予单个存储桶内的所有对象的读取或写入权限。 说明 仅主账号支持跨账号授权。 |
对象 ACL |
|
| 不支持 | 对所有用户授予单个对象的私有、公共读或公共读写权限。 |
下表列举了不同授权方式之间的差异,您可以根据您的业务情况选择合适的授权方式。
元素 | 分类 | 桶策略 | IAM策略 | ACL |
---|---|---|---|---|
Principal(被授权用户) | 同账号 IAM 用户 | ✔️ | ✔️ | ❌ |
其他主账号 | ✔️ | ❌ | ✔️ | |
跨账号 IAM 用户 | ✔️ | ❌ | ❌ | |
所有用户 | ✔️ | ❌ | ✔️ | |
Effect(授权效果) | 允许 | ✔️ | ✔️ | ✔️ |
拒绝 | ✔️ | ✔️ | ❌ | |
Resource(授权资源) | TOS 所有资源 | ❌ | ✔️ | ❌ |
TOS 单个桶 | ✔️ | ✔️ | ✔️ | |
TOS 指定对象集合 | ✔️ | ✔️ | ❌ | |
TOS 桶内单个对象 | ✔️ | ✔️ | ✔️ | |
Action(动作) | 服务级别权限(创建桶或者列举所有桶) | ❌ | ✔️ | ❌ |
桶或对象详细权限 | ✔️ | ✔️ | ❌ | |
桶或对象基础读写权限 | ✔️ | ✔️ | ✔️ | |
Condition(条件) | TOS 支持设置的条件 | ✔️ | ✔️ | ❌ |
当您设置了多种权限规则时,访问控制可能存在冲突,权限校验流程如下。
注意
资源 Owner 的 ACL 权限默认为 Allow。
下表列举了当访问用户为桶 Owner 或其子用户时,设置不同的桶策略、IAM 策略及 ACL 策略时,最终的权限校验结果,您可以根据您设置的具体权限情况,查看最终作用。