S3 对象锁定依法保留
可以使用 Amazon S3 批量操作对 Amazon S3 对象执行大规模批量操作。可以使用对象锁定法定保留操作来对于对象版本实施法定保留。与设置保留期限相似,依法保留可防止对象版本被覆盖或删除。但是,法定保留没有关联的保留期,在移除之前将一直有效。
您可以将 S3 分批操作与对象锁定一起使用,以便同时添加对很多 Amazon S3 对象的依法保留。为此,请在清单中指定目标对象的列表,并将该列表提交给批量操作。S3 批量操作对象锁定法定保留任务将持续运行,直至完成、取消或达到失败状态。
在处理清单中的任何对象之前,S3 批量操作会验证是否已在您的 S3 存储桶上启用对象锁定。要执行对象操作和存储桶级别验证,S3 批量操作需要 Amazon Identity and Access Management(IAM)角色中的 s3:PutObjectLegalHold
和 s3:GetBucketObjectLockConfiguration
。这些权限可让 S3 批量操作代表您调用 S3 对象锁定。
当您创建 S3 批量操作任务来移除法定保留时,只需将 Off
指定为法定保留状态。有关更多信息,请参阅 对象锁定注意事项。
有关如何将此操作与 Amazon S3 REST API 结合使用的信息,请参阅《Amazon Simple Storage Service API 参考》的 CreateJob 操作中的 S3PutObjectLegalHold
。
有关使用此操作的示例,请参阅使用适用于 Java 的 Amazon 开发工具包。
限制和局限性
使用批量操作来应用或移除对象锁定法定保留时,以下限制和局限性适用:
-
S3 批量操作不会进行任何存储桶级别的更改。
-
清单中列出的所有对象都必须位于同一个存储桶中。
-
必须在执行任务的存储桶上配置版本控制和 S3 对象锁定。
-
除非在清单中明确指定了版本,否则对象锁定法定保留操作将适用于最新版本的对象。
-
IAM 角色需要
s3:PutObjectLegalHold
权限,才能在对象中添加或移除法定保留。 -
需要
s3:GetBucketObjectLockConfiguration
IAM 权限,才能确认为在其中执行任务的 S3 存储桶启用了 S3 对象锁定。