匿名化规则
主机 ID 重映射
host_map.json 中,保留在该部署的 S3 存储桶内(绝不导出到 Hilt),以便在需要时反向关联。
时间抖动
整个数据集会按 0 到 48 小时之间的均匀随机偏移量进行平移。这可以防止 Hilt 将导出时间戳与已知的客户事件(故障、事故、新闻发布)相关联。该偏移量会记录在导出清单中,供客户存档备查。UID 重映射
Unix UID 会按每台主机重映射为顺序整数。UID 0(root)保留为 0,因为它带有与模型相关的安全语义。列剪裁
导出查询仅选取白名单内的列,不使用SELECT *。具体而言:
- 绝不从
dag_epoch_tokens中选取token_evidence_json - 绝不从
dag_anomaly_scores中选取evidence、reason、drivers、owner、identity - 会选取
host_id,但在写入 Parquet 之前会对其重映射
死时段过滤
满足exec_count + file_open_count + net_flow_count == 0 的行会被丢弃。
最小主机数阈值
主机数少于 5 台的导出会被拒绝。这可以防止从高度专门化的单主机环境导出数据,在那种环境下,仅凭特征分布本身就可能识别出该工作负载。运行一次导出
导出管道作为每项部署的一部分进行预配,并按日计划运行。您也可以在现有 EKS 集群上触发一次性 Kubernetes Job,使用与 enrichment 服务相同的 ClickHouse 凭证。1
触发导出作业
2
监控进度
3
查看清单与样本
写入到 S3 存储桶。
4
批准导出
仅当
data_export_require_approval=true 时才需要。作业会轮询该 ConfigMap,一旦找到便继续执行。5
验证最终归档
导出清单(manifest.json)
客户可用的控制项
传输前审查
当data_export_require_approval = true(默认值)时,导出会生成一份清单和一个 20 行的样本 Parquet 文件。完整归档会被加密并暂存,但在客户创建批准 ConfigMap 之前不会传输。用户可以:
- 检查清单,准确了解包含了哪些列。
- 加载样本 Parquet 以验证匿名化效果。
- 通过从其 S3 存储桶中删除暂存文件来拒绝导出。
日期范围控制
用户可通过data_export_date_range_days 控制要导出多少历史数据。他们也可以通过覆盖 Job 的 DATE_START 和 DATE_END 环境变量,针对特定时间窗运行导出。
删除
用户可以随时从其 S3 存储桶中删除已导出的数据。审计轨迹
每次导出都会创建一个 Kubernetes 事件,并且(如果配置了 webhook)发送一条通知,其中包含导出 ID、行数、日期范围和批准状态。host_map.json 仅保留在客户自己的存储桶中。
