数据驻留简介

本文档介绍 Apigee 的数据驻留。

概览

对于许多垂直行业和企业而言,使用云产品可以提高安全和合规性团队的审查力度(哪些数据存储在云端、在哪些位置存储、谁有权访问数据以及谁可以查看数据等)。除此之外,许多国家/地区已经通过了数据隐私法,该法令禁止将个人身份信息 (PII) 数据存储在本国家/地区之外。

Apigee 的数据驻留允许指定存储 Apigee 数据的地理位置(区域),以满足合规性和监管要求。过去,Apigee 允许您选择实例区域和分析区域:但是,Apigee 还具有全球基础架构,例如 API 代理软件包或其他客户数据。使用数据驻留时,选择控制平面位置可确保所有客户内容存储在指定区域内。

Apigee 正在获得 FedRAMP 高级认证和其他认证。Apigee 从工程方面实现了区域化堆栈,但在实际认证获得批准之前,无法在合同上保证数据驻留。

数据驻留兼容性

数据驻留可用于:

目前不支持将数据驻留用于:

要点

如果为 Apigee 安装启用数据驻留,请注意以下要点:

  • 必须在预配 Apigee 时启用数据驻留。您无法为已预配的组织启用数据驻留。
  • 默认情况下,除非您在创建 Apigee 组织时选择数据驻留(区域化),否则控制平面是全球实体;它在以后不能更改。数据驻留和控制平面位置一经选择便无法更改。如果您稍后需要其他位置,则需要创建新的 Google Cloud 项目。
  • 预配组织时:
    • 无数据驻留:使用 ANALYTICS_REGION 指定区域。
    • 有数据驻留:使用 CONTROL_PLANE_LOCATION 指定区域,使用 CONSUMER_DATA_REGION 指定子区域。请参阅数据驻留区域
  • 预配 Apigee 的管理员必须:
    • 告知 Apigee 用户(例如 API 开发者和其他管理员)关于数据驻留配置的信息
    • 按照限制资源位置中的说明设置位置组织政策
  • Apigee Management API 的 API 开发者、管理员或其他用户必须使用新数据驻留 API 服务端点

数据驻留区域

通过数据驻留,您可以在预配期间选择存储数据的位置(物理位置)。

指定区域(例如 us)时,您还必须为只能在单区域运行的其他服务(例如 Analytics 报告)指定单个区域(例如 us-west1)。

所有资源都必须在指定的区域内。例如,如果您为 CONTROL_PLANE_LOCATION 选择 us,则其他 Apigee 资源(例如运行时实例、引用 CMEK、端点连接等)也必须位于 us 区域内。

选择数据驻留时存储的数据的类型称为控制平面数据和使用方数据。

控制平面数据是分析数据、API 代理、目标服务器、truststore 和密钥库,以及在各运行时共享的任何其他内容。使用方数据是由单个区域中运行的服务处理的分析数据。

如需了解当前支持的控制平面区域,请参阅 Apigee 位置

数据驻留服务端点

服务端点是指定 API 服务的网络地址的基础网址。

Apigee API 服务端点(主机名)为 apigee.googleapis.com

  • 无数据驻留:

    使用服务端点,如下所示:

    apigee.googleapis.com

    例如:

    curl "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID" ...

  • 数据驻留

    将控制平面区域添加到服务端点前面:

    CONTROL_PLANE_LOCATION-apigee.googleapis.com

    例如:

    curl "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID" ...

    其中,CONTROL_PLANE_LOCATION 是预配期间指定的物理位置,Apigee 控制平面数据将存储在该位置。

    例如:

    curl "https://us-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID" ...

如何查看区域

如果您已预配组织 (PROJECT_ID) 以用于数据驻留,则可以使用 getProjectMapping API 显示与项目关联的区域:

  1. 授权 gcloud 使用您的 Google 用户凭据访问 Cloud Platform:
    gcloud auth login
  2. 调用 API:
    curl -X GET https://apigee.googleapis.com/v1/organizations/PROJECT_ID:getProjectMapping \
        -H "Authorization: Bearer $(gcloud auth print-access-token)"

    其中,PROJECT_ID 是您的 Apigee 组织名称或 Google Cloud 项目 ID。

    将会返回类似如下的内容:

    {
      "organization": "my-project",
      "projectIds": [
        "my-project"
      ],
      "projectId": "my-project"
      "location": "us"
    }

数据驻留加密

请参阅 CMEK 简介

数据驻留和组织政策限制条件

借助 Google Cloud 的组织政策限制条件,您可以定义一组位置,在这些位置上,能够为您的 Google Cloud 组织创建基于位置的 Google Cloud 资源。如果您的 Google Cloud 组织政策使用资源位置限制条件 (constraints/gcp.resourceLocations),则该限制条件将应用于预配 Apigee 时创建的以下 Apigee 资源:

如果您要在应用了资源位置限制条件的 Google Cloud 项目中预配新的 Apigee 组织,则必须确保该位置限制条件与为 Apigee 组织指定的控制平面位置相兼容:

  • 如果您在没有数据驻留的情况下预配 Apigee 组织,则 Google Cloud 组织政策中的资源位置限制条件必须设置为 global由于 Apigee 控制平面默认是全局实体,因此在应用 global 以外的限制条件时,预配将失败。
  • 如果您在具有数据驻留的情况下预配 Apigee 组织,请确认 Google Cloud 组织政策中可能设置的任何资源位置限制条件不会排除您为控制平面数据选择的区域。否则,预配将失败。