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

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

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

  • 一个 GitHub 仓库,其中包含一组 Terraform 配置、脚本和代码,用于构建以下项:
    • 一个治理项目,可让您使用 Google 的云端数据管理功能 (CDMS) 主要控制框架实现
    • 支持交互式和生产工作流的数据平台示例。
    • 数据平台内支持多个数据域的提供方环境。数据域是数据元素的逻辑分组。
    • 数据平台内支持多个使用方项目的使用方环境。
    • 一种使用工作负载身份联合和 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 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 资源。下图展示了在数据平台文件夹中部署的文件夹和项目。

数据平台文件夹

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

文件夹 说明

提供方

包含数据域。

使用者

包含使用方项目。

数据域

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

提供方文件夹

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

提供方文件夹。

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

项目 说明

提取

注入项目会将数据注入到数据域中。该架构提供了有关如何将数据流式插入到 BigQuery、Cloud Storage 和 Pub/Sub 的示例。注入项目还包含 Dataflow 和 Cloud Composer 的示例,您可以使用这些示例来编排已注入数据的转换和移动。

非机密

非机密项目包含已去标识化的数据。您可以遮盖、容器化、加密、标记化或模糊处理数据。使用政策标记来控制数据的呈现方式。

机密

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

使用方文件夹

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

公用文件夹

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

CDMC 架构

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

CDMC 架构。

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

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

密钥管理

Cloud KMS

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

Record Manager

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 的运行时间以及 Sensitive Data Protection 检查的发生时间的服务。

Report Engine

Cloud Run

一种生成有助于跟踪和衡量 CDMC 框架控制措施遵从情况的报告的应用。

发现结果和资产

BigQuery 和 Pub/Sub

一个包含数据管理控制的差异或不一致之处(例如缺少标记、分类不正确或存储位置不合规)的 BigQuery 报告。

标记导出

BigQuery

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

其他组件

政策管理

组织政策服务

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

基于属性的访问权限政策

Access Context Manager

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

元数据

Data Catalog

一种用于存储数据网格中使用的表的相关元数据信息的服务。

Tag Engine

Cloud Run

一种可为 BigQuery 表中的数据添加标记的应用。

CDMC 报告

Looker Studio

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

CDMC 实现

下表介绍了该架构如何实施 CDMC 框架中的主要控制措施。

CDMC 控制要求 实现

数据控制合规性

Report Engine 会检测不合规的数据资产,并将发现结果发布到 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 将已获批准的存储位置存储为元数据标记。Report Engine 会将这些标记与 BigQuery 中数据资产的实际位置进行比较,并使用 Pub/Sub 将所有差异作为发现结果发布。如果数据存储在已定义政策之外或在已定义政策之外被访问,Security Command Center 会生成漏洞发现结果,从而提供一层额外的监控。

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

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

数据分类得到定义和使用

Sensitive Data Protection 会检查 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 表)的访问权限涉及隐私、监管或治理问题,并受数据提供方和使用方之间的访问协议约束,通过以下流程进行控制。下图展示了如何通过不同软件组件的交互来预配数据访问权限。

数据访问管理

如上图所示,数据访问权限的启用由以下流程处理:

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

数据访问管理的操作如下:

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

网络

数据安全流程从来源应用开始,该应用可能位于本地或目标Google Cloud 项目之外的其他环境中。在发生任何网络传输之前,此应用会使用工作负载身份联合向 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 Controls 边界

基础架构流水线

基础流水线

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

Service Catalog 流水线

基础架构流水线

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

制品流水线

基础架构流水线

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

每个流水线都有自己的一组仓库,该流水线会从中拉取代码和配置文件。每个仓库都实行职责分离,即提交者和操作代码部署审批者由不同的群组负责。

通过 Service Catalog 进行交互式部署

交互式环境是架构中的开发环境,位于开发文件夹下。交互式环境的主要接口是 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

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

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. 如果使用方获得访问权限,则可以使用笔记本和解决方案目录来创建环境,以便分析和转换数据资产。

综合应用

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. 提交更改,将代码推送到远程仓库,创建拉取请求并合并到开发、非生产和生产环境。

后续步骤