You need to enable JavaScript to run this app.
导航
ACL 策略概述
最近更新时间:2024.11.14 16:39:30首次发布时间: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

允许被授权者获取桶元数据,获取对象的元数据,下载对象,列举桶内对象和分片任务。

允许被授权者读取对象数据及其元数据。

READ_NON_LIST

允许被授权者获取桶元数据,获取对象的元数据,下载对象。

不适用。

READ_ACP

允许被授权者读取存储桶的 ACL。

允许被授权者读取对象的 ACL。

WRITE

允许被授权者创建、覆盖和删除桶中的任意对象,初始化分片任务,上传分片,合并分片,取消分片任务。

不适用。

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

在对象上授权:当对象所有者不是桶所有者时,可以允许桶所有者具有此对象的所有控制权,同时可以通过桶策略授权允许或禁止其他账号或用户访问此对象。

default

在对象上授权,对象将继承桶 ACL 的权限,即对象的 ACL 策略将和桶 ACL 策略保持一致。

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

头域

描述

x-tos-grant-read

被授权者拥有 READ 权限。

x-tos-grant-read-acp

被授权者拥有 READ_ACP 权限。

x-tos-grant-read-non-list

x-tos-grant-read-non-list 头域必须搭配 x-tos-grant-read-acp 使用,单独使用,无意义。
该头域用于取消列举桶内对象和分片任务的权限,和 x-tos-grant-read-acp 搭配使用时,表示被授权者拥有 READ_NON_LIST 权限。

x-tos-grant-write

被授权者拥有 WRITE 权限。

x-tos-grant-write-acp

被授权者拥有 WRITE_ACP 权限。

x-tos-grant-full-control

被授权者拥有 FULL_CONTROL 权限。

对象继承桶 ACL

TOS 支持设置对象的访问控制策略为继承桶,即对象的 ACL 策略和桶 ACL 策略保持一致。以下介绍对象继承桶的 READ、WRITE 等 ACL 后的权限。

权限

桶 ACL

对象继承桶 ACL

READ

允许被授权者获取桶元数据,获取对象元数据,下载对象,列举桶内对象和分片任务。

允许被授权者读取对象数据及其元数据。

READ_NON_LIST

允许被授权者获取桶元数据,访问桶内对象。

允许被授权者读取对象数据及其元数据。

WRITE

允许被授权者创建、覆盖和删除桶中的任意对象,初始化分片任务,上传分片,合并分片,取消分片任务。

由于对象不存在写接口,继承桶的 WRITE ACL 后,被授权者仍旧没有对象的权限,仅桶或对象的所有者拥有完全控制权限。

READ_ACP

允许被授权者读取存储桶的 ACL。

允许被授权者读取对象的 ACL。

WRITE_ACP

允许被授权者修改或删除存储桶的 ACL。

允许被授权者修改对象的 ACL。

FULL_CONTROL

允许被授权者在存储桶上的 READ、WRITE、READ_ACP 和 WRITE_ACP 权限。

允许被授权者在对象上的 READ、READ_ACP 和 WRITE_ACP 权限。

配置步骤