使用存储分区锁定的保留政策

此页面讨论存储分区锁定功能,该功能可让您为 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 Platform Consolegsutil)也允许您使用其他时间单位设置和查看保留期限。此类情况适用以下单位转换:

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

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

对于 gsutil,可以使用 [NUMBER][UNIT] 格式指定保留期限,其中 [UNIT] 可以是 smdy,分别表示秒、分钟、天或年。一个命令中只能使用一个时间单位。例如,您可以使用 900s15m,但不能使用 15m30s

保留政策锁定

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

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

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

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

对象保全

对象保全是您放置在单个对象上的元数据标志。当一个对象被放置了保全,就不能将其删除。Cloud Storage 提供以下类型的保全:

  • 基于事件的保全。
  • 临时保全。

基于事件的保全可以与保留政策结合使用,以根据某些事件的发生来控制保留,例如在支付贷款后的一段时间内保全贷款文档。临时保全可用于监管或法律调查的目的,例如保全交易文档以进行法律调查。

一个对象可以有一种、两种或没有任何保全。如果对象位于没有保留政策的存储分区中,则两种类型的保全效果相同。如果对象位于具有保留政策的存储分区中,则在释放保全时,这两种保全对于对象具有不同的效果:

  • 对于保留期限而言,基于事件的保全会重置对象在存储分区中的时间。
  • 对于保留期限而言,临时保全不会影响对象在存储分区中的时间。

示例

假设在一个保留期限为 1 年的存储分区中,您有两个对象,对象 A 和对象 B。当您将对象添加到存储分区时,您在对象 A 上放置了基于事件的保全,在对象 B 上放置了临时保全。一年过去了,通常您应该可以删除它们,然而因为两个对象仍然存在保全,您无法删除它们中的任何一个。

此时,您可以释放两个对象的保全。对于对象 A,它在存储分区中的时间将归零从头开始计算保留期限。这意味着它必须在存储分区中再保留一年才能被删除或覆盖。而对象 B 可以立即被删除或覆盖,因为临时保全对对象何时达到其保留期限没有影响。

默认的基于事件的保全属性

除了在单个对象上放置保全之外,还可以在存储分区上启用默认的基于事件的属性。启用此属性后,系统将在后续添加到该存储分区的每个新对象上自动放置基于事件的保全。

如果您希望在发生特定事件后让对象在存储分区中保留一段时间,则启用此属性非常有用。例如,您的存储分区可能用于存储贷款,一旦付清,您必须保留一定年限。为您的存储分区启用合适的保留政策和默认的基于事件的保全属性后,当您将贷款文档上传到存储分区时,它会被放置基于事件的保全。当贷款还清时,您可以释放保全,此时保留政策可确保贷款数据保持存储且不可更改,直至其达到保留政策中设置的保留期限。

合规性

美国的金融服务机构(如银行、证券公司和档案管理局)必须遵守电子记录保留要求的规定,包括保留期限、记录格式、记录质量和记录可用性等。具体规定包括:

如果 Google Cloud 的客户确定其适用上述任何规定,应在自己的法律顾问和金融监管人的监督下,根据特定要求完成合规性评估。为帮助您完成评估流程,Google Cloud 聘请了 Cohasset Associates,Inc.("Cohasset")对 Cloud Storage 的合规功能进行独立客观的评估。Cohasset 已确定,经过正确配置的 Cloud Storage 在搭配存储分区锁定功能使用时,可以帮助用户符合 SEC 规则 17a-4 (f)、CFTC 规则 1.31 (c)-(d) 和 FINRA 第 4511 (c) 条等美国记录保留法规的要求。Cloud Storage 的存储分区锁定功能包括集成控制代码,可为您提供 Cloud Storage 上的不可改变的 WORM (一次写入多次读取)存储。如需阅读报告,请点击此处

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Storage
需要帮助?请访问我们的支持页面