部署企业数据管理和分析平台

Last reviewed 2025-04-04 UTC

企业数据管理和分析平台可提供一个孤岛,您可以在其中存储、分析和处理敏感信息,同时保持安全控制。您可以使用企业数据网格架构在 Google Cloud 上部署一个平台,以进行数据管理和分析。该架构专为在混合环境中运行而设计,其中组件与现有的本地组件和操作流程进行交互。 Google Cloud

企业数据网格架构包括以下内容:

  • 包含一组 Terraform 配置、脚本和代码的 GitHub 代码库,用于构建以下内容:
    • 治理项目,可让您使用 Google 对云数据管理功能 (CDMS) 主要控制措施框架的实现
    • 支持交互式和生产工作流的数据平台示例。
    • 数据平台中支持多个数据领域的生产方环境。数据网域是数据元素的逻辑分组。
    • 数据平台中支持多个使用方项目的使用方环境。
    • 这项数据传输服务使用 Workload Identity Federation 和 Tink 加密库,可帮助您以安全的方式将数据传输到 Google Cloud 。
    • 包含注入项目、非机密项目和机密项目的数据域示例。
    • 数据访问系统示例:数据使用方请求访问数据集,数据所有者授予对这些数据集的访问权限。该示例还包含一个工作流管理器,用于相应地更改这些数据集的 IAM 权限。
  • 使用此架构实现的架构、设计、安全控制和操作流程的指南(本文档)。

企业数据网格架构旨在与企业基础蓝图兼容。企业基础蓝图提供了此架构所依赖的许多基本级层服务,例如 VPC 网络和日志记录。如果您的Google Cloud 环境提供必要功能,那么您可以部署此架构,而无需部署企业基础蓝图。

本文档适用于可以使用此架构在 Google Cloud上构建和部署全面数据服务的云架构师、数据科学家、数据工程师和安全架构师。本文档假定您熟悉数据网格、 Google Cloud数据服务以及 CDMC 框架的 Google Cloud 实现

架构

企业数据网格架构采用分层方法,提供支持数据注入、数据处理和治理的功能。此架构旨在通过 CI/CD 工作流进行部署和控制。下图显示了此架构部署的数据层与环境中的其他层之间的关系。

数据网格架构。

该图包含以下部分:

  • Google Cloud 基础架构提供静态加密传输中加密等安全功能,以及计算和存储等基本构建块。
  • 企业基础为您提供身份、网络、日志记录、监控和部署系统等资源基准,让您能够采用 Google Cloud 来处理数据工作负载。
  • 数据层提供各种功能,例如数据注入、数据存储、数据访问权限控制、数据治理、数据监控和数据共享。
  • 应用层代表使用数据层资产的各种不同应用。
  • CI/CD 提供了多种工具,可自动预配、配置、管理和部署基础架构、工作流和软件组件。这些组件可帮助您确保一致、可靠且可审核的部署;最大限度地减少手动错误;加快整个开发周期。

为展示数据环境的使用方式,架构中包含一个数据工作流示例。示例数据工作流将引导您完成以下流程:数据治理、数据注入、数据处理、数据共享和数据使用。

关键架构决策

下表总结了架构的概要决策。

决策区域 决定
Google Cloud 架构

资源层次结构

该架构使用企业基础蓝图中的资源层次结构

网络

该架构包含一个使用工作负载身份联合和 Tink 库的数据传输服务示例。

角色和 IAM 权限

该架构包括细分的“数据生产者”角色、“数据使用方”角色、“数据治理”角色和“数据平台”角色。

常见数据服务

元数据

该架构使用 Data Catalog 来管理数据元数据。

集中式政策管理

如需管理政策,该架构使用 Google Cloud对 CDMC 框架的实现。

数据访问权限管理

为了控制对数据的访问权限,该架构包含一个独立流程,要求数据使用方向数据所有者请求对数据资产的访问权限。

数据质量

该架构使用 Cloud Data Quality Engine 在指定的表列上定义和运行数据质量规则,并根据正确性和完整性等指标衡量数据质量。

数据安全

该架构使用标记、加密、遮盖、标记化和 IAM 控制措施来确保数据安全。

数据领域

数据环境

该架构包含三个环境。两个环境(非生产环境和生产环境)是受流水线驱动的运营环境。其中一个环境(开发环境)是交互式环境。

数据所有者

数据所有者注入、处理、公开和授予对数据资产的访问权限。

数据使用方

数据使用方请求访问数据资产。

新手入门和运维

流水线

该架构使用以下流水线来部署资源:

  • 基础流水线
  • 基础架构流水线
  • 工件流水线
  • Service Catalog 渠道

代码库

每个流水线使用单独的代码库,以便分离职责。

过程流

该流程要求对生产环境进行的更改必须包含提交者和审批人。

Cloud Operations

数据产品统计信息摘要图表

报告引擎会生成数据产品统计信息摘要。

Cloud Logging

该架构使用企业基础蓝图中的日志记录基础架构

Cloud Monitoring

该架构使用企业基础蓝图中的监控基础架构。

身份:将角色映射到群组

数据网格利用企业基础蓝图的现有身份生命周期管理、授权和身份验证架构。用户不会直接分配角色;群组是在 IAM 中分配角色和权限的主要方法。IAM 角色和权限在创建项目期间通过基础架构流水线进行分配。

数据网格会将组与以下四个关键领域之一相关联:基础架构数据治理基于网域的数据生产方基于网域的使用方

这些组的权限范围如下:

  • 基础架构组的权限范围是整个数据网格。
  • 数据治理组的权限范围为数据治理项目。
  • 基于网域的提供方和使用方权限的范围仅限于其数据网域。

下表显示了此数据网格实现中使用的各种角色及其关联的权限。

基础架构

群组 说明 角色

data-mesh-ops@example.com

数据网格的总体管理员

roles/owner(数据平台)

数据治理

群组 说明 角色

gcp-dm-governance-admins@example.com

数据治理项目的管理员

数据治理项目的 roles/owner

gcp-dm-governance-developers@example.com

构建和维护数据治理组件的开发者

数据治理项目中的多个角色,包括 roles/viewer、BigQuery 角色和 Data Catalog 角色

gcp-dm-governance-data-readers@example.com

数据治理信息的读者

roles/viewer

gcp-dm-governance-security-administrator@example.com

治理项目的安全管理员

roles/orgpolicy.policyAdminroles/iam.securityReviewer

gcp-dm-governance-tag-template-users@example.com

有权使用标记模板的群组

roles/datacatalog.tagTemplateUser

gcp-dm-governance-tag-users@example.com

有权使用代码模板和添加代码的群组

roles/datacatalog.tagTemplateUserroles/datacatalog.tagEditor

gcp-dm-governance-scc-notifications@example.com

Security Command Center 通知的服务账号群组

无。这是成员群组,系统会使用此名称创建一个具有必要权限的服务账号。

基于领域的数据生产者

群组 说明 角色

gcp-dm-{data_domain_name}-admins@example.com

特定数据领域的管理员

针对数据网域项目的 roles/owner

gcp-dm-{data_domain_name}-developers@example.com

负责在数据领域内构建和维护数据产品的开发者

数据网域项目中的多个角色,包括 roles/viewer、BigQuery 角色和 Cloud Storage 角色

gcp-dm-{data_domain_name}-data-readers@example.com

数据网域信息的读者

roles/viewer

gcp-dm-{data_domain_name}-metadata-editors@{var.domain}

Data Catalog 条目的编辑者

用于修改 Data Catalog 条目的角色

gcp-dm-{data_domain_name}-data-stewards@example.com

数据域的数据管理员

用于管理元数据和数据治理方面的角色

基于域的数据使用方

群组 说明 角色

gcp-dm-consumer-{project_name}-admins@example.com

特定使用方项目的管理员

使用方项目的 roles/owner

gcp-dm-consumer-{project_name}-developers@example.com

在使用方项目中工作的开发者

使用方项目中的多个角色,包括 roles/viewer 和 BigQuery 角色

gcp-dm-consumer-{project_name}-data-readers@example.com

使用方项目信息的读取者

roles/viewer

组织结构

为了区分生产操作和生产数据,该架构使用不同的环境来开发和发布工作流。生产环境操作包括工作流的治理、可追溯性和可重复性,以及工作流结果的可审核性。生产环境数据是指您运营组织时可能需要的敏感数据。所有环境都设计有安全控制功能,可让您注入和操作数据。

为了帮助数据科学家和工程师,该架构包含一个交互式环境,开发者可以在其中直接与环境交互,并通过精选的解决方案目录添加服务。操作环境由流水线驱动,这些流水线具有编码化的架构和配置。

此架构使用企业基础蓝图的组织结构作为部署数据工作负载的基础。下图展示了企业数据网格架构中使用的顶级文件夹和项目。

数据网格组织结构。

下表介绍了架构中的顶级文件夹和项目。

文件夹 组件 说明

common

prj-c-artifact-pipeline

包含用于构建架构的代码工件部署流水线。

prj-c-service-catalog

包含 Service Catalog 用于在交互式环境中部署资源的基础设施。

prj-c-datagovernance

包含 Google Cloud实现 CDMC 框架所使用的所有资源。

development

fldr-d-dataplatform

包含数据平台的项目和资源,用于在交互模式下开发使用情形。

non-production

fldr-n-dataplatform

包含数据平台的项目和资源,用于测试您要在运营环境中部署的用例。

production

fldr-p-dataplatform

包含要部署到生产环境的数据平台的项目和资源。

数据平台文件夹

“数据平台”文件夹包含所有数据平面组件和一些 CDMC 资源。此外,“数据平台”文件夹和“数据治理”项目包含 CDMC 资源。下图展示了在数据平台文件夹中部署的文件夹和项目。

数据平台文件夹

每个数据平台文件夹都包含一个环境文件夹(生产、非生产和开发)。下表介绍了每个数据平台文件夹中的文件夹。

文件夹 说明

制作者

包含数据网域。

使用者

包含使用方项目。

数据域

包含与特定网域关联的项目。

Producers 文件夹

每个生产者文件夹包含一个或多个数据领域。数据领域是指具有共同含义、用途或业务背景的数据元素的逻辑分组。借助数据网域,您可以对组织中的数据资产进行分类和整理。下图展示了数据网域的结构。该架构会在数据平台文件夹中为每个环境部署项目。

producers 文件夹。

下表介绍了在每个环境的数据平台文件夹中部署的项目。

项目 说明

提取

提取项目会将数据提取到数据网域。该架构提供了一些示例,说明如何将数据流式传输到 BigQuery、Cloud Storage 和 Pub/Sub。提取项目还包含 Dataflow 和 Cloud Composer 示例,您可以使用这些示例来编排提取数据的转换和移动。

非机密

非机密项目包含已去标识化的数据。您可以对数据进行掩蔽、容器化、加密、令牌化或混淆处理。使用政策标记控制数据的呈现方式。

机密

机密项目包含明文数据。您可以通过 IAM 权限控制访问权限。

消费者文件夹

使用方文件夹包含使用方项目。使用方项目提供了一种机制,可根据数据用户所需的信任边界对其进行细分。每个项目都会分配给一个单独的用户群组,并且该群组会按项目分配对所需数据资产的访问权限。您可以使用使用方项目收集、分析和补充该组的数据。

公用文件夹

“common”文件夹包含不同环境和项目使用的服务。本部分介绍了添加到公共文件夹中以实现企业数据网格的功能。

CDMC 架构

该架构使用 CDMC 架构进行数据治理。数据治理函数位于通用文件夹中的数据治理项目中。下图展示了 CDMC 架构的组件。图中的数字代表通过 Google Cloud服务处理的主要控制措施。

CDMC 架构。

下表介绍了企业数据网格架构使用的 CDMC 架构组件。

CDMC 组件 Google Cloud 服务 说明
访问权限和生命周期组件

密钥管理

Cloud KMS

这项服务可安全地管理用于保护敏感数据的加密密钥。

记录管理器

Cloud Run

一种应用,用于维护数据处理活动的全面日志和记录,确保组织能够跟踪和审核数据使用情况。

归档政策

BigQuery

包含数据存储政策的 BigQuery 表。

使用权

BigQuery

一个 BigQuery 表,用于存储有关哪些人可以访问敏感数据的信息。此表可确保只有获得授权的用户才能根据其角色和权限访问特定数据。

扫描组件

数据丢失

敏感数据保护

用于检查资源是否包含敏感数据的服务。

DLP 发现结果

BigQuery

用于在数据平台中编目数据分类的 BigQuery 表。

政策

BigQuery

包含一致数据治理做法(例如数据访问类型)的 BigQuery 表。

账单导出

BigQuery

用于存储从 Cloud Billing 导出的费用信息的表,以便分析与数据资产关联的费用指标。

Cloud Data Quality Engine

Cloud Run

用于针对表和列运行数据质量检查的应用。

数据质量发现结果

BigQuery

一个 BigQuery 表,用于记录在定义的数据质量规则与数据资产的实际质量之间发现的差异。

报告组件

调度器

Cloud Scheduler

用于控制 Cloud Data Quality Engine 的运行时间和敏感数据保护检查时间的服务。

报告引擎

Cloud Run

用于生成报告的应用,可帮助跟踪和衡量对 CDMC 框架控制措施的遵从情况。

发现结果和资产

BigQuery 和 Pub/Sub

一份 BigQuery 报告,其中列出了数据管理控制方面的差异或不一致之处,例如缺少标记、分类不正确或存储位置不合规。

代码导出

BigQuery

一个 BigQuery 表,其中包含从 Data Catalog 中提取的标记信息。

其他组件

政策管理

组织政策服务

一种服务,用于定义和强制执行数据可在哪些地理位置存储的限制。

基于属性的访问权限政策

Access Context Manager

这项服务可定义和强制执行基于属性的精细访问权限政策,以便只有位于允许的位置和设备且已获授权的用户才能访问敏感信息。

元数据

Data Catalog

用于存储数据网格中正在使用的表的元数据信息的服务。

Tag Engine

Cloud Run

用于向 BigQuery 表中的数据添加标记的应用。

CDMC 报告

Looker Studio

信息中心,可让分析师查看由 CDMC 架构引擎生成的报告。

CDMC 实现

下表介绍了该架构如何在 CDMC 框架中实现关键控制措施。

CDMC 控制要求 实现

数据控制合规性

报告引擎会检测不合规的数据资产,并将发现结果发布到 Pub/Sub 主题。这些发现也会加载到 BigQuery 中,以便使用 Looker Studio 生成报告。

为迁移的数据和云生成的数据确立数据所有权

Data Catalog 会自动从 BigQuery 中提取技术元数据。Tag Engine 会应用参考表中的业务元数据标记(例如所有者名称和敏感性级别),以确保所有敏感数据都带有所有者信息标记,从而确保合规。此自动标记流程可识别敏感数据并为其添加适当的所有者信息,从而帮助实现数据治理和合规性。

数据获取和使用受自动化治理和支持

如果数据资产是权威来源,Data Catalog 会为其添加 is_authoritative 标记,以便对其进行分类。Data Catalog 会自动将这些信息以及技术元数据存储在数据寄存器中。Report Engine 和 Tag Engine 可以使用 Pub/Sub 验证和报告权威来源的数据注册表。

数据主权和跨边界数据移动得到管理

组织政策服务定义了数据资产的允许存储区域,而 Access Context Manager 会根据用户位置限制访问权限。Data Catalog 将已获批准的存储位置存储为元数据标记。报告引擎会将这些代码与 BigQuery 中数据资产的实际位置进行比较,并使用 Pub/Sub 将任何差异发布为发现结果。如果数据存储或访问的位置不在定义的政策范围内,Security Command Center 会生成漏洞发现结果,从而提供额外的监控层。

数据目录已实现、使用和互操作

Data Catalog 会存储和更新所有 BigQuery 数据资产的技术元数据,从而有效创建一个持续同步的 Data Catalog。Data Catalog 可确保将所有新表或修改后的表和视图立即添加到目录中,从而维护最新的数据资产清单。

数据分类得到定义和使用

敏感数据保护功能可检查 BigQuery 数据并识别敏感信息类型。然后,系统会根据分类参考表对这些发现进行排名,并在 Data Catalog 中将最高敏感度级别分配为列级和表级标记。每当添加新数据资产或修改现有数据资产时,Tag Engine 都会使用敏感性标签更新 Data Catalog,以便管理此流程。此流程可确保根据敏感性不断更新数据分类,您可以使用 Pub/Sub 和集成的报告工具监控和生成报告。

数据权限得到管理、实施和跟踪

BigQuery 政策标记可在列级控制对敏感数据的访问权限,确保只有获授权的用户可以根据其分配的政策标记访问特定数据。IAM 管理对数据仓库的整体访问权限,而 Data Catalog 存储敏感性分类。系统会定期进行检查,以确保所有敏感数据都具有相应的政策标记,并使用 Pub/Sub 报告任何差异以进行补救。

数据的道德访问、使用情况和结果得到管理

提供方和使用方的所有数据共享协议都存储在专用 BigQuery 数据仓库中,以控制使用目的。Data Catalog 会使用提供方协议信息为数据资产添加标签,而使用方协议会与 IAM 绑定相关联,以便进行访问权限控制。查询标签会强制执行使用目的,要求使用方在查询敏感数据时指定有效的使用目的,系统会根据其在 BigQuery 中的权限对此进行验证。BigQuery 中的审核跟踪记录会跟踪所有数据访问,并确保遵守数据共享协议。

数据受到保护,控制措施得到证明

Google 的默认静态加密功能有助于保护存储在磁盘上的数据。Cloud KMS 支持客户管理的加密密钥 (CMEK),以实现增强型密钥管理。BigQuery 会实现列级动态数据脱敏,以实现去标识化,并支持在数据注入期间进行应用级脱敏。Data Catalog 会存储用于对数据资产应用的加密和去标识化技术的元数据标记。自动化检查可确保加密和去标识方法符合预定义的安全政策,并将任何差异报告为使用 Pub/Sub 的发现。

数据隐私框架得到定义和运作

Data Catalog 会为敏感数据资产添加影响评估的相关信息标记,例如主题位置和评估报告链接。Tag Engine 会根据数据敏感性和 BigQuery 中的政策表(该表会根据数据和主题的所在地定义评估要求)应用这些标记。通过此自动标记流程,您可以持续监控和报告是否符合影响评估要求,确保在必要时进行数据保护影响评估 (DPIA) 或保护影响评估 (PIA)。

数据生命周期得到规划和管理

Data Catalog 会使用保留政策为数据资产添加标签,指定保留期限和到期操作(例如归档或清除)。Record Manager 会根据定义的标记自动清除或归档 BigQuery 表,从而强制执行这些政策。这种强制执行可确保遵守数据生命周期政策并保持符合数据保留要求,系统会使用 Pub/Sub 检测并报告任何差异。

数据质量得到管理

Cloud Data Quality Engine 会针对指定的表列定义并运行数据质量规则,并根据准确性和完整性等指标衡量数据质量。这些检查的结果(包括成功百分比和阈值)会作为标记存储在 Data Catalog 中。通过存储这些结果,您可以持续监控和报告数据质量,并使用 Pub/Sub 将任何问题或偏离可接受阈值的情况发布为发现结果。

费用管理原则得到确立和应用

Data Catalog 会存储数据资产的费用相关指标,例如查询费用、存储费用和数据出站流量费用,这些指标是使用从 Cloud Billing 导出到 BigQuery 的结算信息计算得出的。通过存储与费用相关的指标,您可以全面跟踪和分析费用,确保遵守费用政策并高效利用资源,并使用 Pub/Sub 报告任何异常情况。

数据来源和沿袭得到了解

Data Catalog 的内置数据沿袭功能可跟踪数据资产的来源和沿袭,以直观的方式呈现数据流。此外,数据注入脚本会在 Data Catalog 中识别并标记数据的原始来源,从而增强数据可追溯到其来源的可追溯性。

数据访问权限管理

该架构对数据的访问权限通过一个独立进程进行控制,该进程将操作控制(例如运行 Dataflow 作业)与数据访问权限控制分离开来。用户对 Google Cloud 服务的访问权限由环境或运营问题定义,并由云工程团队预配和批准。用户对 Google Cloud 数据资产(例如 BigQuery 表)的访问权限是隐私、监管或治理方面的一项重要问题,受生产方和使用方之间的访问权限协议约束,并通过以下流程进行控制。下图展示了如何通过不同软件组件的交互来预配数据访问权限。

数据访问权限管理

如上图所示,数据访问的初始配置由以下流程处理:

  • Cloud Data Catalog 会收集和清点云数据资产。
  • 工作流程管理器会从 Data Catalog 检索数据资产。
  • 数据所有者已加入工作流管理器。

数据访问管理的运作方式如下:

  1. 数据使用方请求获取特定素材资源。
  2. 系统会向资源的数据所有者发送有关该请求的提醒。
  3. 数据所有者批准或拒绝该请求。
  4. 如果请求获得批准,工作流程管理器会将组、素材资源和关联的代码传递给 IAM 映射器。
  5. IAM 映射器会将工作流管理器标记转换为 IAM 权限,并向指定群组授予数据资产的 IAM 权限。
  6. 当用户想要访问数据资产时,IAM 会根据群组的权限评估对 Google Cloud 资产的访问权限。
  7. 如果获得许可,用户可以访问数据资产。

网络

数据安全流程从源应用启动,该应用可能位于本地或目标Google Cloud 项目之外的其他环境中。在发生任何网络传输之前,此应用会使用 Workload Identity 联合对自身进行安全身份验证,以便与 Google Cloud API 通信。它使用这些凭据与 Cloud KMS 交互以获取或封装必要的密钥,然后使用 Tink 库根据预定义的模板对敏感数据载荷执行初始加密和去标识化。

保护数据载荷后,必须将载荷安全地传输到 Google Cloud 提取项目。对于本地应用,您可以使用 Cloud Interconnect,也可以使用 Cloud VPN。在Google Cloud 网络中,使用 Private Service Connect 将数据路由到目标项目 VPC 网络中的提取端点。借助 Private Service Connect,来源应用可以使用专用 IP 地址连接到 Google API,从而确保流量不会公开到互联网。

整个网络路径以及提取项目中的目标提取服务(Cloud Storage、BigQuery 和 Pub/Sub)均由 VPC Service Controls 边界保护。此边界会强制执行安全边界,确保源自该来源的受保护数据只能提取到该特定项目中已获授权的Google Cloud 服务中。

日志记录

此架构使用企业基础蓝图提供的 Cloud Logging 功能。

流水线

企业数据网格架构使用一系列流水线来预配基础架构、编排、数据集、数据流水线和应用组件。架构的资源部署流水线使用 Terraform 作为基础架构即代码 (IaC) 工具,并使用 Cloud Build 作为 CI/CD 服务,将 Terraform 配置部署到架构环境中。下图显示了这些流水线之间的关系。

流水线关系

基础流水线和基础架构流水线是企业基础蓝图的一部分。下表介绍了这些流水线的用途以及它们预配的资源。

流水线 资源

基础流水线

引导

  • 数据平台文件夹和子文件夹
  • 常见项目
  • 基础架构流水线服务账号
  • 基础架构流水线的 Cloud Build 触发器
  • 共享 VPC
  • VPC Service Control 边界

基础架构流水线

基础流水线

  • 使用方项目
  • Service Catalog 服务账号
  • Service Catalog 流水线的 Cloud Build 触发器
  • 工件流水线服务账号
  • 工件流水线的 Cloud Build 触发器

Service Catalog 渠道

基础架构流水线

  • 在 Service Catalog 存储桶中部署的资源

工件流水线

基础架构流水线

工件流水线会生成数据网格使用的代码库的各种容器和其他组件。

每个流水线都有自己的一组代码库,用于从中提取代码和配置文件。每个代码库都有分工,提交者和操作代码部署审批是不同团队的职责。

通过 Service Catalog 进行交互式部署

交互式环境是架构中的开发环境,位于“development”文件夹下。交互式环境的主要界面是 Service Catalog,它允许开发者使用预配置的模板来实例化 Google 服务。这些预配置模板称为服务模板。服务模板可帮助您强制执行安全状况(例如强制执行 CMEK 加密),还可防止用户直接访问 Google API。

下图显示了交互式环境的组件以及数据科学家部署资源的方式。

包含 Service Catalog 的交互式环境。

如需使用 Service Catalog 部署资源,系统会执行以下步骤:

  1. MLOps 工程师将 Google Cloud的 Terraform 资源模板放入 Git 仓库中。
  2. Git 提交命令会触发 Cloud Build 流水线。
  3. Cloud Build 会将模板以及所有关联的配置文件复制到 Cloud Storage 中。
  4. MLOps 工程师手动设置 Service Catalog 解决方案和 Service Catalog。然后,工程师将 Service Catalog 与交互式环境中的服务项目共享。
  5. 数据科学家从 Service Catalog 中选择资源。
  6. Service Catalog 将模板部署到交互式环境中。
  7. 该资源拉取所有必要的配置脚本。
  8. 数据科学家与资源互动。

工件流水线

数据注入流程使用 Cloud Composer 和 Dataflow 来协调数据在数据域中的移动和转换。工件流水线会构建数据注入所需的所有资源,并将这些资源移至适当的位置,以便服务访问这些资源。工件流水线会创建编排器使用的容器工件。

安全控制

企业数据网格架构采用分层纵深防御安全模型,该模型包括通过企业基础架构蓝图配置的默认 Google Cloud 功能 Google Cloud、服务和安全功能。下图显示了此架构的各种安全控制的分层。

数据网格架构中的安全控制措施。

下表介绍了与各层中的资源关联的安全控制。

图层 资源 安全控制

CDMC 框架

Google Cloud CDMC 实现

提供一个治理框架,帮助您保护、管理和控制数据资产。如需了解详情,请参阅 CDMC 主要控制措施框架

部署

基础架构流水线

提供一系列用于部署基础架构、构建容器和创建数据流水线的流水线。使用流水线可以实现可审核性、可追溯性和可重复性。

工件流水线

部署基础架构流水线未部署的各种组件。

Terraform 模板

构建系统基础架构。

Open Policy Agent

有助于确保平台符合所选政策。

网络

Private Service Connect

在 API 层和 IP 层为架构资源提供数据渗漏防护。可让您使用专用 IP 地址与 Google Cloud API 通信,这样您可以避免将流量公开给互联网。

具有专用 IP 地址的 VPC 网络

有助于防范面向互联网的威胁。

VPC Service Controls

帮助保护敏感资源免遭数据渗漏。

防火墙

帮助保护 VPC 网络免遭未经授权的访问。

访问权限管理

Access Context Manager

控制哪些人可以访问哪些资源,并帮助防止未经授权使用您的资源。

工作负载身份联合

无需外部凭据即可将数据从本地环境传输到平台。

Data Catalog

提供可供用户使用的资源索引。

IAM

提供精细访问权限。

加密

Cloud KMS

可让您管理加密密钥和密文,并通过静态加密和传输加密帮助保护您的数据。

Secrets Manager

为由 IAM 控制的流水线提供 Secret 存储区。

静态加密

默认情况下, Google Cloud 会对静态数据进行加密。

传输加密

默认情况下, Google Cloud 会对传输中的数据进行加密。

检测性

Security Command Center

帮助您检测组织中的错误配置和恶意活动。 Google Cloud

持续架构

根据您定义的一系列 OPA 政策,持续检查您的组织。 Google Cloud

IAM Recommender

分析用户权限,并提供有关减少权限的建议,以帮助实施最小权限原则。

防火墙数据分析

分析防火墙规则,识别过于宽松的防火墙规则,并建议限制性更强的防火墙,以帮助强化整体安全状况。

Cloud Logging

可让您了解系统活动,并有助于检测异常和恶意活动。

Cloud Monitoring

跟踪有助于识别可疑活动的关键信号和事件。

预防

组织政策

可让您控制和限制 Google Cloud组织中的操作。

Workflows

以下部分概述了数据生产者工作流和数据使用方工作流,确保根据数据敏感性和用户角色设置适当的访问控制。

数据生产者工作流

下图显示了数据在传输到 BigQuery 时如何受到保护。

数据生产者工作流

数据传输的工作流如下:

  1. 与工作负载身份联合集成的应用使用 Cloud KMS 解密封装的加密密钥。
  2. 应用使用 Tink 库使用模板去标识化或加密数据。
  3. 应用将数据传输到 Google Cloud中的提取项目。
  4. 数据会传送到 Cloud Storage、BigQuery 或 Pub/Sub。
  5. 在提取项目中,系统会使用模板解密数据或重新标识数据。
  6. 系统会根据另一个去标识化模板对解密数据进行加密或遮盖,然后将其放入非机密项目中。代码植入引擎会根据需要应用代码。
  7. 非机密项目中的数据会转移到机密项目并重新标识。

允许以下数据访问:

  • 有权访问机密项目的用户可以访问所有原始明文数据。
  • 有权访问非机密项目的用户可以根据与数据关联的标记及其权限访问经过脱敏、令牌化或加密的数据。

数据使用方工作流

以下步骤介绍了使用方如何访问存储在 BigQuery 中的数据。

  1. 数据使用方使用 Data Catalog 搜索数据资源。
  2. 在使用方找到所需的资源后,数据使用方会请求访问数据资源。
  3. 数据所有者决定是否提供对这些资产的访问权限。
  4. 如果使用方获得访问权限,则可以使用 Notebook 和解决方案目录创建一个环境,以便分析和转换数据资产。

综合应用

GitHub 代码库提供了有关在部署企业基础架构后如何在Google Cloud 上部署数据网格的详细说明。部署此架构的过程包括修改现有基础架构仓库并部署新的专用数据网格组件。

请完成以下操作:

  1. 完成所有前提条件,包括以下各项:
    1. 安装 Google Cloud CLITerraformTinkJavaGo
    2. 部署企业基础蓝图 (v4.1)
    3. 维护以下本地代码库:
      • gcp-data-mesh-foundations
      • gcp-bootstrap
      • gcp-environments
      • gcp-networks
      • gcp-org
      • gcp-projects
  2. 修改现有的基础架构蓝图,然后部署数据网格应用。对于每项内容,请完成以下操作:
    1. 在目标代码库中,签出 Plan 分支。
    2. 如需添加数据网格组件,请将 gcp-data-mesh-foundations 中的相关文件和目录复制到相应的基础目录中。在需要时覆盖文件。
    3. 更新 Terraform 文件中的数据网格变量、角色和设置(例如 *.tfvars*.tf)。将 GitHub 令牌设置为环境变量。
    4. 对每个代码库执行 Terraform 初始化、规划和应用操作。
    5. 提交更改、将代码推送到远程代码库、创建拉取请求,并合并到开发、非生产和生产环境。

后续步骤