亚马逊AWS官方博客

新功能 – 简化对 Amazon S3 中所存储数据的访问管理

我们推出若干新功能,以简化对 Amazon Simple Storage Service (Amazon S3) 中所存储数据的访问管理。首先,我们推出了新的 Amazon S3 对象拥有权设置,允许您禁用访问控制列表 (ACL),以简化对 Amazon S3 中所存储数据的访问管理。其次,Amazon S3 控制台策略编辑器现在会在您编写 S3 策略时报告 IAM 访问分析器提供的安全警告、错误和建议。

15 年前启动以来,Amazon S3 存储桶的原定设置始终为私有。起初,使用 ACL 是授予对象访问权限的唯一方法。2011 年,AWS Identity and Access Management (IAM) 发布,允许使用策略定义权限并控制对 Amazon S3 中存储桶和对象的访问。现在,您有多种方法可以控制对 Amazon S3 中数据的访问,包括 IAM 策略 S3 存储桶策略 S3 访问点策略 S3 数据块公有访问ACL

ACL 是一种访问控制机制,其中每个存储桶和对象都附上了一种 ACL。ACL 定义了向哪些 AWS 账户或组授予访问权限及其访问类型。创建对象时,其拥有权属于创建者。 此拥有权信息将嵌入到对象 ACL 中。当您将对象上载到另一个 AWS 账户拥有的存储桶中,并且希望存储桶拥有者访问该对象时,需要在 ACL 中授予权限。在许多情况下,同一个存储桶中会同时使用 ACL 和其他类型的策略。

新的 Amazon S3 对象拥有权设置(强制执行存储桶拥有者)允许禁用与存储桶及其对象关联的所有 ACL。应用此存储桶级别设置时,存储桶中的所有对象都将归创建存储桶的 AWS 账户拥有,ACL 不再用于授予访问权限。一旦应用,拥有权将自动更改,向存储桶写入数据的应用程序不再需要指定任何 ACL。因此,对数据的访问将基于策略。这简化了对 Amazon S3 中所存储数据的访问管理。

通过此次启动,在 Amazon S3 控制台中创建新存储桶时,您可以选择启用还是禁用 ACL。在 Amazon S3 控制台中,创建存储桶时,原定设置选择是禁用 ACL。如果希望启用 ACL,可以为对象拥有权选择其他配置,具体如下:

  • 首选存储桶拥有者:使用 bucket-owner-full-control 标准 ACL 写入此存储桶的所有新对象将归存储桶拥有者拥有。ACL 仍可用于访问控制。
  • 对象编写者:对象编写者仍然是对象拥有者。ACL 仍可用于访问控制。

对象拥有权的选项

对于现有存储桶,您可以在权限选项卡中查看和管理此设置。

在为现有存储桶上的对象拥有权启用“强制执行存储桶拥有者”设置之前,必须将授予其他 AWS 账户的访问权限从存储桶 ACL 迁移到存储桶策略。否则,启用该设置时会收到错误消息。这有助于确保向存储桶写入数据的应用程序不受干扰。迁移访问权限后,请务必测试应用程序。

Amazon S3 控制台中的策略验证
我们还在 Amazon S3 控制台中推出了策略验证,以帮助您为 Amazon S3 编写基于资源的策略。通过 IAM 访问分析器提供的 100 多项可操作的策略检查,简化了 Amazon S3 存储桶和访问点的访问控制策略的编写。

要在 Amazon S3 控制台中访问策略验证,请首先转到存储桶的详细信息页面。然后,转到权限选项卡并编辑存储桶策略。

在 S3 控制台中访问 IAM 策略验证当您开启编写策略时,您会看到在键入时,屏幕底部会显示不同的查找结果。IAM 访问分析器的策略检查旨在验证您的策略,并根据其影响报告安全警告、错误和建议等结果,以帮助您提高策略的安全性。

您还可以使用 IAM 访问分析器的 ValidatePolicy API 执行这些检查和验证。

策略建议示例

可用性
Amazon S3 对象拥有权在所有 AWS 区域(不包括 AWS 中国区域和 AWS GovCloud 区域)提供,无需额外成本。Amazon S3 控制台中的 IAM 访问分析器策略验证在所有 AWS 区域(包括 AWS 中国区域和 AWS GovCloud 区域)提供,无需额外成本。

通过 Amazon S3 控制台AWS 命令行界面 (CLI)Amazon S3 REST APIAWS SDKAWS CloudFormation 开启使用 Amazon S3 对象拥有权。通过文档页面了解有关此功能的更多信息。

要了解详情并开启在 Amazon S3 控制台中进行策略验证,请参阅访问分析器策略验证文档

Marcia