如何设置 ACL 存储桶权限? - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本指南不再进行更新。有关当前信息和说明,请参阅新的 Amazon S3 用户指南

如何设置 ACL 存储桶权限?

本节介绍如何使用 Amazon Simple Storage Service (Amazon S3) 控制台通过访问控制列表 (ACL) 管理 S3 存储桶的访问权限。ACL 是基于资源的访问策略,可授予对存储桶和对象的访问权。有关使用基于资源的策略管理访问权的更多信息,请参阅《Amazon Simple Storage Service 开发人员指南》中的有关管理访问的概述

您可以向其他 AWS 账户用户或预定义的组授予权限。您将向其授予权限的用户或组称作被授权者。默认情况下,所有者 (即创建存储桶的 AWS 账户) 具有完全权限。

您为用户或组授予的每项权限都会在 ACL 中添加一个与该存储桶关联的条目。ACL 列出了授权,这些授权确定了被授权者和授予的权限。有关 ACL 的更多信息,请参阅《Amazon Simple Storage Service 开发人员指南》中的使用 ACL 管理访问权限

警告

我们强烈建议您避免向所有人(公有访问)经过身份验证的用户组(所有经 AWS 身份验证的用户)群组授予写入访问权限。有关向这些组授予写访问权限所产生影响的更多信息,请参阅《Amazon Simple Storage Service 开发人员指南》中的 Amazon S3 预定义组

设置 S3 存储桶的 ACL 访问权限

  1. 登录 AWS 管理控制台,并通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. Buckets (存储桶) 列表中,选择要为其配置权限的存储桶的名称。

  3. 选择 Permissions (权限),然后选择 Access Control List (ACL) (访问控制列表) 内的 Edit (编辑)

  4. 您可以管理存储桶的以下访问权限:

    1. AWS 账户根用户的访问权限

      owner (拥有者) 是指 AWS 账户根用户,而不是 AWS Identity and Access Management (IAM) 用户。有关根用户的更多信息,请参阅《IAM 用户指南》中的 AWS 账户根用户

      要更改所有者的存储桶访问权限,请选中 Bucket owner (your AWS account) (存储桶拥有者(您的 AWS 账户)) 下的权限复选框。

    2. 其他 AWS 账户的访问权限

      要向其他 AWS 账户中的 AWS 用户授予权限,请选择 Add grantee (添加被授权者)。在 Enter a canonical ID (输入规范 ID) 字段中,输入要向其授予存储桶权限的 AWS 用户的规范 ID 或电子邮件。有关查找规范 ID 的信息,请参阅《Amazon Web Services 一般参考》中的 AWS 账户标识符。您可以添加多达 99 个用户。

      选中要向用户授予的权限旁边的复选框,然后选择 Save changes (保存更改)

      警告

      当您需要向其他 AWS 账户授权访问您的资源时,注意 AWS 账户可以向其账户下的用户授予权限。这称为跨账户访问。有关使用跨账户访问的信息,请参阅《IAM 用户指南》中的创建角色以向 IAM 用户委派权限

    3. 公有访问权限

      要向一般公众 (世界上的每一个人) 授予对您的存储桶的访问权限,请在 Public access 下面选择 Everyone。授予公有访问权限意味着世界上的任何人都可以访问该存储桶。选中要授予的权限所对应的复选框,然后选择 Save

      要撤消授予对您的存储桶的公共访问权限,请在 Public access (公有访问权限) 下面选择 Everyone (任何人)。清除所有权限复选框,然后选择 Save (保存)

      警告

      在授予 Everyone 组对您的 S3 存储桶的公有访问权限时应谨慎使用。如果您向此组授予访问权限,那么世界上的任何人都可以访问您的存储桶。我们强烈建议您绝对不要授予对 S3 存储桶的任何类型的公有写入权限。

    4. S3 日志传输组

      要授予对 Amazon S3 的访问权限以便将服务器访问日志写入存储桶,请在 S3 log delivery group (S3 日志传输组) 下面选择 Log Delivery (日志传输)

      如果存储桶设置为目标存储桶以接收访问日志,则存储桶权限必须允许日志传输组对存储桶有写入权限。当您在存储桶上启用服务器访问日志记录时,Amazon S3 控制台会向 Log Delivery (日志传输) 组授予对您选择用来接收日志的目标存储桶的写入权限。有关服务器访问日志记录的更多信息,请参阅如何为 S3 存储桶启用服务器访问日志记录?

您还可以在创建存储桶时设置存储桶权限。有关在创建存储桶时设置权限的更多信息,请参阅如何创建 S3 存储桶?

更多信息