Google Cloud Platform 上的数据删除

数据删除视频缩略图

Google Cloud Platform 上的数据删除

概览

首席信息官级别的摘要

  • Google 采用原则性方法来存储和删除客户数据。Google Cloud Platform 旨在实现高级别的速度、可用性、耐用性和一致性,并且必须在针对这些性能属性进行优化的系统设计与实现及时数据删除的需求之间进行仔细权衡。
  • 当您删除客户数据时,Google 的删除流水线首先确认删除请求,然后从活动存储系统和备份存储系统中的应用和存储层,以迭代方式清除数据。Google 的删除和保留声明中概括地介绍了此过程。
  • 逻辑删除分阶段进行,首先立即在活动存储系统中标记要删除的数据,然后将数据与应用层的普通处理隔离开来。Google 存储层中的连续压缩和“标记-清除”删除周期用于覆盖一段时间的已删除数据。加密清除也用于使已删除的数据不可恢复。最后,包含 Google 活动系统快照的备份系统会在标准周期内停用。
  • 应用和存储层中的删除可能会立即发生,具体取决于数据存储的配置方式以及相关存储层和数据中心中正在进行的删除周期的时间。活动系统中的删除通常大约在发出删除请求后的两个月内完成。最后,客户数据将从 Google 的长期备份系统中删除,该系统保留 Google 系统的快照长达六个月(180 天),以防范自然灾害和灾难性事件。

简介

本文档概述了删除存储在 Google Cloud Platform 中的客户数据(根据 Google Cloud Platform 服务条款中的定义)时发生的安全流程。确保在客户数据的生命周期结束时将其安全删除是在任何计算平台上处理数据的基本方面。

在任何承诺高可用性、高速性、从任意位置的可访问性以及防止数据丢失或灾难的耐用性的云平台中处理数据,都需要技术创新,以实现大规模的快速删除。Google 作为设计可处理数万亿数据元素的产品的存储平台的早期参与者,拥有为此任务优化高性能存储系统所需的十多年行业经验。

本白皮书将首先概述客户数据在 Google Cloud Platform 中的存储方式。接下来,我们将介绍 Google 的删除流水线以及在每个阶段完成删除通常所需的时间。最后,我们将介绍如何通过安全的硬件停用和清理过程来防止对存储在我们平台中的数据进行任何重建。

数据存储和复制

为了介绍 Google Cloud Platform 如何删除客户数据,有必要先简要描述数据存储在 Google 基础架构中的运作方式。Google Cloud Platform 提供存储服务,例如 Cloud Bigtable 和 Cloud Spanner。大多数 Google Cloud Platform 应用和服务通过这些 Cloud Storage 服务或 Google 使用的其他内部存储服务间接访问 Google 的存储系统。

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

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

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

在上述所有存储系统中,客户数据在静态存储时加密。Google Cloud 安全性白皮书中详细介绍了 Google 加密技术。静态数据的加密发生在活动和备份存储媒介上的应用和存储层。

安全有效的数据删除

数据删除流水线

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

第 1 阶段 - 删除请求

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

  • 资源删除:可以从 Cloud Console 或通过 API 以多种方式删除包含客户数据的具体资源(如 Google Cloud Storage 存储分区)。例如,客户可以通过命令行发出 remove bucket 或 rm -r 命令来删除存储分区,客户也可以选择一个存储分区,然后将其从 Cloud Storage 浏览器中删除。
  • 项目删除:作为 Google Cloud Platform 项目所有者,您可以关闭项目。删除项目相当于针对与相应 project_number 关联的所有资源的批量删除请求。
  • 帐号删除:当您删除自己的 Google 帐号时,这会删除您单独拥有的所有 Google Cloud Platform 项目。请注意,如果项目有多个所有者,则在从项目中移除所有所有者或删除其 Google 帐号之前,不会删除该项目。这可以确保只要存在所有者,Google Cloud Platform 项目就会继续。

虽然删除请求主要是为客户管理其数据而设计,但 Google 可能会自动发出删除请求,例如当客户终止与 Google 的关系时。

第 2 阶段 - 软删除

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

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

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

第 3 阶段 - 活动系统中的逻辑删除

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

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

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

第 4 阶段 - 备份系统过期

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

备份停用后,会将其标记为可用空间,并在每日/每周/每月执行新的备份时进行覆盖。

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

最后,在包含客户数据的备份过期之前,可能会加密清除已删除的数据。如果没有用于加密特定客户数据的加密密钥,即使在 Google 备份系统的剩余生命周期内,客户数据也将无法恢复。

删除时间轴

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

  • 第 2 阶段 - 发出删除请求后,数据通常会立即标记为删除,我们的目标是在最长 24 小时内执行此步骤。将数据标记为删除后,可能会应用最长 30 天的内部恢复期,具体取决于服务或删除请求。

  • 第 3 阶段 - 完成垃圾回收任务和实现活动系统中的逻辑删除所需的时间。这些过程可能会在收到删除请求后立即发生,具体取决于数据复制级别和正在进行的垃圾回收周期的时间。自收到删除请求起,从活动系统中删除数据通常花费约两个月的时间,这通常足以完成两个主要的垃圾回收周期并确保完成逻辑删除。

  • 第 4 阶段 - Google 备份周期旨在在收到删除请求后的六个月内使数据中心备份中的已删除数据过期。删除可能会在更早时间发生,具体取决于数据复制级别和 Google 正在进行的备份周期的时间。

删除流水线图 图 1:Google Cloud Platform 删除流水线的阶段

确保安全可靠的媒介清理

除了 Google Cloud Platform 的删除流水线之外,严格的媒介清理计划还通过防止物理存储媒介在生命周期结束后受到取证或实验室攻击,提高了删除过程的安全性。

通过在 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”的要求。

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

发送以下问题的反馈:

此网页