Shu*_*oel 7 amazon-s3 amazon-web-services
我已经创建了一个 AWS S3 存储桶,其中包含合规模式的对象锁定设置。当我在存储桶中上传文件时(在文件设置中,我可以看到对象锁定在合规模式下启用),我能够删除该文件。我不确定,根据 AWS 文档,即使是根用户也无法使用合规模式对象锁定删除文件。
如果我被误解,请帮助。
重要的
对象锁仅适用于单个对象版本。
https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
查看如何查看 S3 对象的版本?并将控制台视图切换为“显示”对象版本。您应该发现您实际上并没有删除锁定的对象版本。
当您“删除”对象时,您所做的是创建一个删除标记。
删除标记是在简单请求中命名的版本化对象的占位符(标记)
DELETE
。由于该对象位于启用版本控制的存储桶中,因此该对象未被删除。然而,删除标记使 Amazon S3 的行为就像已被删除一样。https://docs.aws.amazon.com/AmazonS3/latest/dev/DeleteMarker.html
当控制台处于“隐藏”版本模式时,删除请求是DELETE
如上所述的“简单请求”。
当控制台处于“显示”版本模式时,您尝试的删除操作将针对对象的特定版本,并且您应该发现无法删除具有对象锁定的任何版本。
您还会发现,您显然可以使用新上传来覆盖对象,但实际上您无法这样做,因为在版本化存储桶中上传具有相同密钥的对象(并且启用版本控制是对象锁定工作所必需的) ) 不会覆盖该对象——它只是创建该对象的较新版本,而使旧版本保持不变。
当对象的最高(最新、当前)版本是删除标记时,该对象将从控制台消失,并且不包含在通过 API 发送到存储桶的 ListObjects 请求中,但会出现在 ListObjectVersions API 请求中。“显示/隐藏”设置仅适用于您的个人控制台视图,它不会改变实际的存储桶行为。
对象版本上的时间戳无法更改,因此锁定对象版本不仅可以防止删除对象内容,还可以保留该对象最初创建时间的记录。“覆盖”对象会创建具有新时间戳的新版本,并且版本上的时间戳证明在任何给定时间点存储桶中存在哪些内容。
归档时间: |
|
查看次数: |
1871 次 |
最近记录: |