数据驻留概览

本主题简要介绍如何使用 Cloud SQL 强制执行数据的数据驻留要求。

数据驻留是指数据的物理位置以及适用于数据的当地法规。

在传统的本地环境中,数据驻留由各种组件集成和处理。例如,一家公司可以托管作为云访问安全代理 (CASB) 的令牌化网关,在应用数据传输到海外之前对其进行保护。在 Google Cloud 上,数据驻留由各种 Google Cloud 服务(包括 Cloud SQL)处理。

对 Google Cloud 而言,支持数据驻留非常重要,因为地理位置对于隐私的重要性在不断提高。通过确保遵循区域隐私权的差异,数据驻留可帮助改善您客户的区域隐私权。

云计算中的数据驻留

下面列出了一些您应该了解的数据驻留问题:

  • 如果公司的用户不知道数据的物理位置,那么他们也就不知道当地的法规。为了能够研究每个位置的数据驻留政策,用户需要知道数据中心的位置。
  • 公司的用户和提供商可以通过服务等级协议 (SLA) 来确定允许的位置。但是,如果您的数据必须存储在不同于 SLA 条款规定的区域,该怎么办?
  • 用户必须确保自己的数据以及在其云项目中使用的所有服务和资源都遵循托管国家/地区的数据驻留法规。
    • 如果您想要决定在何处存储数据和加密密钥,应该怎么做?
    • 如果您想要确定用户可以从哪些位置访问您的数据,会发生什么情况?

Google Cloud 服务(包括 Cloud SQL)允许您通过以下方法解决其中一些问题:

  • 设置数据的存储位置。您可以在创建 Cloud SQL 实例时选择区域,也可以通过修改现有实例来修改区域。
  • 使用 Cloud SQL 的跨区域读取副本功能,确保符合指定区域的数据驻留标准。
  • 控制用户可以访问数据的网络位置,以及控制云端管理员对此数据的访问权限。

通过 Cloud SQL 的上述功能,您可以控制数据的位置以及 Google 或任何用户对这些数据的访问权限。

Cloud SQL 可以在以下三个方面帮助您应对数据驻留的挑战:

以下部分详细介绍了每一个方面。

存储数据

数据驻留涉及将个人身份信息 (PII) 存储在特定区域,并按照该区域的法规处理该数据。

存储数据包括遵守一个国家/地区的法律和监管要求,例如数据存放区域法律。例如,某个国家/地区可能要求必须将与政府相关的所有数据存储在该国家/地区。或者,合同规定公司要将部分客户的数据存储在另一个国家/地区。因此,满足存储数据的国家/地区的数据驻留要求是必不可少的。

使用 Google Cloud,您可以配置数据的存储位置,包括备份的存储位置。这包括允许您选择存储数据的区域。当您选择在这些区域中为 Cloud SQL 配置资源时,Google 会根据服务专用条款将您的静态数据仅存储在这些区域中。您可以在创建实例时选择区域,也可以通过修改现有实例来修改区域。

如需详细了解备份位置,请参阅自定义备份位置

您可以使用组织政策限制条件在组织、项目或文件夹级层强制执行数据驻留要求。通过这些限制条件,您可以定义允许用户为受支持的服务创建资源的 Google Cloud 位置。对于数据驻留,您可以使用资源位置限制条件来限制新资源的物理位置。您还可以微调限制条件的政策,将多区域(例如 asiaeurope)或单区域(例如 us-east1europe-west1)指定为允许或拒绝的位置。

可以帮助您强制执行数据驻留的另一个功能是 VPC Service Controls。借助 VPC Service Controls,您可以使用 Cloud SQL Admin API 或 Cloud Storage API 来限制使用 Cloud SQL API 导入和导出数据。此限制可确保数据保留在您选择的网络位置中。您可以使用 VPC Service Controls 创建服务边界,从而定义可以从中访问服务的虚拟边界,防止数据移动到这些边界之外。即使用户根据您的 Google Cloud IAM 政策获得授权,您也可以强制执行此限制条件。

加密数据

Google Cloud 服务(包括 Cloud SQL)使用多种加密方法对静态和传输中的客户内容进行加密。加密工作会自动执行,无需客户采取任何操作。

Cloud SQL 还允许您使用客户管理的加密密钥 (CMEK) 为数据添加另一层加密。如果组织具有敏感数据或受监管数据并且这些数据需要组织管理自己的加密密钥,则 CMEK 就很适合该组织。借助 CMEK 功能,您可以使用自己的加密密钥加密 Cloud SQL 中的静态数据。添加 CMEK 后,只要发出 API 调用,Cloud SQL 就会使用您的密钥来访问数据。

如果您希望将 CMEK 存储在您服务的部署区域,则可以使用 Cloud Key Management Service (Cloud KMS)。您可以在创建密钥时设置密钥位置。或者,如需将这些密钥存储在位于所选区域的物理硬件安全模块 (HSM) 中,请使用 Cloud HSM

选择 CMEK 存储位置的另一个方法是使用第三方产品。如需在 Google 基础架构外部部署的第三方密钥管理产品中存储和管理密钥,您可以使用 Cloud External Key Manager (Cloud EKM)

访问数据

借助 Cloud SQL,您可以控制哪些用户可以访问您的数据。

如需控制 Google 支持和工程人员的访问权限,请使用 Access Approval。通过 Access Approval,您可以要求 Google 员工先获得您的明确批准,然后才能访问您在 Google Cloud 上的数据或配置(如需了解排除项,请参阅 Access Approval 排除项)。

Access Approval 是对 Access Transparency 提供的公开范围的补充,后者可在 Google 管理员与您的数据交互时生成近乎实时的审核日志。审核日志包括管理员的办公地点和访问原因。此外,您还可以针对允许访问您的数据或配置的管理员强制执行特定的属性,包括他们运营的地理区域以及其他与合规性相关的属性。

最后,Key Access Justifications 可与 Cloud KMS 和 Cloud EKM 无缝搭配使用。每次请求密钥用于加密或解密数据时,Key Access Justifications 都会提供详细的理由,同时提供一个机制,允许您通过您设置的自动化政策来批准或拒绝密钥访问。

通过将 Access Approval、Access Transparency 和 Key Access Justifications 与 Cloud KMS 和 Cloud EKM 搭配使用,您可以拒绝 Google 解密您的数据。因此,您可以完全控制对您的数据的访问权限。

综合应用

Google Cloud 及其服务(包括 Cloud SQL)协同工作,使您可以控制数据的位置以及 Google 或任何用户对这些数据的访问权限。解决这些考虑事项后,您可以放心地在 Google Cloud 上构建任务关键型工作负载。