用途:在 Databricks 的 Delta Lake 与 Unity Catalog 环境中落地数据合规管理,覆盖 GDPR、CCPA、HIPAA 等分类要求下的数据保留、PII 处理与生命周期治理。
前置条件:已启用 Unity Catalog;理解数据分类要求;具备标签与脱敏函数的管理员权限。
主要能力与用法:
- 分类与打标:用 ALTER TABLE ... SET TAGS 为表打上 data_classification 与 retention_days 标签,用 ALTER COLUMN ... SET TAGS 标记 email、phone、full_name 等 PII 列。
- GDPR 被遗忘权删除:GDPRHandler 类通过 information_schema.table_tags 查找 PII 表,按 user_id 等列统计并删除记录,支持 dry_run 先演练,正式执行后写入审计日志表。
- 自动保留策略:RetentionEnforcer 读取 retention_days 标签,按 created_at 等日期列删除过期数据并执行 VACUUM {table} RETAIN 168 HOURS,可安排为每日 Databricks 作业。
- 列级脱敏:用 CREATE OR REPLACE FUNCTION 定义 mask_email、mask_phone、mask_name,结合 IS_ACCOUNT_GROUP_MEMBER 判断 pii-readers 组;再用 ALTER COLUMN ... SET MASK 应用。
- 行级安全:定义 region_filter 函数并 SET ROW FILTER ... ON (region),按用户所属区域限制访问。
- SAR 报告:generate_sar_report 汇总各 PII 表中的用户数据,用于合规请求响应。
适用场景:需要对客户表、订单表等做 PII 治理、保留期管理与访问控制的数据平台团队。
限制与注意事项:VACUUM 保留期不得低于 7 天,需设置 RETAIN 168 HOURS;大表 DELETE 可能超时,建议分区多次执行;脱敏函数签名须与列类型匹配;若表缺少 user_id 等标准列,需维护表到用户列的映射;复杂行过滤子查询影响性能,建议将权限物化为小查找表。企业级 RBAC 可参考 databricks-enterprise-rbac。平台与定价等资料未提供。