用途
该技能面向企业数据湖仓的治理与安全场景,指导智能体识别敏感数据、提取 ETL 血缘关系,并为云存储和元数据目录生成最小权限的 IAM 与 RBAC 策略。湖仓集中了组织的数据,因此安全与治理至关重要,需要识别个人身份信息(PII)、追踪数据来源(血缘),并确保访问湖的角色具有严格限定的权限。
主要能力
- PII 与敏感列检测:分析表结构中的列名,识别可能包含敏感信息的列。目标关键词包括:email、ssn、phone、address、dob、credit_card、password、token、ip_address、health_record。若发现敏感列,建议应用列级掩码、动态数据掩码(如支持)或将原始值替换为哈希。
- 血缘提取:分析 ETL 代码(Spark、dbt、SQL)时,识别来源(读取)如
spark.read、FROM、ref()、source(),以及目标(写入)如df.write、INSERT INTO、CREATE TABLE AS、模型,并构建文本形式的血缘图,映射输入到输出。 - 最小权限 IAM 与安全指导:当用户请求访问湖仓的权限时,生成严格的最小权限策略,避免对存储桶使用通配符
*权限。例如,为 AWS S3 与 Glue 授予 ETL 作业对 Iceberg 表的读写访问时,S3 桶权限必须限定到确切前缀,Glue Catalog 权限必须限定到特定数据库和表。 - 行级与列级安全(RLS/CLS):当用户请求基于属性的特定访问限制时,建议使用 Unity Catalog 行过滤器或 Snowflake 行访问策略。除非性能要求,否则不建议创建多个重复表或视图。
使用方式
该技能以指令形式引导智能体执行治理与安全审计。输出格式为“治理与安全审计”,包含以下部分:
- PII 检测:标记高风险列并给出建议,例如对
raw_users表中的customer_email列应用 Unity Catalog 掩码函数或在写入 gold 区前进行哈希。 - 血缘:列出源(如
s3://landing/users/、s3://landing/transactions/)和目标(如glue_catalog.silver.user_transactions)。 - IAM 姿态:指出当前策略问题(如 Terraform 策略对整个桶使用
s3:*),并建议限制为对silver/user_transactions/前缀的s3:PutObject。
示例代码包括 Unity Catalog 掩码函数创建与列掩码设置,以及 IAM 策略 JSON 生成示例,用于限定 S3 和 Glue 资源。
适用场景
适用于需要对企业数据湖仓进行安全治理的团队,特别是在使用 Databricks Unity Catalog、AWS Lake Formation、AWS Glue、Snowflake 等平台时。可用于审计数据管道、识别敏感数据、追踪数据血缘、生成最小权限策略,以及实施行级和列级安全控制。
限制
该技能的具体实现细节、支持的平台版本、性能影响、部署要求等暂未提供。使用时应根据实际环境验证建议的适用性。