Amazon S3 对象锁定

通过对象层面的不可变性来保护数据免受勒索软件事件的侵害,防止对象被意外或恶意删除和覆盖

Amazon S3 是深受全球数百万客户信赖的主存储。凭借 99.999999999%(11 个 9)的数据持久性,客户可以存储和保护几乎任何应用场景的关键业务数据,包括云原生应用程序、数据湖分析输出和媒体文件。对于任何数据而言,最佳实践都是做好备份,并采取保护措施,防止恶意或意外删除。

S3 对象锁定功能可以在客户定义的留存期内阻止对象被永久删除,因此您能够通过实施留存策略来进一步保护数据或满足监管要求。使用 S3 对象锁定,S3 版本控制将自动启用,而且这些功能协同工作,防止锁定的对象版本被永久删除(意外或故意)或使用一次写入多次读取(WORM)模型覆盖。S3 对象锁定是用于勒索软件防护的对象存储不可变性的行业标准,被 AWS 存储合作伙伴如 Veeam、Veritas、Rubrik、Cohesity、Commvault 和 Clumio 等用于云存储、备份和数据保护解决方案等领域中。

如何使用 Amazon S3 对象锁定(12:54)

优势

保护数据免受勒索软件事件和意外更改的侵害

数据不可变性是数据保护规划的核心方面。它可以防止任何用户意外更改或删除。这有助于防止勒索软件事件删除或更改您的数据。S3 对象锁定可以防止任何人或进程更改或删除数据,无论是无意中还是由于恶意活动。

满足合规性和法规要求

您可以使用 S3 对象锁定帮助满足需要 WORM 存储的法规要求,或者添加另一层保护以防止对象被更改和删除。Cohasset Associates 已经评测了 S3 对象锁定是否适用于受 SEC 17a-4、CFTC 和 FINRA 法规约束的环境。您可以使用合规模式(这一模式无法被覆盖)来帮助您的数据满足监管合规性监控。有关对象锁定与这些法规的关系的更多信息,请参阅 Cohasset Associates 合规性评测

恢复对象的版本

您可以使用 S3 版本控制功能来保留、检索和还原您的桶中存储的每个对象的每个版本。借助版本控制,您可以更轻松地从意外用户操作和应用程序故障中恢复。S3 版本控制借助 S3 对象锁定自动启用,可以提供数据弹性,并能回退到某一先前版本。在此处了解更多信息

S3 对象锁定的工作原理是什么?

S3 对象锁定工作原理图

您可以在存储桶级别或对象级别使用 S3 对象锁定,可以在创建新存储桶时启用,也可以对现有存储桶启用。要将 S3 对象锁定用于存储桶(或存储桶中的对象),必须先为存储桶启用 S3 版本控制。留存期和合法保留适用于单个对象版本。当您锁定对象版本时,Amazon S3 会将锁定信息存储在该对象版本的元数据中。针对对象设置留存期或合法保留仅会保护请求中指定的版本。它不会阻止创建新的对象版本,也不会阻止删除放置在锁定对象版本顶部的标记。 

无论对象驻留在哪个存储类中,S3 对象锁定保护都将保留,并且会在存储类之间的整个 S3 生命周期转换期间保留。与可以防止对象被覆盖的 S3 版本控制功能配合使用,您能够确保对象在应用 S3 对象锁定保护时始终保持不变。您可以将工作负载从现有 WORM 存储系统迁移到 Amazon S3,并在对象级别和存储桶级别配置 S3 对象锁定,以防止在预定义的日期或合法保留日期之前删除对象版本。 

您还可以在启用了 S3 对象锁定的存储桶上启用 S3 复制,以复制对象及其保留设置。复制对象时,如果源存储桶启用了 S3 对象锁定,则目标存储桶也必须启用 S3 对象锁定。

使用 S3 对象锁定管理对象保留

S3 对象锁定提供了两种管理对象留存的方法:留存期合法保留。在存储桶上启用 S3 对象锁定后,对象版本可以同时拥有留存期和合法保留、两者之一,或者两者都没有。

  • 留存期 — 指定对象保持锁定状态的固定时间段。在此期间,您的对象将受到 WORM 保护,无法被覆盖或删除。当您为对象版本设置留存期时,Amazon S3 会在对象版本的元数据中存储时间戳,以显示留存期何时到期。在留存期到期后,除非您还针对对象版本设置了合法保留,否则该对象版本可能会被覆盖或删除。使用存储桶策略,您可以为存储桶设置允许的最小和最大留存期,以帮助确定允许的留存期范围。 有关更多信息,请参阅留存期
  • 合法保留 — 提供与留存期相同的保护,但没有到期日期。与之不同的是,在您明确删除合法保留之前,它将一直有效。合法保留与留存期相互独立。有关更多信息,请参阅合法保留

留存期和保留模式始终同步配置,这一点与合法保留不同,后者是独立配置的。S3 对象锁定提供两种留存模式,可为您的对象应用不同级别的保护。您可以将任一留存模式应用于受对象锁定保护的任何对象版本。

  • 治理模式 — 在治理模式下,除非用户拥有特殊权限,否则他们无法覆盖或删除对象版本或更改其锁定设置。借助治理模式,您可以保护对象免遭大多数用户删除,但您仍然可以向某些用户授予更改留存设置或在必要时删除对象的权限。您还可以在创建合规模式留存期之前,使用治理模式测试留存期设置。
  • 合规模式 — 在合规模式下,任何用户(包括您的 AWS 账户中的根用户)都无法覆盖或删除受保护的对象版本。在在合规模式下锁定对象后,您将无法更改留存模式,也无法缩短留存期。合规模式有助于确保在留存期内无法覆盖或删除对象版本。  Cohasset Associates 已经针对 SEC 规则 17a-4(f)、FINRA 规则 4511 和 CFTC 规定 1.31 对 S3 对象锁定功能进行过评测。 

借助 S3 批量操作大规模使用 S3 对象锁定

您可以使用默认 S3 对象锁定设置为所有新对象在存储桶上启用 S3 对象锁定。 对于现有对象,您可以使用 S3 批量操作,通过指定整个存储桶、前缀、后缀、创建日期或存储类别,将 S3 对象锁定设置一次性应用至数十亿个对象。 或者,您也可以在清单中指定目标对象列表并将其提交给 S3 批量操作完成。

与所有其他 S3 对象锁定设置一样,留存期适用于单个对象版本。单个对象的不同版本可以具有不同的留存模式和期限。

例如,假设您有一个对象,其 30 天留存期已过 15 天,然后您将一个名称相同且留存期为 60 天的新对象上传到 Amazon S3。在这种情况下,您的上传将成功,Amazon S3 会为该对象创建一个留存期为 60 天的新版本。较旧版本保持其原始留存期,并可在 15 天后删除。

将留存期应用至对象版本后,可以延长留存期。若要这样做,可以使用 S3 批量操作为对象版本提交新的 S3 对象锁定请求,其“保留到期日期”晚于当前配置的保留到期日期。Amazon S3 将用更长的新留存期取代现有的留存期。了解详情

合作伙伴

开始使用 S3 进行数据保护

对于存储在 Amazon S3 中的数据,最佳实践要从 Amazon S3 版本控制开始,该功能允许您保留、检索和恢复 Amazon S3 桶中存储的每个对象的每个版本。然后,您可以添加 Amazon S3 对象锁定,在固定时间内或无限期地防止删除或覆盖数据。要在另一个 AWS 区域创建数据的其他副本以进行多区域保护,您可以为已开启 S3 对象锁定的桶启用 Amazon S3 复制。然后,您可以将 S3 复制与 S3 版本控制和 S3 对象锁定配合使用,在 AWS 区域和单独的 AWS 账户之间自动复制对象。要将 S3 对象锁定用于现有对象,或者延长已接近锁定到期的现有对象的锁定期限,您可以使用 S3 批量操作和 S3 清单报告。最后,您可以借助 Amazon S3 Storage Lens 存储统计管理工具,将当前数据保护级别和这些功能使用情况的可见性整合到单个控制面板中。

要了解有关如何在 Amazon S3 上保护数据的更多信息,请访问有关 S3 数据保护的入门教程

Amazon S3 常见问题
请参阅 S3 对象锁定用户指南

请阅读用户指南,以了解有关 S3 对象锁定的信息。

了解更多 
注册 AWS 账户
注册免费账户

立即享受 AWS Free Tier。 

注册 
开始使用 Amazon S3 进行构建
开始在控制台中构建

在 AWS 管理控制台中,使用 Amazon S3 开始构建。

登录