You need to enable JavaScript to run this app.
导航

ACL 策略概述

最近更新时间2023.06.06 19:06:22

首次发布时间2022.03.17 10:33:29

访问控制列表 ACL(Access Control List)是 TOS 提供的指定被授权对象和所授予权限的授权列表。

ACL 权限说明

ACL 是基于账号的读写访问控制,桶或对象的所有者拥有该资源的完全控制权限。
ACL 的权限控制粒度不如桶策略和 IAM 权限,建议您使用桶策略和 IAM 权限进行访问控制。

被授权者

ACL 被授权者分为特定用户和预定义组两类,说明如下:

  • 特定用户:IAM 用户。当您需要为不同的 IAM 用户授予不同的权限时,可以使用桶策略。

  • 预定义组如下表所示。

    组名描述
    AuthenticatedUsers所有已签名(经身份认证)的用户。
    AllUsers任何(经身份认证或匿名)用户。

ACL 权限

TOS 支持的 ACL 权限如下表所示。

权限
桶 ACL
对象 ACL
READ允许被授权者列出桶中的对象,分片任务。允许被授权者读取对象数据及其元数据。
WRITE允许被授权者创建、覆盖和删除桶中的任意对象,初始化分片任务,上传分片,合并分片,取消分片任务。不适用。
READ_ACP允许被授权者读取存储桶 ACL。允许被授权者读取对象 ACL。
WRITE_ACP允许被授权者为适用的存储桶设置 ACL。允许被授权者为适用的对象设置 ACL。
FULL_CONTROL允许被授权者在存储桶上的 READ、WRITE、READ_ACP 和 WRITE_ACP 权限。允许被授权者在对象上的 READ、READ_ACP 和 WRITE_ACP 权限。

注意

如果您的存储桶设置了对象公共读权限,存储桶会直接暴露在公网,任何人均可对桶内文件进行读取,同时产生流量费用,存在财产损失和数据泄露风险,建议您选择私有权限。

使用头域设置 ACL

您可以通过 x-tos-acl 头域,选择预定义的权限,预定义权限说明如下。

预定义权限
描述

private

桶或对象的所有者拥有完全控制权限,其他人没有权限。
默认策略即为 private。

public-read

  • 在桶上授权:任何人拥有桶的 READ 权限。
  • 在对象上授权:任何人拥有对象的 READ 权限。

public-read-write

  • 在桶上授权:任何人拥有桶的 READ 和 WRITE 权限。
  • 在对象上授权:任何人拥有对象的 READ 权限。

authenticated-read

  • 在桶上授权:任何已认证用户拥有桶的 READ 权限。
  • 在对象上授权:任何已认证用户拥有对象的 READ 权限。
bucket-owner-read在对象上授权:桶和对象的所有者,拥有对象的 READ 权限。
bucket-owner-full-control在对象上授权:桶和对象的所有者,拥有对象的完全控制权限。
bucket-owner-entrusted在对象上授权:当对象所有者不是桶所有者时,可以允许桶所有者具有此对象的所有控制权,同时可以通过桶策略授权允许或禁止其他账号或用户访问此对象。

您可以通过以下头域,授予指定用户相应权限,权限说明如下所示。

头域
描述
x-tos-grant-read被授权者拥有 READ 权限。
x-tos-grant-write被授权者拥有 WRITE 权限。
x-tos-grant-read-acp被授权者拥有 READ_ACP 权限。
x-tos-grant-write-acp被授权者拥有 WRITE_ACP 权限。
x-tos-grant-full-control被授权者拥有 FULL_CONTROL 权限。

配置步骤