Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用 S3 对象锁定

贡献者

如果为 StorageGRID 系统启用了全局 S3 对象锁定设置,则可以在启用了 S3 对象锁定的情况下创建存储分段,然后为添加到存储分段的每个对象版本指定保留日期和合法保留设置。

通过 S3 对象锁定,您可以指定对象级别的设置,以防止对象在固定时间内或无限期地被删除或覆盖。

StorageGRID S3 对象锁定功能提供了一种保留模式,相当于 Amazon S3 合规模式。默认情况下,任何用户都无法覆盖或删除受保护的对象版本。StorageGRID S3 对象锁定功能不支持监管模式,并且不允许具有特殊权限的用户绕过保留设置或删除受保护的对象。

为存储分段启用S3对象锁定

如果为 StorageGRID 系统启用了全局 S3 对象锁定设置,则可以选择在创建每个分段时启用 S3 对象锁定。您可以使用以下任一方法:

创建存储分段后,您无法添加或禁用 S3 对象锁定。S3 对象锁定需要分段版本控制,在创建分段时会自动启用分段版本控制。

启用了 S3 对象锁定的存储分段可以包含具有和不具有 S3 对象锁定设置的对象组合。StorageGRID 不支持S3对象锁定分段中的对象的默认保留、因此不支持PUT对象锁定配置分段操作。

确定是否为存储分段启用了S3对象锁定

要确定是否已启用S3对象锁定、请使用获取对象锁定配置请求。

使用S3对象锁定设置创建对象

要在将对象版本添加到启用了 S3 对象锁定的存储分段时指定 S3 对象锁定设置,请问题描述 对 PUT 对象, PUT 对象 - 复制或启动多部件上传请求。请使用以下请求标头。

备注 创建存储分段时,必须启用 S3 对象锁定。创建存储分段后,您无法添加或禁用 S3 对象锁定。
  • x-amz-object-lock-mode、必须符合要求(区分大小写)。

    备注 如果指定 x-amz-object-lock-mode、您还必须指定 x-amz-object-lock-retain-until-date
  • x-amz-object-lock-retain-until-date

    • 保留截止日期值必须采用格式 2020-08-10T21:46:00Z。允许使用小数秒,但仅保留 3 位小数(精确度为毫秒)。不允许使用其他 ISO 8601 格式。

    • 保留截止日期必须为未来日期。

  • x-amz-object-lock-legal-hold

    如果处于合法保留状态(区分大小写),则对象将置于合法保留状态。如果关闭了合法保留,则不会进行合法保留。任何其他值都会导致 400 错误请求( InvalidArgument )错误。

如果您使用上述任一请求标头,请注意以下限制:

  • Content-MD5 如果有、则请求标头为必填项 x-amz-object-lock-* PUT对象请求中存在请求标头。 Content-MD5 PUT对象-复制或启动多部件上传不需要。

  • 如果存储分段未启用S3对象锁定和 x-amz-object-lock-* 存在请求标头、返回400错误请求(InvalidRequest)错误。

  • PUT对象请求支持使用 x-amz-storage-class: REDUCED_REDUNDANCY 以匹配AWS行为。但是,如果在启用了 S3 对象锁定的情况下将对象载入存储分段,则 StorageGRID 将始终执行双提交载入。

  • 后续的GET或HEAD对象版本响应将包括标题 x-amz-object-lock-modex-amz-object-lock-retain-until-date,和 x-amz-object-lock-legal-hold(如果已配置)以及请求发送方是否正确 s3:Get* 权限。

  • 如果后续的删除对象版本或删除对象版本请求早于保留截止日期或处于合法保留状态,则此请求将失败。

正在更新S3对象锁定设置

如果需要更新现有对象版本的合法保留或保留设置,可以执行以下对象子资源操作:

  • PUT Object legal-hold

    如果新的合法保留值为 on ,则对象将置于合法保留状态。如果合法保留值为 off ,则取消合法保留。

  • PUT Object retention

    • 模式值必须符合要求(区分大小写)。

    • 保留截止日期值必须采用格式 2020-08-10T21:46:00Z。允许使用小数秒,但仅保留 3 位小数(精确度为毫秒)。不允许使用其他 ISO 8601 格式。

    • 如果对象版本具有现有的保留日期,则只能增加此保留日期。新的价值必须是未来的。