SuperAPI AI 工具集

lakehouse-governance

安全与审计

查看项目

更新于 10-15 10:42

技能介绍

用途

该技能面向企业级湖仓(Lakehouse)场景,指导代理完成数据治理与安全相关工作:识别敏感数据、提取 ETL 血缘、生成最小权限的 IAM 与 RBAC 策略。湖仓集中了组织的数据资产,因此安全与治理至关重要,需要识别个人身份信息(PII)、追踪数据来源(血缘),并确保访问湖泊的角色仅拥有紧密限定的权限。

主要能力

1. PII 与敏感列检测

分析表结构中的列名,识别可能暗示敏感信息的字段。

目标关键词:email、ssn、phone、address、dob、credit_card、password、token、ip_address、health_record。

处理动作:若发现敏感列,建议应用列级脱敏、动态数据掩码(若平台支持),或用哈希替换原始值。

Databricks Unity Catalog 掩码示例:

CREATE MASKING FUNCTION email_mask(email STRING) RETURN CASE WHEN is_member('hr_role') THEN email ELSE '@.com' END;

ALTER TABLE users ALTER COLUMN email SET MASK email_mask;

2. 血缘提取

分析 ETL 代码(Spark、dbt、SQL)时:

  • 识别来源(读取):spark.read、FROM、ref()、source()。
  • 识别目标(写入):df.write、INSERT INTO、CREATE TABLE AS、models。
  • 构建以文本表示的血缘图,映射输入到输出。

3. 最小权限 IAM 与安全指导

当用户请求访问湖仓的权限时,生成严格的最小权限策略。避免对桶使用通配符 * 权限。

AWS S3 与 Glue 示例指导: 授予 ETL 作业对 Iceberg 表的读写访问时:

  1. S3 桶权限必须限定到精确前缀。
  2. Glue Catalog 权限必须限定到具体的 database 和 table。

IAM 策略 JSON 生成示例:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::my-lake-bucket/path/to/table/*" }, { "Effect": "Allow", "Action": [ "glue:GetTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:catalog", "arn:aws:glue:us-east-1:123456789012:database/my_db", "arn:aws:glue:us-east-1:123456789012:table/my_db/my_table" ] } ] }

4. 行级与列级安全(RLS/CLS)

当用户请求基于属性的特定访问限制时:

  • 建议使用 Unity Catalog 行过滤器或 Snowflake 行访问策略。
  • 除非性能要求,否则不要建议创建多个重复表或视图。

使用方式

该技能以治理与安全审计报告作为输出格式:

🔒 Governance & Security Audit: [Pipeline/Table Name]

🕵️ PII Detection

  • 🚨 High Risk: Column customer_email detected in raw_users table.
    • Recommendation: Apply a Unity Catalog Masking Function or Hash before writing to the gold zone.

🔗 Lineage

  • Sources: s3://landing/users/, s3://landing/transactions/
  • Target: glue_catalog.silver.user_transactions

🔑 IAM Posture

  • The current Terraform policy uses s3:* on the whole bucket.
  • Recommendation: Restrict to s3:PutObject on the silver/user_transactions/ prefix.

适用场景

  • 对湖仓中的表结构进行敏感数据排查与脱敏建议。
  • 对 Spark、dbt、SQL 等 ETL 代码进行来源与目标梳理,生成血缘关系。
  • 为数据访问请求生成最小权限的 IAM/RBAC 策略,限定到具体前缀、数据库与表。
  • 在需要基于属性的访问控制时,推荐行过滤器与行访问策略。

限制

资料未提供关于收费、价格、平台支持范围、具体使用步骤或性能表现的说明。相关功能是否可用取决于目标平台(如 Unity Catalog、AWS Lake Formation、Snowflake)的实际支持情况;资料中未明确列出所有支持环境。