Skip to content

企业合规与数据分类

Phase 43 | v1.1.0-alpha | 12 IPC 处理器 | 2 张新数据库表

概述

企业合规与数据分类模块提供 SOC2、GDPR、ISO27001、HIPAA 等多合规框架的统一检查与证据收集能力。支持四级数据分类(PUBLIC→RESTRICTED)、GDPR DSR 自动化处理以及合规证据的 AES-256 加密存储,帮助企业满足监管要求。

核心特性

  • 📋 SOC2 自动合规: 5 大信任服务原则(安全/可用性/完整性/机密性/隐私)自动检查与证据收集
  • 🏷️ 4 级数据分类: PUBLIC → INTERNAL → CONFIDENTIAL → RESTRICTED,支持 ML + 规则 + 手动三种分类方式
  • 📨 GDPR DSR 自动化: 一键处理数据访问权、删除权、修正权、可携权请求
  • ⚖️ 多框架统一管理: GDPR / SOC2 / ISO27001 / HIPAA 统一检查调度和风险评分
  • 🔒 证据加密存储: SOC2 证据文件 AES-256 加密,合规操作全量审计

系统架构

┌────────────────────────────────────────────────┐
│             企业合规管理系统                     │
├────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────────┐ │
│  │ SOC2     │  │ GDPR     │  │ ISO27001     │ │
│  │ 合规检查 │  │ DSR 处理 │  │ / HIPAA      │ │
│  └────┬─────┘  └────┬─────┘  └──────┬───────┘ │
│       └──────────────┼───────────────┘         │
│                      ↓                         │
│          ┌───────────────────────┐             │
│          │  统一合规引擎          │             │
│          │  检查调度 | 风险评分   │             │
│          └───────────┬───────────┘             │
│                      ↓                         │
│  ┌──────────────────────────────────────────┐  │
│  │  数据分类系统 (ML + 规则 + 手动标记)     │  │
│  └──────────────────────────────────────────┘  │
├────────────────────────────────────────────────┤
│  DB: compliance_checks | data_classifications │
└────────────────────────────────────────────────┘

核心功能

1. SOC2 合规管理

5大信任服务原则(TSC):

TSC原则控制点数量
CC1.0Security (安全)15+
CC2.0Availability (可用性)10+
CC3.0Processing Integrity (处理完整性)8+
CC4.0Confidentiality (机密性)12+
CC5.0Privacy (隐私)10+

使用示例:

javascript
// 执行 SOC2 检查
const result = await window.electronAPI.invoke("compliance:soc2-run-check");

console.log(result);
// {
//   passed: 45,
//   failed: 5,
//   passRate: 0.90,
//   criticalIssues: [
//     { controlId: 'CC1.2', issue: '密码策略不符合要求' }
//   ]
// }

// 收集证据
await window.electronAPI.invoke("compliance:soc2-collect-evidence", {
  controlId: "CC1.1",
  evidenceType: "config",
});

// 生成合规报告
const report = await window.electronAPI.invoke(
  "compliance:soc2-generate-report",
  {
    startDate: "2026-01-01",
    endDate: "2026-02-27",
  },
);

2. 数据分类系统

4级分类体系:

级别说明示例加密要求
PUBLIC公开信息产品文档、公告
INTERNAL内部使用员工邮箱、内部文档可选
CONFIDENTIAL机密商业计划、客户数据AES-128
RESTRICTED高度敏感密码、密钥、个人隐私AES-256

分类方式:

  1. ML 分类器 - 文本内容自动分析(可选)
  2. 规则引擎 - 正则表达式匹配
  3. 手动标记 - 用户手动指定

使用示例:

javascript
// 文本分类
const classification = await window.electronAPI.invoke(
  "compliance:classify-text",
  {
    text: "用户密码: 123456, 信用卡号: 1234-5678-9012-3456",
  },
);
// classification.level: 'RESTRICTED'
// classification.reasons: ['密码', '信用卡号']

// 字段分类
await window.electronAPI.invoke("compliance:classify-field", {
  tableName: "users",
  columnName: "password",
  sampleData: ["hashed_pw_1", "hashed_pw_2"],
});

// 扫描数据库
const scanResult = await window.electronAPI.invoke("compliance:scan-database");
// {
//   tables: 15,
//   fields: 120,
//   classified: {
//     PUBLIC: 50,
//     INTERNAL: 40,
//     CONFIDENTIAL: 25,
//     RESTRICTED: 5
//   }
// }

3. GDPR 数据主体请求 (DSR)

支持 GDPR 规定的数据主体权利:

4种 DSR 类型:

  1. Right to Access (访问权) - 导出个人数据
  2. Right to Erasure (删除权) - 删除个人数据
  3. Right to Rectification (修正权) - 修正个人数据
  4. Right to Data Portability (可携权) - 数据可携性

使用示例:

javascript
// 创建 DSR
const dsr = await window.electronAPI.invoke("compliance:dsr-create", {
  did: "did:chainless:abc123",
  requestType: "export",
  details: "用户请求导出所有个人数据",
});

// 导出数据
const exportData = await window.electronAPI.invoke(
  "compliance:dsr-export-data",
  {
    did: "did:chainless:abc123",
    format: "json", // 或 'csv'
  },
);

// 删除数据
await window.electronAPI.invoke("compliance:dsr-delete-data", {
  did: "did:chainless:abc123",
  options: {
    cascadeDelete: true,
    keepAuditLogs: true,
  },
});

4. 统一合规管理

支持的合规框架:

框架全称适用行业状态
GDPR通用数据保护条例欧盟所有行业
SOC2服务组织控制2SaaS/云服务
ISO27001信息安全管理全行业🔄 部分支持
HIPAA健康保险可携性医疗行业🔄 规划中

使用示例:

javascript
// 添加合规框架
await window.electronAPI.invoke("compliance:add-framework", {
  name: "gdpr",
  config: {
    enabled: true,
    checkInterval: "0 0 * * *", // 每日午夜
  },
});

// 执行合规检查
const checkResult = await window.electronAPI.invoke("compliance:run-check", {
  framework: "soc2",
});

// 计算风险评分
const riskScore = await window.electronAPI.invoke("compliance:calculate-risk", {
  framework: "gdpr",
});
// { score: 75, level: 'MEDIUM', issues: 5 }

// 获取整体状态
const status = await window.electronAPI.invoke("compliance:get-status");

前端集成

Pinia Store

typescript
import { useComplianceStore } from "@/stores/compliance";

const compliance = useComplianceStore();

// 执行 SOC2 检查
await compliance.runSOC2Check();

// 扫描数据库分类
await compliance.classifyDatabase();

// 创建 DSR
await compliance.createDSR(did, "export");

前端页面

合规仪表板页面 (/compliance-dashboard)

功能模块:

  1. 合规概览

    • 各框架合规状态
    • 风险评分趋势
    • 待处理问题
  2. SOC2 管理

    • 控制点检查状态
    • 证据收集管理
    • 报告生成与导出
  3. 数据分类

    • 分类统计可视化
    • 字段分类管理
    • 策略配置
  4. DSR 处理

    • DSR 请求列表
    • 处理工作流
    • 日志追踪

配置选项

json
{
  "compliance": {
    "enabled": true,
    "frameworks": ["soc2", "gdpr"],
    "checkInterval": "0 0 * * *",
    "evidencePath": "./data/compliance/evidence",
    "dataClassification": {
      "mlEnabled": false,
      "autoTagging": true,
      "encryptionMapping": {
        "RESTRICTED": "aes-256",
        "CONFIDENTIAL": "aes-128"
      }
    },
    "dsr": {
      "exportFormats": ["json", "csv"],
      "retentionDays": 30
    }
  }
}

使用场景

场景 1: 定期合规检查

javascript
// 1. 调度每日检查
await window.electronAPI.invoke("compliance:schedule-check", {
  framework: "soc2",
  cron: "0 0 * * *",
});

// 2. 执行检查
const result = await window.electronAPI.invoke("compliance:run-check", {
  framework: "soc2",
});

// 3. 处理失败项
if (result.failed > 0) {
  result.criticalIssues.forEach(async (issue) => {
    await notifyAdmin(issue);
  });
}

场景 2: 数据分类审计

javascript
// 1. 扫描整个数据库
const scanResult = await window.electronAPI.invoke("compliance:scan-database");

// 2. 检查未分类字段
const unclassified = scanResult.fields.filter((f) => !f.classification);

// 3. 批量分类
for (const field of unclassified) {
  await window.electronAPI.invoke("compliance:classify-field", {
    tableName: field.table,
    columnName: field.column,
  });
}

场景 3: 处理 GDPR DSR

javascript
// 1. 接收用户请求
const dsr = await window.electronAPI.invoke("compliance:dsr-create", {
  did: userDID,
  requestType: "export",
  details: "用户通过邮件请求导出数据",
});

// 2. 导出数据
const data = await window.electronAPI.invoke("compliance:dsr-export-data", {
  did: userDID,
  format: "json",
});

// 3. 发送给用户
await sendEmail(userEmail, data);

// 4. 标记 DSR 完成
await window.electronAPI.invoke("compliance:dsr-update-status", {
  dsrId: dsr.id,
  status: "completed",
});

故障排除

合规检查执行失败

现象: compliance:run-check 返回错误或长时间无响应。

排查步骤:

  1. 确认 compliance.enabledtrue 且目标框架已在 frameworks 列表中
  2. 检查数据库连接是否正常,合规检查需要读取 compliance_checks
  3. 对于 SOC2 检查,确认证据目录 evidencePath 存在且有读写权限
  4. 减少单次检查的控制点范围,分批执行以避免超时

数据分类结果不准确

现象: compliance:classify-text 将敏感数据错误分类为低等级。

排查步骤:

  1. 确认 dataClassification.autoTaggingtrue,规则引擎处于启用状态
  2. 检查规则引擎的正则表达式是否覆盖了目标敏感数据格式
  3. mlEnabledfalse,分类仅依赖规则匹配,可能遗漏非标准格式
  4. 对误分类字段使用 compliance:classify-field 手动指定正确分类等级

DSR 请求处理超时

现象: compliance:dsr-export-datacompliance:dsr-delete-data 长时间未完成。

排查步骤:

  1. 检查目标 DID 关联的数据量,大量数据导出/删除需要较长时间
  2. 对于删除操作,确认 cascadeDelete 级联删除是否涉及大量关联表
  3. 查看 dsr:get-request-detail 确认请求当前处理阶段
  4. 考虑分批处理,先导出部分数据确认格式后再执行全量操作

故障排查

常见问题

症状可能原因解决方案
合规规则匹配失败规则表达式语法错误或版本过旧检查规则语法,执行 compliance rule-validate
数据分类精度低训练样本不足或分类器配置不当增加标注样本,调整分类器阈值和特征权重
DSR(数据主体请求)处理超时数据量大或跨系统查询慢启用并行查询,增大 dsrTimeout 配置
合规报告字段缺失数据源映射不完整检查字段映射配置 compliance mapping-check
证据收集失败目标系统访问权限不足确认服务账号具备读取权限,检查 API 密钥有效性

常见错误修复

错误: RULE_MATCH_FAILED 合规规则匹配异常

bash
# 验证规则语法
chainlesschain compliance rule-validate --rule-id <id>

# 重新加载规则集
chainlesschain compliance rule-reload --source default

错误: CLASSIFICATION_LOW_ACCURACY 数据分类精度不达标

bash
# 查看分类器状态和精度指标
chainlesschain compliance classifier-stats

# 重新训练分类器
chainlesschain compliance classifier-retrain --samples ./training-data/

错误: DSR_TIMEOUT 数据主体请求处理超时

bash
# 查看 DSR 处理队列
chainlesschain compliance dsr-queue --status pending

# 增大超时并重试
chainlesschain compliance dsr-retry --request-id <id> --timeout 300s

配置参考

主配置块

javascript
// desktop-app-vue/src/main/enterprise/compliance-manager.js
const complianceConfig = {
  enabled: true,

  // 启用的合规框架
  frameworks: ["soc2", "gdpr"], // 可加 'iso27001' | 'hipaa'

  // 定期检查调度(cron 格式)
  checkInterval: "0 0 * * *", // 每日午夜

  // 证据存储
  evidencePath: "./data/compliance/evidence",
  evidenceEncryption: "aes-256", // 证据文件全量加密

  // 数据分类
  dataClassification: {
    mlEnabled: false, // 启用 ML 分类器(需要额外模型)
    autoTagging: true, // 规则引擎自动标记
    encryptionMapping: {
      RESTRICTED: "aes-256",
      CONFIDENTIAL: "aes-128",
      INTERNAL: null, // 可选加密
      PUBLIC: null,
    },
    // 自定义正则规则(规则引擎)
    customRules: [
      {
        pattern: /\b\d{4}-\d{4}-\d{4}-\d{4}\b/,
        level: "RESTRICTED",
        label: "信用卡号",
      },
      {
        pattern: /password|passwd|secret/i,
        level: "RESTRICTED",
        label: "凭证字段",
      },
    ],
  },

  // GDPR DSR 设置
  dsr: {
    exportFormats: ["json", "csv"],
    retentionDays: 30, // DSR 请求记录保留天数
    dsrTimeout: 120000, // 单次 DSR 操作超时(ms)
    parallelQueries: 4, // 跨表并行查询线程数
  },

  // SOC2 证据收集
  soc2: {
    evidenceTypes: ["config", "log", "screenshot"],
    controlPointsFile: "./data/compliance/soc2-controls.json",
    reportTemplate: "standard", // 'standard' | 'executive'
  },
};

风险评分阈值

javascript
// 风险等级与评分映射
const riskThresholds = {
  LOW: { min: 80, label: "低风险", color: "green" },
  MEDIUM: { min: 60, label: "中风险", color: "yellow" },
  HIGH: { min: 40, label: "高风险", color: "orange" },
  CRITICAL: { min: 0, label: "严重风险", color: "red" },
};

// 自定义各框架权重
const frameworkWeights = {
  soc2: 1.5, // SaaS 产品优先
  gdpr: 1.2,
  iso27001: 1.0,
  hipaa: 1.0,
};

性能指标

操作目标实际状态
SOC2 全量检查(55 控制点)< 10 s~6 s
数据库字段扫描(120 字段)< 5 s~3 s
文本分类(规则引擎,单条)< 10 ms~4 ms
文本分类(ML 分类器,单条)< 200 ms~130 ms
DSR 数据导出(1 万条记录)< 30 s~18 s
DSR 级联删除(全量)< 60 s~35 s
风险评分计算(单框架)< 1 s~0.4 s
合规报告生成(PDF/JSON)< 5 s~3 s
证据文件 AES-256 加密(1 MB)< 100 ms~40 ms
IPC 处理器响应(平均)< 50 ms~20 ms

测试覆盖率

测试文件覆盖功能用例数
desktop-app-vue/tests/unit/enterprise/compliance-manager.test.js框架调度、风险评分、整体状态34
desktop-app-vue/tests/unit/enterprise/soc2-checker.test.js55 控制点检查、证据收集、报告生成48
desktop-app-vue/tests/unit/enterprise/data-classifier.test.js4 级分类、规则引擎、ML 分类器、字段扫描41
desktop-app-vue/tests/unit/enterprise/gdpr-dsr-handler.test.js访问权/删除权/修正权/可携权、级联删除36
desktop-app-vue/src/renderer/stores/__tests__/compliance.test.tsPinia Store、runSOC2Check、classifyDatabase22
packages/cli/src/__tests__/compliance.test.jsCLI 命令:run-check/scan-database/dsr-create 等29

安全考虑

  1. 证据加密: SOC2证据文件使用AES-256加密存储
  2. 访问控制: 合规管理仅限管理员角色
  3. 审计日志: 所有合规操作记录到audit_logs
  4. 数据脱敏: DSR导出自动脱敏敏感字段
  5. 级联删除: DSR删除确保完整性(外键约束)

使用示例

合规规则检查

bash
# 执行 SOC2 全量合规检查
chainlesschain compliance run-check --framework soc2

# 仅检查安全类控制点(TSC CC1.0)
chainlesschain compliance run-check --framework soc2 --category security

# 验证单条合规规则语法
chainlesschain compliance rule-validate --rule-id CC1.2

# 查看合规检查历史记录
chainlesschain compliance check-history --limit 10

数据分类扫描

bash
# 扫描整个数据库,自动分类所有字段
chainlesschain compliance scan-database

# 对指定表进行数据分类
chainlesschain compliance classify-table --table users

# 查看分类统计(按 PUBLIC/INTERNAL/CONFIDENTIAL/RESTRICTED 汇总)
chainlesschain compliance classifier-stats

# 重新训练分类器(提供标注样本目录)
chainlesschain compliance classifier-retrain --samples ./training-data/

DSR 请求处理

bash
# 创建数据导出请求(GDPR 访问权)
chainlesschain compliance dsr-create --did did:chainless:abc123 --type export

# 查看待处理 DSR 队列
chainlesschain compliance dsr-queue --status pending

# 执行数据删除(GDPR 删除权,级联删除关联数据)
chainlesschain compliance dsr-delete --did did:chainless:abc123 --cascade

# 重试超时的 DSR 请求
chainlesschain compliance dsr-retry --request-id <id> --timeout 300s

相关文档

关键文件

文件说明
desktop-app-vue/src/main/enterprise/compliance-manager.js统一合规引擎核心
desktop-app-vue/src/main/enterprise/soc2-checker.jsSOC2 合规检查与证据收集
desktop-app-vue/src/main/enterprise/data-classifier.js数据分类系统(ML+规则)
desktop-app-vue/src/main/enterprise/gdpr-dsr-handler.jsGDPR 数据主体请求处理
desktop-app-vue/src/renderer/stores/compliance.ts合规管理 Pinia Store

文档版本: 1.0.0 最后更新: 2026-02-27

基于 MIT 许可发布