使用存储桶策略 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用存储桶策略

您可以创建和配置存储桶策略,来授予对 Amazon S3 资源的权限。

存储桶策略是基于资源的策略,您可以使用该策略向存储桶及其中对象授予访问权限。只有存储桶所有者才能将策略与存储桶关联。附加到存储桶的权限适用于存储桶所有者拥有的存储桶中所有对象。这些权限不适用于其他 Amazon Web Services 账户 所有的对象。

原定设置情况下,当另一个 Amazon Web Services 账户将对象上载到您的 S3 桶时,该账户(对象编写者)拥有该对象,拥有此对象的访问权限,并可以通过访问控制列表(ACL)授予其他用户访问该对象的权限。您可以使用对象所有权来更改此原定设置行为,以便禁用 ACL,并且作为存储桶拥有者,您可以自动拥有存储桶中的每个对象。因此,数据的访问控制基于策略,例如 IAM policy、S3 存储桶策略、虚拟私有云(VPC)端点策略和 Amazon Organizations 服务控制策略(SCP)。有关更多信息,请参阅为您的存储桶控制对象所有权和禁用 ACL。

存储桶策略使用基于 JSON 的访问策略语言。您可以使用存储桶策略添加或拒绝存储桶中对象的权限。存储桶策略根据策略中的元素允许或拒绝请求,包括请求者、S3 操作、资源以及请求的方面或条件(例如,用于发出请求的 IP 地址)。例如,您可以创建一个存储桶策略,该策略授予跨账户将对象上传到 S3 存储桶的权限,同时确保存储桶拥有者对上传的对象拥有完全控制权。有关更多信息,请参阅存储桶策略示例

在存储桶策略中,您可以在 Amazon 资源名称 (ARN) 和其他值上使用通配符来授予对数据元子集的权限。例如,您可以控制对以通用前缀或以给定扩展名结尾的对象组的访问,例如 .html

在本节中,我们通过主题提供了示例,并向您展示了如何在 S3 控制台中添加存储桶策略。有关 IAM 用户策略的信息,请参阅 使用 IAM 用户策略。有关存储桶策略语言的更多信息,请参阅 Amazon S3 中的策略和权限

重要

存储桶策略的大小限制为 20 KB。