首页 > 解决方案 > S3 中的对象锁定是否有助于防止对象被覆盖?

问题描述

我目前正在分析 S3 对象锁定功能,AWS 指定以下内容,

S3 对象锁定用于防止对象在固定时间或无限期被删除或覆盖

但 AWS 还指定用户启用版本控制以使用对象锁定。

如果启用了版本控制,则默认情况下无法覆盖对象,因为它总是每次都会创建一个更新的版本。那么 S3 中的对象锁定如何帮助防止对象被覆盖?我在这里错过了什么吗?

标签: amazon-web-servicesamazon-s3

解决方案


使用 Amazon S3 对象锁定锁定对象 - Amazon Simple Storage Service

Amazon S3 对象锁定仅适用于版本化存储桶,保留期和合法保留适用于单个对象版本。当您锁定对象版本时,Amazon S3 将锁定信息存储在该对象版本的元数据中。对对象设置保留期或合法保留仅保护请求中指定的版本。它不会阻止创建对象的新版本。如果您将对象放入与现有受保护对象具有相同键名的存储桶中,Amazon S3会创建该对象的新版本,按请求将其存储在存储桶中,并报告请求成功完成。对象的现有受保护版本根据其保留配置保持锁定状态。

因此,对象锁定不会阻止对象被覆盖或创建新版本。只有对象的特定版本被锁定,不能被删除。允许进行其他操作。

例如,我创建了一个对象并将其锁定为合法保留。然后我重命名了该对象。这导致添加了一个删除标记,并使用更改后的名称创建了一个新对象。


推荐阅读