跳转到内容
文档

DataMask

在不丢失引用完整性的情况下将生产数据脱敏到 dev/staging。KMS 派生的确定性种子(HKDF 回退)、基于 ML 的 PII 检测、dry-run 预览、k-anonymity 验证和 Ed25519 签名的审计握手。

它是什么

一个 workspace + engine,从 source 到 target 运行 LGPD 级脱敏作业。敏感字段通过 3 信号分类器(regex + 启发式 + ML)检测,然后用确定性函数(HKDF 派生每字段)转换,使相同的 source 值始终映射到相同的脱敏值 — collections 间引用完整性得以保留。

何时使用

在从生产刷新 dev / staging 之前运行。任何有权访问脱敏目标的人都获得与生产相同的 schema 和统计分布,但每个 PII 列都被替换 — DPO / ANPD / 外部开发团队可以使用数据,不会发生 LGPD 违规。

如何打开

  1. 在 NoSqlStudio 桌面应用中,打开 Tools 菜单 → Migrate and Diff → Data Mask,或按 Ctrl+Alt+K。
  2. workspace tab 打开,顶部为 source / target 选择器,中心为字段 policy 编辑器,右侧为 dry-run 预览。
  3. 选择 source 和 target 连接,然后选择要脱敏的数据库和 collections。

构建脱敏计划

  1. Scanner — 点击 "Scan source" 在样本上运行 PII 检测器。输出是每字段分类:not_sensitive / personal_low / personal_medium / personal_high / checksum_match。
  2. Policy — 对于每个标记的字段,engine 提议一个 transform(hash / shuffle / format-preserving / nullify / leave)。您可以按字段覆盖。
  3. 审计握手 — 对于需要的 tiers,engine 触发 license-server 签名的握手(Ed25519)。签名 token 嵌入每个审计行,以便外部审计员可以加密验证运行。
  4. Dry-run — 点击 "Preview" 在内存中脱敏 100 个样本文档并并排渲染 before/after。尚未写入 target。
  5. k-anonymity — 设置最小 k。如果任何 quasi-identifiers 组合(zipcode + age + gender)产生小于 k 的组,engine 拒绝应用脱敏。
  6. 理由 — 对于敏感字段,engine 需要存储在审计日志中的自由文本理由。
  7. Apply — 点击 "Start mask"。engine 将脱敏文档写入 target,内置 progress bar、吞吐量和 resume-on-failure。审计日志记录 policy 指纹、target namespaces 和 outcome。

KMS 派生的种子

对于确定性脱敏,每个字段使用通过 HKDF 从根 secret 派生的每字段种子。根 secret 可以位于 HashiCorp Vault、AWS KMS、Azure Key Vault 或 GCP KMS — 在工作站上配置一次。没有 KMS,engine 回退到本地 HKDF 种子(仍然是确定性的,但轮换需要手动密钥替换)。

Right-to-be-Forgotten 执行器

LGPD Art. 18 删除请求的单独子工作流。完整流程请参阅 RTBF Wizard 文档 — DataMask engine 是实际执行擦除的底层。

限制(v1)

  • KMS 提供商可选。没有的话,本地 HKDF 种子位于 userData,轮换是手动的。Tier-gated。
  • Schema-drift 检测仅捕获自上次快照以来的更改。如果 source schema 在 scan 和 apply 之间更改,engine 警告;不会自动演变 policy。
  • k-anonymity 检查基于样本(默认 10k 文档)。要获得铁定的保证,将 k 设高并审查每 bucket 的报告。