在启用管理模式和合法保留的情况下,对象会在S3中被覆盖

问题描述

我绝对是AWS的初学者,并且从现在开始已经练习了3个月。

最近我正在研究S3,并使用S3对象锁玩了一下。因此,我通过治理模式以及合法保留为特定对象启用了S3对象锁定。现在,当我尝试使用以下CLI命令用同一文件覆盖对象时:

aws s3 cp /Users/John/Desktop/112133.jpg s3://my-buck/112133.jpg

它成功地取得了成功,我在控制台中检查是否已上传文件并带有最新版本。现在,我在AWS docs中阅读了以下内容

绕过管理模式不会影响对象版本的合法性 保持状态。如果对象版本启用了合法保留,则合法版本 保全保持有效,并防止覆盖或删除请求 对象版本。

现在我的问题是,如果使用此CLI命令覆盖文件,它将如何被覆盖?我也尝试在控制台中重新修改同一文件,但它也起作用。

此外,我上传了另一个文件,并使用遵从模式启用了ojbect锁,它也被覆盖了。但是删除对两种情况都无法按预期进行。

我是否了解整个S3对象锁定问题?任何帮助将不胜感激。

enter image description here

解决方法

引用Object Lock文档:

对象锁仅在版本化存储桶,保留期和 法律保留适用于单个对象版本。当您锁定 对象版本,Amazon S3将锁定信息存储在元数据中 对于该对象版本。设置保留期或法律保留 对象仅保护请求中指定的版本。它 不会阻止创建该对象的新版本。