2. AWS数据治理服务地图

AWS 的数据治理能力并不是由某一个“全能服务”提供的,而是由一组职责边界清晰的服务拼装而成。理解这张服务地图的关键,不是记住每个服务的功能清单,而是回答三个问题:谁负责描述数据(元数据)、谁负责控制访问(权限与安全)、谁负责记录与验证(审计与合规)。把这三个问题分开看,就能避免把 Glue Data Catalog 当成权限系统、把 Lake Formation 当成数据目录、把 Macie 当成访问控制工具这类常见混淆。

一、元数据层:Glue Data Catalog 是“技术元数据的账本”

Glue Data Catalog 是 AWS 上最核心的元数据存储,它保存的是技术元数据:数据库、表、列名、数据类型、分区结构、SerDe 序列化信息、表在 S3 上的物理位置(Location)。Athena、Redshift Spectrum、EMR、Glue ETL 都通过它来“找到数据长什么样、在哪里”。

需要明确它的边界:Catalog 本身不存储数据,也不负责行级/列级权限。它更像一本账本,记录“有哪些表、字段是什么”。业务含义(比如 cust_id 是客户主键、phone 属于个人敏感信息)属于业务元数据,Catalog 原生并不承载,需要靠标签、分类或上层目录服务补充。

一个典型的建表元数据示例(教学示例,非实测结果):

{
  "Name": "orders",
  "StorageDescriptor": {
    "Columns": [
      {"Name": "order_id", "Type": "string"},
      {"Name": "cust_id",  "Type": "string"},
      {"Name": "amount",   "Type": "decimal(10,2)"},
      {"Name": "phone",    "Type": "string"}
    ],
    "Location": "s3://datalake-curated/orders/"
  },
  "PartitionKeys": [{"Name": "dt", "Type": "string"}]
}

这里 phone 字段在技术元数据上只是一个 string,但它在治理语义上是敏感字段——这个“技术元数据”与“业务/安全元数据”的落差,正是后续 Lake Formation、Macie、DataZone 要填补的地方。

二、权限层:Lake Formation 是“数据湖的访问控制中枢”

Lake Formation 建立在 Glue Data Catalog 之上,提供集中式权限管理。它把权限从“每个引擎各自配置”收敛为“在 Lake Formation 里授予”。核心能力包括:

  • 表/列级权限:可以只授予 orders 表的 order_id、amount 列,隐藏 phone。
  • 行级过滤:通过 Data Filters 表达式,如 region = 'cn-north-1',让不同团队只看到自己区域的数据。
  • LF-Tags(标签授权):给库表打标签(如 classification=confidential),按标签批量授权,避免逐表配置。

边界同样要清楚:Lake Formation 管的是“谁能访问哪些数据”,它不判断数据内容是否真的敏感,也不生成审计报告。它依赖 Catalog 的元数据来定位对象,依赖 IAM 来识别主体。

三、发现与敏感识别层:Macie 与 DataZone 分工不同

Macie 是敏感数据发现服务。它用机器学习与模式匹配扫描 S3 对象,识别身份证号、银行卡号、手机号等敏感信息,并给出敏感数据发现结果(Finding)。它回答的是“数据里到底有没有敏感内容”,而不是“谁能访问”。因此 Macie 的发现结果常被用来反向校验 Lake Formation 的权限是否过宽。

DataZone 则面向业务数据目录与数据产品管理。它把技术资产包装成“数据产品”,补充业务描述、负责人、订阅审批流程,让业务用户能“找到并申请”数据。它更接近“数据资产门户 + 治理流程”,而不是底层权限引擎。

四、审计与合规层:CloudTrail 与 Config

CloudTrail 记录谁在什么时候调用了什么 API,例如谁修改了 Catalog 表结构、谁调用了 Lake Formation 授权接口。它是操作审计的事实来源。

Config 记录资源配置的历史与合规状态,通过规则(Config Rules)判断资源是否符合预期,例如“S3 桶是否开启加密”“Glue 表是否缺少分类标签”。它回答的是“配置是否合规、是否发生了漂移”。

两者互补:CloudTrail 看“动作”,Config 看“状态”。

五、协作关系:一张图看清数据流与职责边界

下面这张图把上述服务按“元数据 → 权限 → 发现 → 审计”的协作链组织起来,重点表现它们之间的依赖方向与职责边界,而不是简单罗列服务名。

AWS 数据治理服务协作地图 元数据 → 权限 → 敏感发现 → 审计合规,各层职责边界清晰 S3 数据湖 原始 / 清洗 / 汇总 Glue Data Catalog 技术元数据账本 库 / 表 / 列 / 分区 / Location Lake Formation 访问控制中枢 表/列/行级权限 · LF-Tags 爬取/注册 依赖元数据 Macie 敏感数据发现 扫描 S3 · 输出 Finding DataZone 业务数据目录 数据产品 · 订阅审批 扫描对象 资产导入 发现结果校验权限 CloudTrail 操作审计 谁 · 何时 · 调用了什么 API AWS Config 配置合规与漂移 规则评估 · 资源状态历史 授权/改表动作被记录 资源状态被评估 边界提示:Catalog 管“是什么”,Lake Formation 管“谁能看”,Macie 管“有没有敏感”,CloudTrail/Config 管“发生过什么、是否合规”

六、技术边界的判断准则

在实际项目中,可以用一组判断问题快速定位该用哪个服务:

治理问题 对应服务 边界说明
这张表有哪些列、数据在哪 Glue Data Catalog 只描述结构,不做权限判断
谁能查这张表的哪些列/行 Lake Formation 依赖 Catalog 定位对象,依赖 IAM 识别主体
数据里是否含手机号、身份证号 Macie 只做内容识别,不改变访问权限
业务用户如何找到并申请数据 DataZone 面向业务目录与流程,不替代底层权限
谁改了表结构、谁授了权 CloudTrail 记录 API 调用,不判断合规
S3 桶是否加密、表是否缺标签 AWS Config 评估资源配置状态,不记录操作者
实践建议:搭建治理体系时,先让 Glue Data Catalog 成为唯一的技术元数据来源,再用 Lake Formation 在其上做集中授权,用 Macie 的发现结果反向验证权限是否过宽,最后用 CloudTrail 与 Config 形成“操作 + 状态”的双重审计闭环。DataZone 则在业务侧提供统一入口,避免业务用户直接面对底层 Catalog 与权限配置。

把这张地图记牢,后续无论是设计数据湖权限模型、排查越权访问,还是应对合规审计,都能快速判断“该动哪个服务、不该动哪个服务”,从而避免把治理问题错误地压给某一个组件。