QingStor 对象存储支持 WORM 功能,为用户提供两种不同级别锁,来进行数据合规保留的设置。

  • 针对存储空间(Bucket)设置桶级别锁,保留期内任何用户都无法删除和覆盖对象,实现保护数据或满足监管要求的目的。

  • 设置对象版本(Object Version)锁,根据选择的模式受保护的对象版本不被覆盖或删除,此级别可兼容 S3 Object Lock。

使用限制

  • 桶级别锁和版本管理功能互斥。对象版本锁要求同时开启版本管理功能,如 Bucket 未开启版本管理功能,系统将会自动开启版本管理功能,且后续无法暂停版本管理功能。

  • 桶级别锁设置后,默认 Bucket 内所有的对象都受保护,在桶级别锁生效期内,任何用户都不能覆盖或者删除该 Bucket 内的对象。

  • 对象版本锁开启并设置默认保护策略后,新上传的对象版本都受保护,受保护的版本不被覆盖或删除,兼容 S3 Object Lock。

  • 在保留策略生效期间,用户可通过设置生命周期规则进行存储类型转化,在保证合规性的前提下,降低存储成本。

规则说明

生效规则

当 Bucket 启用桶级别锁后,规则已生效,但还需手动对其锁定。

  • 未锁定 时,Bucket 内数据仍受保护,但可以修改和删除规则。如,延长或缩短保留时间、将桶级别锁修改为对象版本锁、删除保留策略使其恢复到开启 WORM 功能前的状态等。

  • 锁定 后,Bucket 内数据受保护,任何用户都不能删除规则,不能将桶级别锁修改为对象版本锁,但能延长保留时间。

当 Bucket 启用对象版本锁后,还需选择数据的保留模式。不支持规则的删除操作。

  • 选择 治理模式 时,默认后续上传的对象均使用 治理模式,但支持人为修改上传对象为 合规模式,也支持延长或缩短数据保留时间。

  • 选择 合规模式 时,默认后续上传的对象均使用 合规模式,不支持修改上传对象为 治理模式,且只能延长数据保留时间。

删除规则

  • 当 Bucket 启用桶级别锁,且为 未锁定 状态时,支持删除规则操作。

  • 当 Bucket 启用对象版本锁时,不支持删除规则操作。

  • WORM 为 Bucket 的设置项,当删除 Bucket 时,该 Bucket 的所有设置项也将删除,因此,保留规则也不复存在。

  • 当 Bucket 内有对象处于保护周期内,那么您将无法删除 WORM 策略,同时也无法删除该 Bucket。

  • 当对象保护期满,您可以对当前对象进行删除或修改操作。

规则示例

  • 示例一

    假设您在 2023年06月01日 为您账号下的某个 Bucket 创建了保护周期为 30天 的桶级别锁。您在不同时间上传了 test_file1.txt、test_file2.txt、test_file3.txt 三个 Object。关于这三个 Object 的具体上传时间以及对应的到期时间说明如下。

    对象名称 上传时间 到期时间

    test_file1.txt

    2023年04月01日 00:00:00

    2023年04月30日 24:00:00

    test_file2.txt

    2023年06月01日 00:00:00

    2023年06月30日 24:00:00

    test_file3.txt

    2023年07月01日 00:00:00

    2023年07月30日 24:00:00

  • 示例二

    假设您在 2023年06月01日 为您账号下的某个 Bucket 创建了保护周期为 30天 的桶级别锁后,又在 2023年06月28日 修改了该 Bucket 的的保护周期为 40天。您在不同时间上传了 test_file1.txt、test_file2.txt、test_file3.txt 三个 Object。关于这三个 Object 的具体上传时间以及对应的到期时间说明如下。

    对象名称 上传时间 到期时间

    test_file1.txt

    2023年04月01日 00:00:00

    2023年04月30日 24:00:00

    test_file2.txt

    2023年06月01日 00:00:00

    2023年07月10日 24:00:00

    test_file3.txt

    2023年07月01日 00:00:00

    2023年08月10日 24:00:00

  • 示例三

    假设您在 2023年06月01日 为您账号下的某个 Bucket 创建了保护周期为 30天 的对象版本锁。您在不同时间上传了 test_file1.txt、test_file2.txt、test_file2.txt 三个 Object。关于这三个 Object 的具体上传时间以及对应的到期时间说明如下。

    对象名称 上传时间 到期时间

    test_file1.txt

    2023年04月01日

    -

    test_file2.txt(版本一)

    2023年06月01日 00:00:00

    2023年06月30日 24:00:00

    test_file2.txt(版本二)

    2023年06月20日 00:00:00

    2023年07月20日 24:00:00

    说明

    对象版本锁设置后,是对后续上传的对象生效。test_file1.txt 上传的时间早于对象版本锁设置的时间,因此该保留策略对其不生效。

  • 示例四

    假设您在 2023年06月01日 为您账号下的某个 Bucket 创建了保护周期为 30天 的对象版本锁后,又在 2023年06月18日 修改了该 Bucket 的的保护周期为 40天。您在不同时间上传了 test_file1.txt、test_file2.txt、test_file2.txt 三个 Object。关于这三个 Object 的具体上传时间以及对应的到期时间说明如下。

    对象名称 上传时间 到期时间

    test_file1.txt

    2023年04月01日

    -

    test_file2.txt(版本一)

    2023年06月01日 00:00:00

    2023年06月30日 24:00:00

    test_file2.txt(版本二)

    2023年06月20日 00:00:00

    2023年07月30日 24:00:00

    说明

    对象版本锁设置后,是对后续上传的对象生效。test_file1.txt 上传的时间早于对象版本锁设置的时间,因此该保留策略对其不生效。

基本操作

本章节介绍如何在 Console 上开启、关闭 WORM 功能以及如何修改 WORM 保留策略。

在 Console 页面,点击 产品与服务 > 存储服务 > 对象存储,进入 QingStor 对象存储的主页面,再执行以下操作。

console main

启用 WORM

  1. 进入 QingStor 对象存储的主页面,选择待设置 WORM 的 Bucket,点击 右键 > 设置

    set bucket replication1
  2. 进入 Bucket 设置页面,点击 WORM > 启用

    bucket worm1
  3. 进入 WORM 策略设置页面,根据页面提示信息,填写相关参数后,点击启用按钮。

    • 数据保留级别选择桶级别锁

      bucket worm2
    • 数据保留级别选择对象版本锁

      bucket worm3
      说明
      • 此处设置的 对象版本锁 是一个默认保留配置,后续上传的对象均使用该默认配置进行保护。

      • 如需差异化的来指定对象的保留策略,您可以通过 API 携带相应的请求头来上传对象。

    • 参数说明

      参数名称 说明

      数据保留级别

      • 设置 桶级别锁,则存储于当前 Bucket 中的所有数据均受保护。

      • 设置 对象版本锁,则存储于 Bucket 中的历史数据不受保护,后续上传至 Bucket 中的数据受保护。

      • 推荐使用 桶级别锁

      数据保留时间

      用于设置数据受保护的时间。在该期限内,数据不能被删除或修改。

      • 设置 桶级别锁 且已 锁定 时,对于已在保护期内的数据,用户可延长其保留时间。

      • 设置 桶级别锁 且未 锁定 时,对于已在保护期内的数据,用户可以延长或缩短数据保留时间。

      • 设置 对象版本锁 时,数据保留时间的修改,参考 数据保留模式 的设定。

      数据保留模式

      当设置 对象版本锁 时,需要同时指定数据保留模式。

      • 治理模式 下,对于已在保护期内的数据,可以修改数据保留模式为 合规模式,还可以延长或缩短其保留时间。

      • 合规模式 下,对于已在保护期内的数据,不可以修改数据保留模式,可以延长但不能缩短其保留时间。

  4. 桶级别锁 启用后,还需手动进行 锁定,未锁定时数据仍受保护但可以修改和删除数据合规保留设置。

    bucket worm4

修改保留策略

操作如下。

  1. 进入 QingStor 对象存储的主页面,选择待修改 WORM 设置的 Bucket,点击 右键 > 设置

    set bucket replication1
  2. 进入 Bucket 设置页面,点击 WORM,进入 WORM 策略设置页面,点击修改

    说明
    • 桶级别锁 未锁定时,可以延长或缩短保留时间;锁定后,可以延长保留时间,但不能缩短保留时间。

    • 对象版本锁 可修改默认保留时间与保留模式,该修改对后续上传的对象版本生效。

  3. 根据页面提示信息,修改相关参数后,点击确定

删除保留策略

Bucket 的 WORM 功能一旦开启后,就不能取消。WORM 作为 Bucket 的设置项,只能随 Bucket 的删除而删除。

若您的 Bucket 在开启 WORM 功能一段时间后,由于业务需要想要关闭 WORM 功能,即删除保留策略,但又需要保留该 Bucket,可以按以下说明进行操作。

  1. 待 Bucket 内的对象保护均到期后,逐一删除 Bucket 内对象。

  2. 删除 Bucket。

  3. 待 Bucket 成功删除后,创建同名 Bucket,以达到关闭 WORM 功能但保留 Bucket 的目的。