Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

管理对象锁定

查看锁定信息

使用 GET Object 或 HEAD Object 命令可以查看对象版本的对象锁定状态。这两个命令都会返回指定对象版本的保留模式、保留到期日期和依法保留状态。为了查看对象版本的保留模式和保留周期,您必须拥有 s3:GetObjectRetention 权限。为了查看对象版本的依法保留状态,您必须拥有 s3:GetObjectLegalHold 权限。如果您对某一对象版本执行 GET 或 HEAD 操作但没有查看其锁定状态所需的权限,该请求将成功,但不会返回您无权查看的信息。

通过请求存储桶的对象锁定配置,您可以查看存储桶的对象锁定默认保留配置(如果有)。您必须拥有 s3:GetBucketObjectLockConfiguration 权限,才能查看存储桶的配置。如果您对未启用对象锁定的存储桶请求对象锁定配置,Amazon S3 将返回错误。

可在您的存储桶中配置 S3 清单报告,以包含存储桶中所有对象的保留到期日期、对象锁定模式和依法保留状态。有关 S3 清单报告的更多信息,请参阅 Amazon S3 清单

绕过监管模式

可对在监管模式下锁定的对象版本执行操作,如同在您拥有 s3:BypassGovernanceRetention 权限时这些对象版本不受保护。其中包括删除对象版本、缩短保留周期或通过实施参数为空的新锁定来删除对象锁定。为了绕过监管模式,您必须在请求中明确指明您要绕过监管模式。执行此操作的方法是在请求中包含 x-amz-bypass-governance-retention:true 标头或将等效参数用于通过 AWS CLI 或 AWS 开发工具包发出的请求。如果您具有绕过监管模式所需的权限,则 AWS 管理控制台 会自动将此标头应用于通过控制台发出的请求。

注意

绕过监管模式不会影响对象版本的依法保留状态。如果某一对象版本已启用依法保留,则该依法保留将一直有效,并可阻止覆盖或删除该对象版本的请求。

事件和通知

可在对象锁定存储桶中为对象级别操作配置 S3 事件。当 PUT ObjectHEAD ObjectGET Object 调用包含对象锁定元数据时,这些调用的事件将包含这些元数据的值。在为对象添加或更新对象锁定元数据时,这些操作也会触发事件。只要您 PUT 或 GET 对象保留或依法保留信息,便会发生这些事件。

您可以使用 Amazon S3 事件通知来跟踪使用 AWS CloudTrail 对对象锁定配置及数据进行的访问和更改。您还可以使用 Amazon CloudWatch 根据此数据生成警报。有关 S3 事件的更多信息,请参阅 配置 Amazon S3 事件通知。有关 AWS CloudTrail 的更多信息,请参阅 AWS CloudTrail 文档。有关 Amazon CloudWatch 的更多信息,请参阅 AWS CloudWatch 文档

设置保留设置

可以使用存储桶策略为存储桶设置允许的最小和最大保留周期。您可以使用 s3:object-lock-remaining-retention-days 条件键完成此操作。以下示例演示的存储桶策略将最小保留周期设置为 10 天:

{"Version":"2012-10-17", "Id":"<Policy1436912751980>", "Statement":[{ "Sid":"<Stmt1436912698057>", "Effect":"Deny", "Principal":"*", "Action":["s3:PutObjectRetention"], "Resource":"arn:aws:s3:::<example-bucket>/*", "Condition":{"NumericGreaterThan": {"s3:object-lock-remaining-retention-days": "10"}} }]}

有关使用存储桶策略的更多信息,请参阅使用存储桶策略和用户策略。

删除标记和生命周期管理

尽管您无法删除受保护的对象版本,但您仍可为该对象创建删除标记。对对象实施删除标记不会删除任何对象版本,但会使 Amazon S3 的行为方式与对象被删除时相似。有关删除标记的更多信息,请参阅使用删除标记

注意

无论基础对象中实施任何保留周期或依法保留,删除标记均不受 WORM 保护。

对象生命周期管理配置将继续正常应用于受保护的对象,包括实施删除标记。但是,受保护的对象版本将一直保持安全状态,不会被生命周期配置删除或覆盖。有关管理对象生命周期的更多信息,请参阅对象生命周期管理