概览
Amazon S3 是深受全球数百万客户信赖的主存储。凭借 99.999999999%(11 个 9)的数据持久性,客户可以存储和保护几乎任何应用场景的关键业务数据,包括云原生应用程序、数据湖分析输出和媒体文件。对于任何数据而言,最佳实践都是做好备份,并采取保护措施,防止恶意或意外删除。
S3 对象锁定功能可以在客户定义的留存期内阻止对象被永久删除,因此您能够通过实施留存策略来进一步保护数据或满足监管要求。使用 S3 对象锁定,S3 版本控制将自动启用,而且这些功能协同工作,防止锁定的对象版本被永久删除(意外或故意)或使用一次写入多次读取(WORM)模型覆盖。S3 对象锁定功能是用于勒索软件防护的对象存储不可变性的行业标准,被 Cohesity、Commvault、Rubrik、Veeam 和 Veritas 等 AWS 存储合作伙伴用于云存储、备份和数据保护等解决方案中。
优势
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 对象锁定设置一样,留存期适用于单个对象版本。单个对象的不同版本可以具有不同的留存模式和期限。
例如,假设您有一个对象,其 30 天留存期已过 15 天,然后您将一个名称相同且留存期为 60 天的新对象上传到 Amazon S3。在这种情况下,您的上传将成功,Amazon S3 会为该对象创建一个留存期为 60 天的新版本。较旧版本保持其原始留存期,并可在 15 天后删除。
在将留存设置应用于对象版本后,可以延长留存期。若要这样做,可以使用 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 数据保护的入门教程。