企业审计与合规管理系统
模块概述
版本: v0.34.0 状态: ✅ 已实现 IPC处理器: 18个 最后更新: 2026-02-15
企业级审计日志、合规管理和数据主体请求(DSR)处理系统。支持 GDPR/SOC2/HIPAA 合规框架,提供不可篡改的审计追踪、合规策略引擎和自动化数据主体请求处理。
核心特性
- 统一审计日志: 跨所有子系统的操作事件聚合和追踪
- 合规策略引擎: GDPR/SOC2/HIPAA 多框架合规检查
- 数据主体请求: 自动化 DSR 处理(访问/删除/更正/迁移)
- 保留策略: 按时间和策略自动清理历史日志
- 敏感信息脱敏: 自动识别和脱敏密码、令牌等敏感字段
- HookSystem 集成: 通过钩子事件驱动审计记录
1. 架构设计
1.1 整体架构图
┌──────────────────────────────────────────────────────────────────┐
│ 前端 (Vue3) │
├──────────────────────────────────────────────────────────────────┤
│ EnterpriseAuditPage │ ComplianceDashboard │ DSRManager │
│ ↓ ↓ ↓ │
│ Pinia Store: audit.ts │
└──────────────────────────────────────────────────────────────────┘
↕ IPC (18个通道)
┌──────────────────────────────────────────────────────────────────┐
│ 主进程 (Electron) │
├──────────────────────────────────────────────────────────────────┤
│ audit-ipc.js (18个处理器) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ EnterpriseAuditLogger │ ComplianceManager │ DSRHandler │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ HookSystem (AuditLog事件) │ SQLite Database │ │
│ └─────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘1.2 数据流
用户操作 → HookSystem(AuditLog事件) → EnterpriseAuditLogger → 数据库
↓
ComplianceManager ← 定期检查 ← compliance_policies表
↓
DataSubjectHandler ← DSR请求 → 响应/导出1.3 核心组件
| 组件 | 文件 | 行数 | 说明 |
|---|---|---|---|
| EnterpriseAuditLogger | enterprise-audit-logger.js | ~450 | 统一审计日志聚合器 |
| ComplianceManager | compliance-manager.js | ~380 | 合规策略引擎 |
| DataSubjectHandler | data-subject-handler.js | ~320 | GDPR数据主体请求处理 |
| AuditIPC | audit-ipc.js | ~280 | 18个IPC处理器 |
2. 核心模块
2.1 EnterpriseAuditLogger
统一审计日志聚合器,跨所有子系统追踪操作事件。
功能特性:
- 事件类型分类: browser, permission, file, db, api, cowork
- 风险级别评估: low, medium, high, critical
- 操作结果记录: success, failure, blocked
- 合规标签关联: GDPR, SOC2, HIPAA
- 保留策略支持: 按时间自动清理
- 敏感参数脱敏: password, token, secret, apiKey, credential
核心方法:
javascript
class EnterpriseAuditLogger {
// 记录审计事件
async log(event) { }
// 查询审计日志(分页/筛选)
async query(filters) { }
// 获取日志详情
async getLogDetail(id) { }
// 导出JSON/CSV
async exportLogs(format, filters) { }
// 统计分析
async getStatistics(timeRange) { }
// 应用保留策略
async applyRetentionPolicy(policyId) { }
// 预览删除范围
async previewRetentionDeletion(policyId) { }
}脱敏规则:
javascript
const SENSITIVE_FIELDS = [
'password', 'token', 'secret', 'apiKey',
'credential', 'privateKey', 'passphrase'
];
// 自动将敏感字段值替换为 '***REDACTED***'2.2 ComplianceManager
GDPR/SOC2/HIPAA 合规检查引擎。
功能特性:
- 合规策略 CRUD 管理
- 框架级合规检查 (GDPR/SOC2/HIPAA)
- 合规报告生成 (按时间范围)
- 策略类型: retention, access_control, encryption
核心方法:
javascript
class ComplianceManager {
// 获取策略列表
async getPolicies(filters) { }
// 创建策略
async createPolicy(data) { }
// 更新策略
async updatePolicy(id, updates) { }
// 删除策略
async deletePolicy(id) { }
// 执行合规检查
async checkCompliance(framework) { }
// 生成合规报告
async generateReport(framework, dateRange) { }
}合规检查示例:
javascript
// GDPR 合规检查
const result = await complianceManager.checkCompliance('gdpr');
// 返回:
// {
// framework: 'gdpr',
// score: 85,
// passed: 17,
// failed: 3,
// checks: [
// { rule: 'data_retention', status: 'pass', detail: '...' },
// { rule: 'consent_management', status: 'fail', detail: '...' }
// ]
// }2.3 DataSubjectHandler
GDPR 数据主体请求处理器。
请求类型:
access- 数据访问请求 (GDPR Art. 15)erasure- 数据删除请求 (GDPR Art. 17, "被遗忘权")rectification- 数据更正请求 (GDPR Art. 16)portability- 数据可移植请求 (GDPR Art. 20)
核心方法:
javascript
class DataSubjectHandler {
// 创建请求
async createRequest(type, subjectDid, data) { }
// 列表查询
async listRequests(filters) { }
// 获取详情
async getRequestDetail(id) { }
// 处理请求
async processRequest(id) { }
// 审批请求
async approveRequest(id, responseData) { }
// 导出主体数据
async exportSubjectData(subjectDid) { }
}DSR 处理流程:
创建请求 → pending
↓
处理请求 → processing (收集相关数据)
↓
审批/拒绝 → completed / rejected
↓
(可选) 导出数据包3. 数据模型
3.1 enterprise_audit_log
| 字段 | 类型 | 说明 |
|---|---|---|
| id | TEXT PK | 日志ID (UUID) |
| timestamp | INTEGER | 时间戳 (毫秒) |
| event_type | TEXT | 事件类型 (browser/permission/file/db/api/cowork) |
| actor_did | TEXT | 操作者DID |
| operation | TEXT | 操作名称 |
| resource_type | TEXT | 资源类型 |
| resource_id | TEXT | 资源ID |
| details | TEXT(JSON) | 详细信息 (已脱敏) |
| risk_level | TEXT | 风险级别 (low/medium/high/critical) |
| compliance_tags | TEXT(JSON) | 合规标签数组 |
| outcome | TEXT | 结果 (success/failure/blocked) |
| retention_until | INTEGER | 保留截止时间 |
| session_id | TEXT | 会话ID |
3.2 compliance_policies
| 字段 | 类型 | 说明 |
|---|---|---|
| id | TEXT PK | 策略ID (UUID) |
| policy_type | TEXT | 类型 (retention/access_control/encryption) |
| framework | TEXT | 框架 (gdpr/soc2/hipaa) |
| name | TEXT | 策略名称 |
| description | TEXT | 策略描述 |
| rules | TEXT(JSON) | 规则定义 |
| enabled | BOOLEAN | 是否启用 |
| created_at | INTEGER | 创建时间 |
| updated_at | INTEGER | 更新时间 |
3.3 data_subject_requests
| 字段 | 类型 | 说明 |
|---|---|---|
| id | TEXT PK | 请求ID (UUID) |
| request_type | TEXT | 类型 (access/erasure/rectification/portability) |
| subject_did | TEXT | 数据主体DID |
| status | TEXT | 状态 (pending/processing/completed/rejected) |
| request_data | TEXT(JSON) | 请求数据 |
| response_data | TEXT(JSON) | 响应数据 |
| created_at | INTEGER | 创建时间 |
| completed_at | INTEGER | 完成时间 |
| deadline | INTEGER | 截止时间 (GDPR要求30天内响应) |
4. IPC接口 (18个)
4.1 审计日志 (4个)
| 通道 | 说明 | 参数 |
|---|---|---|
audit:query-logs | 查询审计日志 | filters: |
audit:get-log-detail | 获取日志详情 | id: string |
audit:export-logs | 导出日志 | format: 'json' | 'csv', filters: object |
audit:get-statistics | 获取统计信息 | timeRange: |
4.2 合规管理 (6个)
| 通道 | 说明 | 参数 |
|---|---|---|
compliance:get-policies | 获取合规策略 | filters: |
compliance:create-policy | 创建策略 | data: |
compliance:update-policy | 更新策略 | id: string, updates: object |
compliance:delete-policy | 删除策略 | id: string |
compliance:check-compliance | 执行合规检查 | framework: 'gdpr' | 'soc2' | 'hipaa' |
compliance:generate-report | 生成合规报告 | framework: string, dateRange: |
4.3 数据主体请求 (6个)
| 通道 | 说明 | 参数 |
|---|---|---|
dsr:create-request | 创建DSR请求 | type: string, subjectDid: string, data: object |
dsr:list-requests | 列表查询 | filters: |
dsr:get-request-detail | 获取详情 | id: string |
dsr:process-request | 处理请求 | id: string |
dsr:approve-request | 审批请求 | id: string, responseData: object |
dsr:export-subject-data | 导出主体数据 | subjectDid: string |
4.4 保留策略 (2个)
| 通道 | 说明 | 参数 |
|---|---|---|
retention:apply-policy | 应用保留策略 | policyId: string |
retention:preview-deletion | 预览删除范围 | policyId: string |
5. 前端页面
5.1 EnterpriseAuditPage.vue
审计日志查看器页面:
- 事件类型/风险级别/操作者多维筛选
- 时间线视图,支持日期范围选择
- 日志详情模态框,展示完整事件信息
- 一键导出 JSON/CSV 格式
- 风险级别颜色标识 (low=绿, medium=黄, high=橙, critical=红)
5.2 ComplianceDashboard.vue
合规管理仪表板:
- 合规评分卡 (GDPR/SOC2/HIPAA 各项得分)
- 策略状态概览和管理
- DSR 请求追踪表格 (状态、截止日期)
- 合规报告生成和下载
- ECharts 合规趋势图表
5.3 Pinia Store: audit.ts
typescript
interface AuditState {
logs: AuditLog[];
totalLogs: number;
currentPage: number;
policies: CompliancePolicy[];
dsrRequests: DataSubjectRequest[];
statistics: AuditStatistics | null;
loading: boolean;
}6. 安全设计
6.1 审计日志安全
- 不可篡改性: 审计日志仅支持追加写入,不允许修改或删除
- 完整性校验: 每条日志包含前一条的哈希值,形成链式校验
- 加密存储: 审计数据随数据库加密 (SQLCipher AES-256)
6.2 敏感信息保护
- 自动脱敏: 检测 password, token, secret, apiKey, credential 等字段
- 脱敏算法: 字段值替换为
***REDACTED*** - 深度扫描: 递归扫描嵌套对象中的敏感字段
6.3 访问控制
- 审计日志查看需要
audit:read权限 - 合规策略管理需要
compliance:manage权限 - DSR 处理需要
dsr:process权限 - 日志导出需要
audit:export权限
7. HookSystem 集成
新增 3 个钩子事件:
| 事件 | 触发时机 | 数据 |
|---|---|---|
AuditLog | 审计日志记录时 | event: AuditEvent |
ComplianceCheck | 合规检查执行时 | framework: string, result: object |
DataSubjectRequest | DSR 请求状态变更时 | request: DSRRequest, oldStatus: string |
8. 文件结构
desktop-app-vue/src/main/audit/
├── enterprise-audit-logger.js # 统一审计日志聚合器
├── compliance-manager.js # 合规策略引擎
├── data-subject-handler.js # GDPR数据主体请求
└── audit-ipc.js # 18个IPC处理器
desktop-app-vue/src/renderer/
├── pages/audit/
│ ├── EnterpriseAuditPage.vue # 审计日志查看器
│ └── ComplianceDashboard.vue # 合规管理仪表板
└── stores/audit.ts # 审计状态管理9. 相关文档
文档版本: 1.0 最后更新: 2026-02-15
