S3 对象锁定保留
可以使用 Amazon S3 批量操作对 Amazon S3 对象执行大规模批量操作。可以使用对象锁定保留操作,通过监管模式或合规模式来为对象应用保留日期。这些保留模式会应用不同级别的保护。可将任一保留模式应用于任意对象版本。与依法保留类似,保留日期可防止覆盖或删除对象。Amazon S3 存储在对象的元数据中指定的保留到期日,并保护指定的对象版本,直到保留期到期。
可以将 S3 批量操作与对象锁定结合使用,以便同时管理许多 Amazon S3 对象的保留日期。可以在清单中指定目标对象的列表,并将该清单提交到批量操作以完成操作。有关更多信息,请参阅 S3 对象锁定保留期限。
具有保留日期的任务 S3 分批操作将持续运行,直至达到完成、取消或失败状态。当要通过单个请求添加、更改或移除许多对象的保留日期时,建议使用 S3 批量操作和 S3 对象锁定保留。
在处理清单中的任何密钥之前,分批操作会验证是否已在您的存储桶上启用对象锁定。要执行操作和验证,批量操作需要 Amazon Identity and Access Management(IAM)角色中的 s3:GetBucketObjectLockConfiguration
和 s3:PutObjectRetention
权限,来支持批量操作代表您调用对象锁定。有关更多信息,请参阅 对象锁定注意事项。
有关将此操作与 REST API 结合使用的信息,请参阅《Amazon Simple Storage Service API 参考》的 CreateJob 操作中的 S3PutObjectRetention
。
有关使用此操作的 Amazon Command Line Interface(Amazon CLI)示例,请参阅使用 Amazon CLI。有关 适用于 Java 的 Amazon SDK 示例,请参阅使用适用于 Java 的 Amazon SDK。
限制和局限性
使用批量操作来应用对象锁定保留期时,以下限制和局限性适用:
-
S3 批量操作不会进行任何存储桶级别的更改。
-
必须在执行任务的存储桶上配置版本控制和 S3 对象锁定。
-
清单中列出的所有对象都必须位于同一个存储桶中。
-
除非清单中明确指定了版本,否则该操作将适用于最新版本的对象。
-
您需要在 IAM 角色中拥有
s3:PutObjectRetention
权限,才能使用对象锁定保留任务。 -
需要
s3:GetBucketObjectLockConfiguration
IAM 权限,才能确认为您正在对其执行任务的 S3 存储桶启用了对象锁定。 -
只能在应用
COMPLIANCE
模式保留日期的情况下延长对象的保留期,并且不能缩短此保留期。