大数据智能体工作台 DataBuddy 数据安全概述

你是一名刚加入团队的数据治理工程师。业务希望把分散在各业务系统中的电商订单数据沉淀到统一的 数据目录 中,并在最一线就把分类分级、敏感保护、质量监控、可发现性建立起来,避免日后补救。

相关产品
大数据智能体工作台 DataBuddy 产品页,含版本规格、价格与购买入口。

注意:说明:

注意:预计用时 90 分钟。学习目标:以电商订单场景为例,端到端跑通 建 Catalog → 分层 Schema 与建表 → 治理标签 → 数据质量监控 → 列级脱敏与行级权限 → 数据发现与血缘 的完整数据治理链路。

一、场景介绍

本教程将带你:

1. 创建电商业务域的 Table 类 Catalog ,理解三类 Catalog(Table / Volume / Model)的边界。

2. 在 Catalog 下创建分层 Schema (ODS / DWD / DWS),并通过 SQL 建表灌入演示数据。

3. 在治理标签体系中创建一套业务标签、敏感标签 ,并打到表与字段上。

4. 创建一个 数据质量任务 :对核心表的 uid 字段配置空值率规则,试运行、发布、关联告警。

5. 配置 列级脱敏(基于敏感标签) 与 行级权限 ,让同一张表对不同角色返回不同视图。

6. 通过 数据发现 验证资产可被搜索,通过 数据血缘 查看上下游影响范围。

完成本教程后,你将掌握数据治理岗位在日常治理工作中的全套核心操作。

二、前提条件

在开始本教程前,请确保满足以下条件:

·已开通 DataBuddy 服务并完成空间初始化。

·当前账号在目标工作空间中拥有 数据治理管理员 或更高角色,并具备 create catalog 权限(如无该权限,请联系工作空间管理员或元数据湖 admin 授予)。

·工作空间已绑定 数据分析型 Serverless 资源组 (用于 SQL 建表与质量任务执行,详见 计算资源概述 )。

·至少存在一个 用户账号 (例如 analyst_alice、ops_bob)用于验证脱敏与行级权限效果。

·已在 数据工程 或 数据分析 中熟悉 SQL 编辑器的基础操作。

注意:说明:

注意:本教程假设工作空间已默认存在数据湖仓的底座(如内部使用的 DataLakeCatalog)。本教程的目标是 新建一个面向电商业务域的治理用 Catalog ,与默认 Catalog 解耦,便于演示治理流程。

三、教程数据模型

教程中所有 SQL 都基于一张订单事实表 orders_raw:

字段 类型 说明 敏感性
order_id BIGINT 订单号 业务关键字段
customer_id BIGINT 客户 ID –
phone STRING 客户手机号 敏感(PII)
product_name STRING 商品名 –
quantity INT 数量 –
unit_price DECIMAL(10,2) 单价 –
region STRING 销售大区:North / South / East / West 行级权限维度
order_status STRING 订单状态:paid / shipped / completed / cancelled –
order_time TIMESTAMP 下单时间 –
uid STRING 业务主键(关联用户中心) 质量规则监控字段

注意:说明:

注意:为避免多人同时跑教程时命名冲突,请把 <your_name> 替换成你自己的姓名前缀,例如 alice_ecommerce、alice_ods_raw 等。

四、步骤 1:创建电商业务域 Catalog

Catalog 是 DataBuddy 数据治理体系的最顶层命名空间。三种 Catalog 类型的边界是硬约束 :

类型 容纳的对象
Catalog 表(Table)、视图(View)、函数(Function)
Volume 卷(Volume)—— 图片、PDF、CSV 等非结构化文件
Model 模型(Model)—— ML 模型注册与版本管理

类型在创建后不可变更 ,电商订单数据是结构化资产,因此创建 Table 类 Catalog 。

1. 登录 DataBuddy 控制台,在顶部切换到目标地域与工作空间。

2. 在左侧导航选择数据目录 。

3. 在左侧目录树顶部单击创建数据目录

·目录名称 :<your_name>_ecommerce(例如 alice_ecommerce)。

·目录类型 :结构化数据目录 。

·描述 :电商订单业务域的结构化数据治理目录。

4. 单击 确认 。

创建成功后你会自动进入 Catalog 详情页,并看到系统自动生成的1个 Schema: default(通用 Schema)。你本人作为创建者自动成为 Catalog 的 Owner ,拥有该 Catalog 下的全部管理权限。

注意:+ 创建数据目录 按钮置灰且 hover 提示「你暂无权限」时,需联系工作空间管理员或元数据湖 admin 为你授予 create catalog 权限。详见 结构化数据 Catalog 。

注意:说明:

注意:如同时需要管理非结构化资产(如商品图片)或 ML 模型,请按同样流程额外创建 文件卷目录 (如 <your_name>_ecommerce_files)与 模型文件目录 (如 <your_name>_ml_models)。三类 Catalog 的对象边界详见非结构化数据 Catalog 与 模型 Catalog 。

五、步骤 2:创建分层 Schema 并建表灌数

按数据仓库分层规范创建 3 个 Schema:ODS(原始接入层)/ DWD(明细层)/ DWS(汇总层) 。

六、2.1 创建 Schema

在 Catalog 详情页右上角单击 创建 Schema ,依次创建:

Schema 名称 描述
ods_raw 上游业务系统原始入湖数据
dwd_detail 清洗加工后的事实明细表
dws_summary 按维度聚合的指标汇总表

每次填入名称与描述后单击确定 即可。

七、2.2 在 SQL 分析中建表并灌入数据

1. 在左侧导航选择 SQL 分析 > 新建 SQL ,文件名 governance_setup.sql。

2. 在编辑器右上角选择 数据分析型 Serverless 资源组 。

3. 把下面的 SQL 整段粘贴后,逐条选中 并按 ⌘ + Enter(Windows 用户 Ctrl + Enter)执行(务必把 your_name 替换为你自己的姓名前缀):

— 1. ODS 层订单原始表CREATE TABLE IF NOT EXISTS your_name_ecommerce.ods_raw.orders_raw ( order_id BIGINT COMMENT '订单号', customer_id BIGINT COMMENT '客户 ID', phone STRING COMMENT '客户手机号(敏感字段)', product_name STRING COMMENT '商品名', quantity INT COMMENT '数量', unit_price DECIMAL(10,2) COMMENT '单价', region STRING COMMENT '销售大区', order_status STRING COMMENT '订单状态', order_time TIMESTAMP COMMENT '下单时间', uid STRING COMMENT '业务主键(关联用户中心)') COMMENT '电商订单原始入湖表';

— 2. 灌入演示数据(特意留 1 行 uid 为 NULL,用于触发后续质量规则)INSERT INTO your_name_ecommerce.ods_raw.orders_raw VALUES(1001, 501, '13800138000', 'Wireless Mouse', 2, 79.00, 'North', 'completed', TIMESTAMP '2025-01-15 10:30:00', 'u_001'),(1002, 502, '13900139000', 'Mechanical Keyboard', 1, 399.00, 'South', 'completed', TIMESTAMP '2025-01-15 11:15:00', 'u_002'),(1003, 503, '13700137000', 'USB-C Hub', 3, 128.00, 'East', 'paid', TIMESTAMP '2025-01-15 14:20:00', 'u_003'),(1004, 501, '13800138000', 'Monitor Stand', 1, 259.00, 'North', 'completed', TIMESTAMP '2025-01-16 09:00:00', 'u_001'),(1005, 504, '13600136000', 'Wireless Mouse', 1, 79.00, 'West', 'shipped', TIMESTAMP '2025-01-16 16:45:00', NULL);

— 3. DWD 层明细表(演示用,仅做一层简单清洗)CREATE TABLE IF NOT EXISTS your_name_ecommerce.dwd_detail.orders_detail ASSELECT order_id, customer_id, phone, product_name, quantity, unit_price, quantity * unit_price AS total_amount, region, order_status, order_time, uidFROM your_name_ecommerce.ods_raw.orders_rawWHERE order_status != 'cancelled';

— 4. DWS 层汇总表(按地区聚合)CREATE TABLE IF NOT EXISTS your_name_ecommerce.dws_summary.daily_revenue ASSELECT region, DATE(order_time) AS order_date, SUM(quantity * unit_price) AS total_revenue, COUNT(DISTINCT customer_id) AS unique_customersFROM your_name_ecommerce.ods_raw.orders_rawWHERE order_status != 'cancelled'GROUP BY region, DATE(order_time);

八、2.3 在数据目录中验证表已注册

1. 回到 数据目录 ,单击 <your_name>_ecommerce。

2. 切换到 ods_raw Schema,应能看到 orders_raw 表。单击进入表详情页,概览 Tab 中可看到 10 个字段的元数据(名称、类型、描述)。

3. 按同样方式确认 dwd_detail.orders_detail 与 dws_summary.daily_revenue 已注册。

注意:说明:

注意:SQL 建表后表会自动出现在 Catalog 中。如未看到,请刷新页面;如仍不可见,请检查 SQL 中的三段名是否正确且当前账号是否具备 Schema 的 CREATE TABLE 权限。详见 结构化数据 Catalog。

九、步骤 3:建立治理标签体系并为资产打标

治理标签是后续 资产发现、敏感保护、合规审计 的元数据底座。本步骤创建两类标签:

·业务标签 :用于在数据发现中按业务维度筛选资产(如 domain=ecommerce、tier=gold)。

·敏感标签 :标识 PII 字段(如客户手机号),并在后续 **** 步骤 5 中关联脱敏策略实现「打标即脱敏」。

十、3.1 创建业务标签

1. 在 数据目录 页左上角单击 标签管理 (治理标签入口位于此处)。

2. 单击 新建标签 :

·标签 Key :domain。

·标签类型 :业务标签 。

·标签值 :添加候选值 ecommerce、finance、logistics。

·描述 :数据资产所属业务域。

3. 单击 确定 。

按同样方法创建第二个业务标签:

·标签 Key :tier,标签值 :gold / silver / bronze,描述 :资产分层(黄金/白银/青铜)。

十一、3.2 复用系统内置敏感标签

DataBuddy 已内置 36 个系统级敏感标签(如 class.cn_id_card、class.financial_account 等),开箱即用、不可重命名、不可删除。

教程中我们直接复用内置的 手机号类敏感标签 ,无需新建。在标签治理列表中筛选 标签来源 = 系统 、标签类型 = 敏感标签 ,找到对应于「手机号、中国大陆手机号」语义的内置敏感标签(标签 Key 形如 class.cn_mobile_phone,具体命名以平台为准),记下其 Key,供后续步骤使用。

注意:说明:

注意:教程中将该敏感标签的 Key 统一记为 class.cn_mobile_phone。如你环境中的内置 Key 不同,请按实际名称替换后续步骤中的标签引用。详见 创建与管理标签体系 。

十二、3.3 为表打业务标签

1. 在 数据目录 中进入 <your_name>_ecommerce.dwd_detail.orders_detail 表详情页。

2. 在右侧 业务信息 区域,单击** 添加标签**

3. 在弹窗中:

·选择标签 Key domain,标签值 ecommerce。

·单击 添加 继续追加:标签 Key tier,标签值 gold。

4. 单击 确定 。

回到 概览 Tab,可看到表头部已展示两个标签。

十三、3.4 为字段打敏感标签

1. 在 orders_detail 表详情页 概览 Tab 的字段列表中,找到 phone 字段。

2. 单击 phone 字段行末的 添加标签

3. 在弹窗中选择敏感标签 Key class.cn_mobile_phone,单击 确定 。

按同样方式可为 ods_raw.orders_raw 中的 phone 字段也打上同一个敏感标签。

注意:说明:

注意:打标动作只是给字段贴上一个语义标识,真正生效的脱敏行为 要在 **** 步骤 5 中通过把敏感标签关联到脱敏策略来实现。打标与策略分离的设计让治理团队可以先把分类做好,再逐步迭代策略。详见 为数据资产打标签 。

十四、步骤 4:创建数据质量任务

数据质量监控的目标:在 orders_detail 表的 uid 字段上配置「uid 有效期校验」规则,定期检查并在异常时触发告警。

十五、4.1 进入质量任务创建页

1. 在 数据目录 中进入 dwd_detail.orders_detail 表详情页。

2. 切换到质量 Tab。

3. 单击前往创建 。

入口与流程:从表详情页进入会自动锁定监控对象为当前表,无需再选;如从左侧导航 数据质量 入口进入,则需要在「选择对象」步骤中手动选定 <your_name>_ecommerce.dwd_detail.orders_detail。

注意:如果按钮置灰,提示「仅表 Owner 和有表 Manager 权限的人有权限创建」,需先在表的 权限 Tab 中确认或申请相应权限。详见 创建质量规则 。

十六、4.2 在规则配置框内编写规则

进入「对象 & 规则」面板后,可直接使用** AI 生成规则,** 或者在右侧 展开规则模版直接复用(表级模板、字段级模板)。

field_rules: – field_name: uid rule_name: uid有效期校验 rule_type: custom_sql dimension: validity custom_sql: SELECT COUNT(*) as check_value FROM ecommerce.dwd_detail.orders_detail WHERE uid IS NOT NULL trigger_condition: check_value > 0 alert: enable: true

规则含义:

·field_rule:字段级规则

·field_name:作用在 uid 字段上。

·rule_type:模版类型:自定义 SQL。

·dimension:维度。

·trigger_condition: check value > 0:检测值大于0 即视为异常。

·alert enable:规则是否开启告警。 true:表示开启;false:表示不开启。

注意:说明:

注意:模板字段说明、自定义 SQL 写法、filter(分区过滤)等高级用法详见 创建质量规则。点击编辑器右侧模板列表上方的 样例文档 也可查看完整字段说明。

十七、4.3 填写基本配置

在 YAML 右侧 基本配置 区域:

·任务名称 :orders_detail_uid_quality。

·负责人 :默认为当前账号。

·任务描述 :监控订单明细表 uid 字段空值个数,超过 1 触发告警。

十八、4.4 添加告警配置

选择需要告警的规则和告警渠道。未选择则表示不开启告警。

十九、4.5 保存并发布

1. 在底部单击 保存并发布 。

2. 在发布弹窗中:

·调度方式 :选择 独立工作流 (教程演示用,会在 工作流 中自动生成一个仅含本质量任务的工作流并按天调度)。

·调度时间 :每天 08:00。

·告警渠道 :选择你的工作空间已配置的渠道(如企业微信群机器人、邮箱),并在 接收人 中加入你自己。

3. 单击 确定 完成发布。

发布完成后,你可以在以下两处看到任务运行情况:

·数据治理 > 数据质量 > 任务列表 :任务及其历史实例的统一视图 。

·表详情页 质量 Tab:当前表关联的所有质量任务与最近一次的检测状态。

注意:说明:

注意:若希望让 ETL 工作流在 orders_detail 的下游加一道质量校验闸门,可在工作流中添加 质量监控任务节点 ,使用动态参数能力配置。

20、4.6 试运行验证规则

1. 在质量任务列表单击 试运行 。

2. 等待 10–30 秒,单击 查看运行结果 。

3. 预期结果(教程数据中 5 行有 1 行 uid 为 NULL):

字段 预期值
执行状态 成功
检测状态 异常
检测值 1
阈值 value <= 0

注意:说明:

注意:试运行只对当前数据评估规则,不会产生告警,也不会阻塞任何下游任务 。这是发布前最重要的验证手段。

21、步骤 5:配置列级脱敏与行级权限

至此 phone 字段已经被打上敏感标签,本步骤把标签关联到具体的脱敏策略,让查询时按用户组返回不同视图;同时为 region 字段配置行级过滤。

22、5.1 创建列级脱敏策略

1. 在左侧导航选择 数据治理 > 数据安全 。

2. 切换到 脱敏策略 列表,单击 新建策略 :

·策略名称 :policy_mobile_phone_mask。

·关联敏感标签 :勾选 class.cn_mobile_phone(关联后所有打了该标签的字段会自动继承 本策略,无需逐字段绑定)。

·脱敏方法 :

·用户组 data_admins → 无需配置脱敏策略(管理员看全量)。

·用户组 customer_service → 脱敏方法 保留前4或后4个字符 (客服看 1387********或*******8012)。

·用户组 analysts → 脱敏方法 哈希(分析师看到的值为哈希值)。

3. 单击 确定 。

注意:说明:

注意:脱敏策略与敏感标签的关联是「多对多 」:一个策略可关联多个标签,让多个语义相近的字段统一处理;一个字段同一时间只生效一个策略。

23、5.2 配置行级权限

为 orders_detail 表添加行级过滤器,让不同地区的运营人员只能看到自己所在地区的订单。

1. 回到 dwd_detail.orders_detail 表详情页。

2. 切换到 权限 Tab,找到 行级权限 区域,单击 添加行过滤器 。

3. 在弹窗中:

·授权主体类型 :用户组。

·授权对象 :ops_north(华北区运营组)。

·行过滤表达式 :region = 'North'。

4. 单击 确定 。

5. 重复以上步骤为其他地区运营组添加规则,例如:

·ops_south → region = 'South'。

·ops_east_west → region IN ('East', 'West')。

未在行过滤器中出现的用户组,允许访问全部数据(详见 行级权限控制 )。

24、5.3 验证策略效果

切换到具备不同用户组的测试账号(例如 analyst_alice 属于 analysts、ops_bob 属于 ops_north),在 SQL 分析中查询:

SELECT order_id, phone, region, total_amountFROM your_name_ecommerce.dwd_detail.orders_detailLIMIT 10;

预期结果:

测试账号 phone 字段返回 行可见范围
数据治理管理员 明文(如 13800138000) 全部行
analyst_alice(属于 analysts) *** 全部行
ops_bob(属于 ops_north) 按 analysts 策略未匹配则返回明文(按实际所属用户组而定) 仅 region = 'North' 的行

注意:ops_bob 的 phone 字段返回值取决于其在脱敏策略中的用户组归属。如希望客服组也对手机号脱敏,请回到 5.1 在策略中显式追加该用户组。

注意:说明:

注意:脱敏与行过滤在 SQL 查询、Notebook、仪表盘 所有读取链路上一致生效,无需调用方在业务代码中重复实现。

25、步骤 6:通过数据发现与数据血缘验证治理成果

完成以上工作后,你建立的元数据应当是可被搜索、可被追溯 的。

26、6.1 数据发现:按业务标签找到资产

1. 在 DataBuddy 控制台 顶部全局搜索框输入 订单 收入 或 orders_detail,按回车进入全屏数据发现页。

2. 在左侧资产类型筛选中切换到 表 。

3. 在顶部筛选条中叠加 治理标签 domain:ecommerce、tier:gold,结果列表应只剩你本次创建的资产。

4. 单击结果卡片 orders_detail 跳转到表详情页。

注意:说明:

注意:数据发现 AI 语义检索、关键字检索并行,治理标签可作为筛选维度精准收敛。详见 全局数据搜索 与 按标签、分类筛选 。

27、6.2 数据血缘:从 DWS 反查 ODS

DWS 表 daily_revenue 是从 orders_raw 经过 orders_detail 加工而来,血缘可以直观追溯整条链路。

1. 在 dws_summary.daily_revenue 表详情页切换到 血缘 Tab。

2. 默认进入 列表模式 ,你应能看到上游 orders_raw、orders_detail 与产出本表的 SQL 任务记录。

3. 单击右上角图标切换到 图模式 ,可看到拓扑图:

4. 单击任意节点查看详细信息:表节点显示业务信息(描述、标签、责任人)与技术信息(数据源、存储路径、最近 DDL 变更时间);任务节点显示任务代码与所属工作流(可跳转)。

注意:说明:

注意:血缘随任务运行(含试运行)自动上报,无需手动维护;任务或文件删除时血缘自动清理。当前支持表级血缘,字段级血缘在后续迭代中。详见 数据血缘 。

28、步骤 7:清理资源(可选)

如不再需要本教程产出的内容,建议按以下顺序清理,避免占用配额:

1. 删除质量任务 :在 数据治理 > 数据质量 > 任务列表 中对 orders_detail_uid_quality 单击 删除

2. 删除行级权限与脱敏策略 :在 orders_detail 表详情页 权限 Tab 中删除行过滤器;在 数据安全 > 脱敏策略 中取消关联 policy_mobile_phone_mask。

3. 移除治理标签 :在 orders_detail / orders_raw / daily_revenue 上移除业务标签与敏感标签(系统内置标签本身不可删除,仅解绑)。

4. 删除表与 Schema :在 SQL 分析中执行:

DROP TABLE IF EXISTS your_name_ecommerce.dws_summary.daily_revenue;DROP TABLE IF EXISTS your_name_ecommerce.dwd_detail.orders_detail;DROP TABLE IF EXISTS your_name_ecommerce.ods_raw.orders_raw;

然后在数据目录中分别删除三个 Schema。

5. 删除 Catalog :在 <your_name>_ecommerce Catalog 详情页右上角 ⋯ > 删除数据目录 。

注意:警告:

注意:删除 Schema 与 Catalog 会同时删除其下所有表与对象,不可恢复。请在删除前确认无业务依赖。

29、验证结果

完成全部步骤后,你应当能确认:

1. Catalog 与 Schema :<your_name>_ecommerce(Table 类)在数据目录中可见,包含 ods_raw / dwd_detail / dws_summary 三个 Schema,加上系统的 information_schema 与 default。

2. 资产元数据 :orders_raw / orders_detail / daily_revenue 三张表均已在 Catalog 中注册,字段元数据与 SQL 一致。

3. 治理标签 :业务标签 domain 与 tier 已创建,敏感标签 class.cn_mobile_phone 已被引用;orders_detail 表已打上业务标签,phone 字段已打上敏感标签。

4. 数据质量 :orders_detail_uid_quality 任务处于已发布状态,试运行结果显示检测状态为 异常 (空值率 20%,超出 1% 阈值),任务已挂入工作流按天调度。

5. 数据安全 :policy_mobile_phone_mask 脱敏策略已创建并关联 class.cn_mobile_phone;orders_detail 表至少有 1 条行过滤规则。

6. 数据发现、血缘 :通过 domain:ecommerce 标签筛选能找到本教程产出的全部资产;daily_revenue 的血缘图可向上追溯到 orders_raw。

30、总结

在本教程中,你完成了:

·在 数据治理 > 数据目录 中创建电商业务域 Catalog,理解 Table / Volume / Model 三类 Catalog 的硬约束。

·按 ODS / DWD / DWS 分层规范创建 Schema,并通过 SQL 建表灌入演示数据,所有资产自动注册到 Catalog。

·在 标签治理 中创建业务标签体系,并复用系统内置敏感标签,把分类分级的语义元数据沉淀到表与字段上。

·在 数据质量 中通过 YAML 创建空值率监控规则、试运行验证、发布上线并接入告警通道。

·在 数据安全 中创建脱敏策略并关联敏感标签,实现「打标即脱敏」;在表详情页配置行级过滤实现地区维度数据隔离。

·通过 数据发现 按业务标签找到资产,通过 数据血缘 反查上下游影响范围,闭环验证治理成果。

本条端到端链路覆盖了数据治理岗位日常 80% 以上的高频操作。后续可继续探索:异常检测(零配置基线)、数据剖析(字段分布与漂移)、语义模型与指标治理、敏感识别 AI Skill 自动打标等进阶能力。

赞 (0)
上一篇 4天前
下一篇 4天前