保留政策和保留政策锁定

转到示例

此页面讨论存储分区锁定功能,该功能可让您为 Cloud Storage 存储分区配置数据保留政策,以管理存储分区中对象的最短保留时间。该功能还可让您锁定数据保留政策,以永久性防止缩减或移除政策。

此功能可在 Cloud Storage 上提供不可改变的存储。 结合详细的审核日志记录模式(用于记录 Cloud Storage 请求和响应的详细信息),存储分区锁定可以帮助您满足法规和合规性要求,例如与 FINRA、SEC、CFTC 相关的要求。存储分区锁定还可以帮助您满足某些医疗保健行业的保留法规的要求。

概览

  • 您可以向存储分区添加保留政策以指定保留期限

    • 如果存储分区没有保留政策,您可以随时删除或替换存储分区中的对象。

    • 如果存储分区具有保留政策,则只有在时间超过保留期限时才能删除或替换存储分区中的对象。

    • 保留政策可追溯地应用于存储分区中的现有对象以及新添加到存储分区的对象。

  • 您可以锁定保留政策,以将其永久地设置在存储分区。

    • 锁定保留政策后,您无法将其移除或缩短保留期限。

    • 除非存储分区中的所有对象都达到保留期限,否则无法删除具有锁定保留政策的存储分区。

    • 您可以延长锁定的保留政策的保留期限。

    • 锁定保留政策可以使您的数据符合记录保留规定

保留政策

您可以在创建新存储分区时包含保留政策,也可以将保留政策添加到现有存储分区。为存储分区设置保留政策可确保在达到保留政策所定义的保留期限之前,不能删除或替换存储分区中的所有当前和未来的对象。尝试删除或替换尚未到达保留期限的对象会导致失败,并返回 403 - retentionPolicyNotMet 错误。

例如,假设在存储分区有两个对象:对象 A 是一个月前添加的,对象 B 是两年前添加的。如果您向该存储分区应用保留期限为 1 年的保留政策,则无法在将来 11 个月内删除或替换对象 A:它当前的存在时间是 1 个月,必须至少达到 1 年才能被删除或替换。而对象 B 可以被立即删除或替换,因为其存在时间超过了保留期限。如果您决定替换对象 B,则此新版本的对象 B 的存在时间将从 0 年开始重新计算。

为了帮助您跟踪单个对象何时可以被删除,具有保留政策的存储分区中的每个对象都具有保留失效时间的元数据。 此元数据显示对象达到保留期限的日期和时间。

使用保留政策时,请注意以下事项:

  • 您可以在存储分区中增加、减少或移除保留政策,除非保留政策被锁定

  • 无论有多少受影响对象,更改保留政策都被视为是单个 A 类操作

  • 对象的可修改元数据不受保留政策的约束,即使对象本身不可修改,您也可以修改元数据。

  • 保留政策包含有效时间,即保证存储分区中所有对象符合保留期限的时间。

  • 要查看在具有保留政策的存储分区中可以删除指定对象的最早日期,请查看该对象元数据的保留失效日期部分

  • 保留政策和对象版本控制是 Cloud Storage 的互斥功能:对于指定的存储分区,一次只能启用其中一个功能。应用保留政策时,保留在存储分区中的任何版本化对象也受保留政策的保护。

  • 您可以使用对象生命周期管理自动删除存储分区中的对象,包括具有锁定政策的存储分区中的对象。 但前提是对象满足保留政策,否则不会根据生命周期规则删除对象。

  • 如果您的存储分区具有保留政策,则不应执行并行复合上传,因为只有在每个组成部分都达到存储分区的最短保留期限时才能删除这些组成部分。

  • 您可以在组织政策中使用保留政策限制条件,要求在创建新存储分区时或在现有存储分区上添加/更新保留政策时包含具有特定保留期限的保留政策。

保留期限

保留期限以秒为单位。但为了方便,某些工具(如 Google Cloud Consolegsutil)也允许您使用其他时间单位设置和查看保留期限。此类情况适用以下单位转换:

  • 一天等于 86400 秒。
  • 一个月等于 31 天,2678400 秒。
  • 一年等于 365.25 天,31557600 秒。

您可以将最长保留期限设置为 3155760000 秒(100 年)。

对于 gsutil,您可以在指定保留期限时指定整数和单位,其中单位可以是 sdmy,分别表示秒、天、月或年。一个命令中只能使用一个时间单位。 例如,您可以使用 86400s1d,但不能使用 1d30s

保留政策锁定

在存储分区上锁定保留政策后,可以永久性防止移除政策或缩短保留期限(但您仍可以延长保留期限)。如果您尝试移除或缩短锁定的存储分区的政策时限,则会收到 400 BadRequestException 错误。保留政策锁定后,您将无法删除存储分区,除非存储分区中的所有对象都达到了保留期限。

锁定保留政策是不可逆转的,在使用此功能之前,您应熟知这样做的含义。使用未锁定的保留政策时,您可以删除该政策,从而在需要时仍然可以删除对象。锁定保留政策后,必须删除整个存储分区才能移除政策。但是,如果存储分区中的对象未达到其保留期限,则无法删除存储分区。因此,要移除锁定的保留政策,您必须等到存储分区中的所有对象都已达到其保留期限,才可以删除存储分区。

此外,当锁定保留政策时,Cloud Storage 会自动为包含该存储分区的项目的 projects.delete 权限应用安全锁。应用此安全锁后,就可防止该项目被删除。要删除该项目,您必须先移除所有此类安全锁。请注意,移除安全锁需要 resourcemanager.projects.updateLiens 权限,该权限是 roles/ownerroles/resourcemanager.lienModifier 角色的一部分。

如需了解锁定保留政策如何帮助您的数据符合记录保留规定,请参阅合规性页面

后续步骤