Google Cloud 上的数据删除机制

本页内容的上次更新时间为 2024 年 5 月,代表截至本文撰写之时的状况。由于我们会不断改善对客户的保护机制,Google 的安全政策和系统今后可能会发生变化。

此文档概述了当您删除 Google Cloud 中的客户数据时执行的安全流程。根据 Google Cloud 服务条款中的定义,“客户数据”是指客户或最终用户通过其账号下的服务提供给 Google 的数据。

本文档介绍了客户数据如何存储在 Google Cloud 中、删除流水线以及我们如何防止对存储在我们平台中的数据进行任何重构。

如需了解我们的数据删除承诺,请参阅云端数据处理附录(客户)

数据存储和复制

Google Cloud 提供存储服务数据库服务,例如 BigtableSpanner。大多数 Google Cloud 应用和服务都使用这些云服务间接访问 Google 的存储基础设施。

数据复制对于实现低延迟、高可用性、可伸缩且耐用的解决方案至关重要。客户数据的冗余副本可以存储在本地、区域甚至全球,具体取决于您的配置和你项目的需求。对 Google Cloud 中的数据采取的操作可能同时在多个数据中心中复制,从而使客户数据具备高可用性。当硬件、软件或网络环境中发生影响性能的变化时,客户数据会根据客户的配置设置自动从一个系统或设施转移到另一个系统或设施,以便客户项目继续大规模且不间断地提供服务。

在物理存储层级,客户数据静态存储在两种类型的系统中:活跃存储系统和备份存储系统。这两种类型的系统以不同方式处理数据。活跃存储系统是运行 Google 的应用和存储层的 Google Cloud 生产服务器。活跃系统是大规模的磁盘和驱动器阵列,用于写入新数据以及在多个复制的副本中存储和检索数据。活跃存储系统经过优化,可以快速对客户数据执行大规模的实时读写操作。

Google 的备份存储系统可存储指定时间段内 Google 活跃系统的完整副本和增量副本,以帮助 Google 在发生灾难性中断或灾难时恢复数据和系统。与活跃系统不同,备份系统旨在接收 Google 系统的定期快照,备份副本存在时间有限,在新备份副本创建后就会停用。

在上述存储系统中,静态存储的客户数据都会进行加密。如需了解详情,请参阅默认静态加密

数据删除流水线

在 Google Cloud 中存储客户数据后,我们的系统会安全地存储数据,直到数据删除流水线完成其各个阶段。本部分介绍删除阶段。

第 1 阶段:删除请求

在您发起删除请求后,客户数据删除操作就会开始。通常,删除请求会指向特定资源、Google Cloud 项目或您的 Google 账号。删除请求的处理方式可能会有所不同,具体取决于请求的范围:

  • 资源删除:您可以从 Google Cloud 控制台或使用 API 通过多种方式删除包含客户数据的各个资源,例如 Cloud Storage 存储桶。例如,您可以通过命令行发出移除存储桶或 gcloud storage rm 命令以删除存储桶,也可以在 Google Cloud 控制台中选择并删除存储桶。
  • 项目删除:作为 Google Cloud 项目所有者,您可以关闭项目。删除项目相当于批量删除与相应的项目编号关联的所有资源。
  • Google 账号删除:如果您删除自己的 Google 账号,它会删除未与组织关联并由您单独拥有的所有项目。如果非组织项目有多个所有者,则在从项目中移除全部所有者或删除其 Google 账号之前,该项目不会被删除。此流程可确保只要存在所有者,项目就会继续存在。
  • Google Workspace 或 Cloud Identity 账号删除:当您删除 Google Workspace 或 Cloud Identity 账号时,绑定到该 Google Workspace 或 Cloud Identity 账号的组织会被删除。如需了解详情,请参阅删除组织的 Google 账号

您主要使用删除请求来管理自己的数据。但在某些情况下,Google 可以自动发出删除请求,例如当您终止与 Google 的关系时。

第 2 阶段:软删除

软删除是此过程中提供短期内部暂存和恢复期的点,可以帮助确保有时间恢复因意外或错误而被标记为待删除的任何数据。只要恢复期符合 Google 的整体删除时间轴,各 Google Cloud 产品就可以采用和配置此指定恢复期,在该恢复期之后,数据将从底层存储系统中删除。

删除项目时,Google Cloud 首先会识别唯一的项目编号,然后向包含该项目编号的 Google Cloud 产品(例如,Compute Engine 和 Bigtable)广播暂停信号。在这种情况下,Compute Engine 会暂停与该项目编号关联的操作,Bigtable 中的相关表会进入最长 30 天的内部恢复期。在恢复期结束时,Google Cloud 会向同样的产品广播信号,以开始逻辑删除与该唯一项目编号相关的资源。然后,Google 会等待(并在必要时重新广播信号)从适用产品中收集确认信号 (ACK) 以完成项目删除。

关闭 Google 账号后,Google Cloud 可能会强制实行长达 30 天的内部恢复期,具体取决于过去的账号活动。宽限期到期后,会向 Google 产品广播包含已删除的结算账号用户 ID 的信号,并且会将仅与该用户 ID 关联的 Google Cloud 资源标记为删除。

第 3 阶段:活跃系统中的逻辑删除

在数据标记为待删除且恢复期全部过期后,系统将相继从 Google 的活跃存储系统和备份存储系统中删除数据。在活跃系统上,数据通过两种方式删除。

计算存储数据库项目类别下的所有 Google Cloud 产品(Cloud Storage 除外)中,已删除数据的副本都会标记为可用存储,并会随着时间的推移而被覆盖。在活跃存储系统(如 Bigtable)中,已删除的数据会作为条目存储在大规模结构化表中。压缩现有表以覆盖已删除的数据可能产生大量费用,因为这需要重写现有(未删除)数据的表,因此会定期进行“标记-清除”垃圾回收和主要压缩事件,以收回存储空间并覆盖已删除的数据。

在 Cloud Storage 中,还可以通过加密清除来删除客户数据。这是一种行业标准技术,通过删除解密该数据所需的加密密钥,使数据无法读取。使用加密清除的一个优点是,可以在 Google Cloud 的活跃和备份存储系统中覆盖所有已删除的数据块之前完成逻辑删除操作,无论是由 Google 还是由客户提供加密密钥,都是如此。

第 4 阶段:备份系统过期

与从 Google 的活跃系统中删除类似,从备份系统中消除已删除的数据将同时使用覆盖和加密技术。但是,对于备份系统,客户数据通常存储在活跃系统的大型聚合快照中,这些快照会在静态时间段内保留,确保在发生灾难(例如,影响整个数据中心的中断)且必须花费时间和费用从备份系统完全恢复系统时,维持业务连续性。遵循合理的业务连续性做法,按照每日、每周和每月的周期截取活跃系统的完整和增量快照,并在预定义的时段后停用,以便为最新的快照腾出空间。

备份弃用后会被标记为可用空间,并在每日、每周或每月执行新的备份时进行覆盖。

请注意,任何合理的备份周期都会在备份系统中传播数据删除请求时实施预定义的延迟。从活跃系统中删除客户数据时,不再将其复制到备份系统中。删除前执行的备份会根据预定义的备份周期定期过期。

最后,在包含客户数据的备份过期之前,已删除的数据可能进行加密清除。如果没有用于加密特定客户数据的加密密钥,客户数据将无法恢复,即使数据在 Google 备份系统上的生命周期尚未结束也不例外。

删除时间轴

Google Cloud 旨在实现高级别的速度、可用性、耐用性和一致性。针对这些性能属性进行了优化的系统在设计时必须进行周密平衡,兼顾到及时删除数据的需求。Google Cloud 承诺在最长大约六个月(180 天)内删除客户数据。此承诺包含上述 Google 删除流水线的各个阶段,包括:

  • 第 2 阶段:发出删除请求后,数据通常会立即标记为删除,我们的目标是在最长 24 小时内执行此步骤。将数据标记为删除后,可能会应用最长 30 天的内部恢复期,具体取决于服务或删除请求。
  • 第 3 阶段:完成垃圾回收任务和实现活跃系统中的逻辑删除所需的时间。这些过程可能会在收到删除请求后立即发生,具体取决于数据复制级别和正在进行的垃圾回收周期的时间。在删除请求发出后,从活跃系统中删除数据一般要花费约两个月的时间,这通常足以完成两个主要的垃圾回收周期并确保完成逻辑删除。
  • 第 4 阶段:Google 备份周期设计为在收到删除请求后的六个月内使数据中心备份中的已删除数据过期。删除可能会在更早时间发生,具体取决于数据复制级别和 Google 的进行中备份周期的时间点。

下图显示了 Google Cloud 的删除流水线的各个阶段,以及从活跃系统和备份系统中清除数据的时间。

删除流水线示意图。

确保安全可靠的媒介清理

严格的媒介清理计划可防范物理存储媒介在生命周期结束后遭受取证或实验室攻击,从而提高删除过程的安全性。

使用在 Google 资产数据库中跟踪的条形码和资产标签,Google 细致地跟踪数据中心内所有存储设备在获取、安装、停用和销毁各环节的位置和状态。我们使用生物识别、金属探测、摄像头、车辆栏障和激光入侵检测系统等各种技术防止设备在未经授权的情况下离开数据中心。 如需了解详情,请参阅 Google 基础设施安全设计概览

物理存储媒介可能会由于各种原因而停用。如果某个组件在其生命周期中的任何时间点未能通过性能测试,则会从库存中删除该组件并停用。Google 还会升级过时的硬件,以提高处理速度和能源效率,或增加存储容量。无论硬件是由于故障、升级还是任何其他原因停用,我们都会使用恰当的保护措施停用存储媒介。Google 硬盘使用完整磁盘加密 (FDE) 和驱动器锁定等技术来帮助保护停用期间的静态数据。当硬盘停用时,经授权的人员会用零来覆盖驱动器,并执行多步验证流程来确保驱动器不含任何数据,从而验证磁盘已经清空。

如果由于任何原因无法清空存储媒介,我们会将其安全存储直至可以物理销毁为止。我们可以压碎驱动器使其变形,或将其粉碎成小块,具体方式取决于可用设备。这两种方式都可以在安全设施中回收磁盘,确保没有人能够读取已停用的 Google 磁盘上的数据。每个数据中心都会遵守严格的处置政策,并使用上述方式遵循 NIST SP 800-88 修订版 1《Guidelines for Media Sanitization》DoD 5220.22-M《National Industrial Security Program Operating Manual》的要求。