docs: 添加DataPointer产品白皮书与功能架构图
- 编写完整功能介绍白皮书(含产品概述、功能详解、技术架构、部署方案) - 绘制总体功能架构图、数据流向图、安全闭环图、部署架构图、核心业务流程图
This commit is contained in:
@@ -0,0 +1,354 @@
|
|||||||
|
# DataPointer 功能架构图
|
||||||
|
|
||||||
|
## 一、总体功能架构图
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
%% 样式定义
|
||||||
|
classDef userLayer fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000
|
||||||
|
classDef appLayer fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000
|
||||||
|
classDef securityLayer fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#000
|
||||||
|
classDef engineLayer fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px,color:#000
|
||||||
|
classDef dataLayer fill:#eceff1,stroke:#455a64,stroke-width:2px,color:#000
|
||||||
|
classDef infraLayer fill:#fce4ec,stroke:#c2185b,stroke-width:2px,color:#000
|
||||||
|
|
||||||
|
%% 用户层
|
||||||
|
subgraph L5["👤 用户层"]
|
||||||
|
U1[数据安全管理员]
|
||||||
|
U2[合规审计员]
|
||||||
|
U3[分类打标员]
|
||||||
|
U4[系统管理员]
|
||||||
|
U5[业务分析师]
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 展示层
|
||||||
|
subgraph L4["🖥️ 展示层"]
|
||||||
|
V1[数据资产仪表盘]
|
||||||
|
V2[分类分级工作台]
|
||||||
|
V3[安全风险驾驶舱]
|
||||||
|
V4[合规报告中心]
|
||||||
|
V5[任务与工单看板]
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 业务应用层
|
||||||
|
subgraph L3["📦 业务应用层"]
|
||||||
|
direction TB
|
||||||
|
subgraph M1["资产管理"]
|
||||||
|
A1[数据源管理]
|
||||||
|
A2[元数据目录]
|
||||||
|
A3[Schema变更追踪]
|
||||||
|
end
|
||||||
|
subgraph M2["分类分级"]
|
||||||
|
A4[分类项目管理]
|
||||||
|
A5[标注任务中心]
|
||||||
|
A6[规则模板管理]
|
||||||
|
end
|
||||||
|
subgraph M3["安全运营"]
|
||||||
|
A7[告警规则]
|
||||||
|
A8[工单流转]
|
||||||
|
A9[API资产管理]
|
||||||
|
end
|
||||||
|
subgraph M4["报表中心"]
|
||||||
|
A10[统计报表]
|
||||||
|
A11[报告导出]
|
||||||
|
A12[操作审计]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 安全能力层
|
||||||
|
subgraph L2["🔒 安全能力层"]
|
||||||
|
direction TB
|
||||||
|
subgraph S1["数据保护"]
|
||||||
|
B1[静态脱敏引擎]
|
||||||
|
B2[数字水印溯源]
|
||||||
|
end
|
||||||
|
subgraph S2["风险合规"]
|
||||||
|
B3[风险评分模型]
|
||||||
|
B4[合规检查引擎]
|
||||||
|
end
|
||||||
|
subgraph S3["血缘追溯"]
|
||||||
|
B5[SQL血缘解析]
|
||||||
|
B6[血缘关系图谱]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 核心引擎层
|
||||||
|
subgraph L1["⚙️ 核心引擎层"]
|
||||||
|
direction TB
|
||||||
|
subgraph E1["采集与识别"]
|
||||||
|
C1[元数据采集引擎]
|
||||||
|
C2[增量扫描引擎]
|
||||||
|
C3[Schema比对引擎]
|
||||||
|
end
|
||||||
|
subgraph E2["智能分类"]
|
||||||
|
C4[规则匹配引擎]
|
||||||
|
C5[语义相似度引擎]
|
||||||
|
C6[ML分类模型]
|
||||||
|
end
|
||||||
|
subgraph E3["文件解析"]
|
||||||
|
C7[Word/Excel解析]
|
||||||
|
C8[PDF文本提取]
|
||||||
|
C9[非结构化识别]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 数据源层
|
||||||
|
subgraph L0["🗄️ 数据源层"]
|
||||||
|
D1[(PostgreSQL)]
|
||||||
|
D2[(MySQL)]
|
||||||
|
D3[(Oracle)]
|
||||||
|
D4[(SQLServer)]
|
||||||
|
D5[(达梦DM)]
|
||||||
|
D6[MinIO对象存储]
|
||||||
|
D7[Swagger/OpenAPI]
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 基础设施层
|
||||||
|
subgraph INF["☁️ 基础设施层"]
|
||||||
|
I1[(PostgreSQL 16)]
|
||||||
|
I2[(Redis 7)]
|
||||||
|
I3[MinIO]
|
||||||
|
I4[Celery Worker]
|
||||||
|
I5[Celery Beat]
|
||||||
|
end
|
||||||
|
|
||||||
|
%% 连接关系
|
||||||
|
U1 --> V1 & V3
|
||||||
|
U2 --> V4
|
||||||
|
U3 --> V2 & V5
|
||||||
|
U4 --> V1 & V4 & V5
|
||||||
|
U5 --> V1 & V2
|
||||||
|
|
||||||
|
V1 --> A1 & A2 & A10
|
||||||
|
V2 --> A4 & A5 & A6
|
||||||
|
V3 --> A7 & A8 & A10
|
||||||
|
V4 --> A11 & A12
|
||||||
|
V5 --> A5 & A8
|
||||||
|
|
||||||
|
A1 --> C1
|
||||||
|
A2 --> C1 & C2
|
||||||
|
A3 --> C3
|
||||||
|
A4 --> C4 & C5 & C6
|
||||||
|
A5 --> C4
|
||||||
|
A6 --> C4 & C5
|
||||||
|
A7 --> B3 & B4
|
||||||
|
A8 --> B3
|
||||||
|
A9 --> C9
|
||||||
|
A10 --> B3 & B4
|
||||||
|
A11 --> B1 & B2
|
||||||
|
|
||||||
|
B1 --> C1
|
||||||
|
B2 --> C7 & C8
|
||||||
|
B3 --> C4 & C6
|
||||||
|
B4 --> C4 & C6
|
||||||
|
B5 --> C1
|
||||||
|
B6 --> B5
|
||||||
|
|
||||||
|
C1 --> D1 & D2 & D3 & D4 & D5
|
||||||
|
C7 --> D6
|
||||||
|
C8 --> D6
|
||||||
|
C9 --> D6 & D7
|
||||||
|
|
||||||
|
C1 --> I1
|
||||||
|
C2 --> I2
|
||||||
|
C4 --> I4
|
||||||
|
C6 --> I4
|
||||||
|
B3 --> I5
|
||||||
|
B4 --> I5
|
||||||
|
|
||||||
|
%% 样式应用
|
||||||
|
class U1,U2,U3,U4,U5 userLayer
|
||||||
|
class V1,V2,V3,V4,V5 userLayer
|
||||||
|
class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 appLayer
|
||||||
|
class B1,B2,B3,B4,B5,B6 securityLayer
|
||||||
|
class C1,C2,C3,C4,C5,C6,C7,C8,C9 engineLayer
|
||||||
|
class D1,D2,D3,D4,D5,D6,D7 dataLayer
|
||||||
|
class I1,I2,I3,I4,I5 infraLayer
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、数据流向架构图
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph 输入["📥 数据输入"]
|
||||||
|
IN1[关系型数据库]
|
||||||
|
IN2[非结构化文件]
|
||||||
|
IN3[API文档]
|
||||||
|
IN4[SQL脚本]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 处理["🔧 核心处理"]
|
||||||
|
P1[元数据采集]
|
||||||
|
P2[规则/ML分类]
|
||||||
|
P3[风险评分]
|
||||||
|
P4[合规扫描]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 存储["💾 数据存储"]
|
||||||
|
S1[(PostgreSQL<br/>业务数据)]
|
||||||
|
S2[(Redis<br/>缓存/队列)]
|
||||||
|
S3[MinIO<br/>文件存储]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 输出["📤 数据输出"]
|
||||||
|
OUT1[分类结果库]
|
||||||
|
OUT2[风险评分报告]
|
||||||
|
OUT3[合规差距分析]
|
||||||
|
OUT4[血缘关系图]
|
||||||
|
OUT5[脱敏/水印数据]
|
||||||
|
end
|
||||||
|
|
||||||
|
IN1 --> P1 --> S1
|
||||||
|
IN2 --> P2 --> S3
|
||||||
|
IN3 --> P2 --> S1
|
||||||
|
IN4 --> P4 --> S1
|
||||||
|
|
||||||
|
S1 --> P2 --> OUT1
|
||||||
|
S1 --> P3 --> OUT2
|
||||||
|
S1 --> P4 --> OUT3
|
||||||
|
S1 --> P4 --> OUT4
|
||||||
|
S3 --> P4 --> OUT5
|
||||||
|
|
||||||
|
S2 -.-> P1 & P2 & P3 & P4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、安全能力闭环图
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
A[数据发现] --> B[自动分类分级]
|
||||||
|
B --> C[风险量化评估]
|
||||||
|
C --> D{风险等级?}
|
||||||
|
|
||||||
|
D -->|高风险| E[触发告警]
|
||||||
|
D -->|中风险| F[生成工单]
|
||||||
|
D -->|低风险| G[持续监控]
|
||||||
|
|
||||||
|
E --> H[数据脱敏]
|
||||||
|
F --> H
|
||||||
|
H --> I[数字水印]
|
||||||
|
I --> J[合规检查]
|
||||||
|
J --> K{合规通过?}
|
||||||
|
|
||||||
|
K -->|否| L[整改优化]
|
||||||
|
L --> B
|
||||||
|
K -->|是| M[报告导出]
|
||||||
|
G --> N[Schema变更追踪]
|
||||||
|
N --> C
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 四、系统部署架构图
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
subgraph 外部用户["外部用户"]
|
||||||
|
USER[浏览器/客户端]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 接入层["接入层"]
|
||||||
|
NGINX[Nginx<br/>反向代理/负载均衡]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 应用层["应用层"]
|
||||||
|
FE[Vue3 前端<br/>静态资源]
|
||||||
|
BE1[FastAPI 实例1]
|
||||||
|
BE2[FastAPI 实例2]
|
||||||
|
WORKER1[Celery Worker 1]
|
||||||
|
WORKER2[Celery Worker 2]
|
||||||
|
BEAT[Celery Beat]
|
||||||
|
FLOWER[Flower 监控]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 数据层["数据层"]
|
||||||
|
PG[(PostgreSQL<br/>主从集群)]
|
||||||
|
REDIS[(Redis<br/>Sentinel)]
|
||||||
|
MINIO[MinIO<br/>分布式对象存储]
|
||||||
|
end
|
||||||
|
|
||||||
|
USER --> NGINX
|
||||||
|
NGINX --> FE
|
||||||
|
NGINX --> BE1 & BE2
|
||||||
|
BE1 & BE2 --> PG & REDIS & MINIO
|
||||||
|
BEAT --> REDIS
|
||||||
|
WORKER1 & WORKER2 --> REDIS & PG & MINIO
|
||||||
|
FLOWER --> REDIS
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 五、核心业务流程图
|
||||||
|
|
||||||
|
### 5.1 数据分类分级流程
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
actor 管理员
|
||||||
|
participant 前端
|
||||||
|
participant 后端API
|
||||||
|
participant Celery
|
||||||
|
participant 数据库
|
||||||
|
|
||||||
|
管理员->>前端: 创建分类项目
|
||||||
|
前端->>后端API: POST /projects
|
||||||
|
后端API->>数据库: 保存项目配置
|
||||||
|
数据库-->>后端API: 返回项目ID
|
||||||
|
后端API-->>前端: 创建成功
|
||||||
|
|
||||||
|
管理员->>前端: 启动自动分类
|
||||||
|
前端->>后端API: POST /auto-classify/{id}
|
||||||
|
后端API->>Celery: 投递异步任务
|
||||||
|
Celery-->>后端API: 任务ID
|
||||||
|
后端API-->>前端: 已开始
|
||||||
|
|
||||||
|
loop 进度轮询
|
||||||
|
前端->>后端API: GET /auto-classify-status
|
||||||
|
后端API-->>前端: 当前进度
|
||||||
|
end
|
||||||
|
|
||||||
|
Celery->>数据库: 写入分类结果
|
||||||
|
Celery-->>后端API: 任务完成
|
||||||
|
|
||||||
|
管理员->>前端: 查看结果并人工复核
|
||||||
|
前端->>后端API: PUT /results/{id}/label
|
||||||
|
后端API->>数据库: 更新结果状态
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.2 风险告警与工单流程
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant 定时器
|
||||||
|
participant CeleryBeat
|
||||||
|
participant 告警引擎
|
||||||
|
participant 数据库
|
||||||
|
actor 安全管理员
|
||||||
|
participant 工单系统
|
||||||
|
|
||||||
|
定时器->>CeleryBeat: 触发每日扫描
|
||||||
|
CeleryBeat->>告警引擎: 执行风险重算
|
||||||
|
告警引擎->>数据库: 查询敏感数据分布
|
||||||
|
告警引擎->>告警引擎: 比对阈值规则
|
||||||
|
|
||||||
|
alt 触发告警条件
|
||||||
|
告警引擎->>数据库: 写入告警记录
|
||||||
|
告警引擎-->>安全管理员: 站内消息通知
|
||||||
|
安全管理员->>工单系统: 一键转工单
|
||||||
|
工单系统->>数据库: 创建工单记录
|
||||||
|
工单系统-->>安全管理员: 指派处理人
|
||||||
|
else 未触发
|
||||||
|
告警引擎->>数据库: 更新风险评分
|
||||||
|
end
|
||||||
|
|
||||||
|
安全管理员->>工单系统: 处理完成
|
||||||
|
工单系统->>数据库: 更新工单状态
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*DataPointer 功能架构图 v1.0 | 由 DataPointer 项目组编制*
|
||||||
@@ -0,0 +1,362 @@
|
|||||||
|
# DataPointer 数据安全分级及风险管理平台
|
||||||
|
|
||||||
|
## 产品白皮书
|
||||||
|
|
||||||
|
> **版本**:v1.0
|
||||||
|
> **日期**:2026-04-25
|
||||||
|
> **定位**:财产保险行业数据分级分类管理与数据安全治理平台
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、产品概述
|
||||||
|
|
||||||
|
DataPointer 是一款面向财产保险行业的数据安全分级分类及风险管理平台。平台以《数据安全法》《个人信息保护法》及保险行业监管要求为合规基线,通过自动化的元数据采集、智能分类分级引擎、多维风险量化模型与全链路数据安全能力,帮助保险企业实现数据资产的"可见、可管、可控"。
|
||||||
|
|
||||||
|
### 1.1 核心价值
|
||||||
|
|
||||||
|
| 价值维度 | 具体收益 |
|
||||||
|
|---------|---------|
|
||||||
|
| **合规达标** | 对标等保 2.0、PIPL、GDPR 及银保监会数据监管要求,自动生成合规差距报告 |
|
||||||
|
| **资产可视化** | 多数据源统一纳管,库/表/字段层级血缘与敏感分布一目了然 |
|
||||||
|
| **智能分类** | 规则引擎 + ML 模型双引擎驱动,万级字段分钟级自动定级,准确率 ≥ 70% |
|
||||||
|
| **风险量化** | 基于暴露面与保护措施的动态风险评分,敏感数据变动实时感知 |
|
||||||
|
| **安全闭环** | 脱敏、水印、告警、工单四位一体,实现数据安全治理闭环 |
|
||||||
|
|
||||||
|
### 1.2 适用场景
|
||||||
|
|
||||||
|
- **数据分类分级治理**:核心业务系统、客户信息系统、财务系统的敏感数据梳理与定级
|
||||||
|
- **监管合规检查**:等保测评、个人信息保护审计、监管报送前的数据合规自检
|
||||||
|
- **数据出境评估**:识别出境数据中的敏感与核心数据,评估保护强度
|
||||||
|
- **API 敏感接口治理**:扫描 Swagger/OpenAPI,识别暴露敏感字段的接口
|
||||||
|
- **非结构化文件管控**:Word、Excel、PDF 合同与保单中的敏感信息识别
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、功能架构总览
|
||||||
|
|
||||||
|
DataPointer 采用"四层两域"的功能架构:
|
||||||
|
|
||||||
|
- **四层**:数据采集层 → 核心引擎层 → 安全能力层 → 业务应用层
|
||||||
|
- **两域**:管理域(配置、审批、审计)+ 运营域(分类、脱敏、风控)
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
subgraph 展示层["展示层"]
|
||||||
|
A1[数据资产大屏]
|
||||||
|
A2[分类分级工作台]
|
||||||
|
A3[安全风险驾驶舱]
|
||||||
|
A4[合规报告中心]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 业务应用层["业务应用层"]
|
||||||
|
B1[数据源管理]
|
||||||
|
B2[分类项目管理]
|
||||||
|
B3[标注任务中心]
|
||||||
|
B4[报表与报告]
|
||||||
|
B5[告警工单]
|
||||||
|
B6[API资产]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 安全能力层["安全能力层"]
|
||||||
|
C1[数据脱敏]
|
||||||
|
C2[数字水印]
|
||||||
|
C3[合规检查]
|
||||||
|
C4[风险评分]
|
||||||
|
C5[血缘分析]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 核心引擎层["核心引擎层"]
|
||||||
|
D1[元数据采集引擎]
|
||||||
|
D2[规则分类引擎]
|
||||||
|
D3[ML辅助分类]
|
||||||
|
D4[Schema变更感知]
|
||||||
|
D5[非结构化识别]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 数据采集层["数据采集层"]
|
||||||
|
E1[(PostgreSQL)]
|
||||||
|
E2[(MySQL)]
|
||||||
|
E3[(Oracle)]
|
||||||
|
E4[(SQLServer)]
|
||||||
|
E5[(达梦DM)]
|
||||||
|
E6[MinIO文件存储]
|
||||||
|
E7[Swagger/OpenAPI]
|
||||||
|
end
|
||||||
|
|
||||||
|
展示层 --> 业务应用层
|
||||||
|
业务应用层 --> 安全能力层
|
||||||
|
安全能力层 --> 核心引擎层
|
||||||
|
核心引擎层 --> 数据采集层
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、功能模块详解
|
||||||
|
|
||||||
|
### 3.1 数据资产管理
|
||||||
|
|
||||||
|
**数据源管理**
|
||||||
|
- 支持 PostgreSQL、MySQL、Oracle、SQLServer、达梦(DM)等多类型数据源注册
|
||||||
|
- 数据源连接密码采用 Fernet 加密存储,密钥外部注入,重启后可解密
|
||||||
|
- 连接可用性一键测试,数据源状态实时监控(活跃/异常)
|
||||||
|
|
||||||
|
**元数据采集**
|
||||||
|
- 自动采集库、表、字段三级元数据,包含数据类型、长度、注释、样本数据
|
||||||
|
- 支持增量采集:基于 `checksum` 与 `last_scanned_at` 仅同步变更,减少数据库压力
|
||||||
|
- 支持全量手动同步与定时自动同步两种模式
|
||||||
|
|
||||||
|
**Schema 变更追踪**
|
||||||
|
- 增量采集时自动比对历史元数据,识别新增/删除/修改字段
|
||||||
|
- 生成 Schema 变更日志,敏感字段新增时自动标红告警
|
||||||
|
- 支持按数据源、变更类型(ADD/MODIFY/DROP)筛选查询
|
||||||
|
|
||||||
|
### 3.2 数据分类分级
|
||||||
|
|
||||||
|
**分类标准管理**
|
||||||
|
- 内置财产保险行业分类模板:客户信息、保单信息、理赔信息、财务信息、渠道信息、监管报送、内部系统
|
||||||
|
- 五级安全等级:公开级(L1)、内部级(L2)、秘密级(L3)、机密级(L4)、核心级(L5)
|
||||||
|
- 支持自定义分类目录与颜色标识
|
||||||
|
|
||||||
|
**识别规则引擎**
|
||||||
|
- 规则类型:正则匹配、关键词包含、枚举值、语义相似度(cosine similarity ≥ 0.75)
|
||||||
|
- 规则绑定分类 + 等级,支持多规则组合命中
|
||||||
|
- 规则热更新,无需重启即可生效
|
||||||
|
|
||||||
|
**自动分类引擎**
|
||||||
|
- 基于规则的自动打标:字段名、注释、样本数据多维度匹配
|
||||||
|
- Celery 异步执行,万级字段分类不阻塞 HTTP 接口
|
||||||
|
- 实时进度反馈:前端进度条 + 后端 `scan_progress` 轮询
|
||||||
|
|
||||||
|
**ML 辅助分类**
|
||||||
|
- 基于字段 name / comment / sample_data 的 TF-IDF 特征工程
|
||||||
|
- 支持 LogisticRegression / RandomForest 模型训练
|
||||||
|
- 提供 `ml-suggest` 接口,前端一键采纳推荐标签与置信度
|
||||||
|
- 模型版本化管理(MLModelVersion),支持回滚与 A/B 对比
|
||||||
|
|
||||||
|
**人工标注与审核**
|
||||||
|
- 项目化任务分配:创建任务 → 指派打标员 → 提交结果 → 审核员复核
|
||||||
|
- 支持单人标注、多人交叉标注两种模式
|
||||||
|
- 标注结果状态流转:auto → manual → reviewed → published
|
||||||
|
|
||||||
|
### 3.3 数据安全保护
|
||||||
|
|
||||||
|
**数据静态脱敏**
|
||||||
|
- 脱敏策略:掩码(mask)、截断(truncate)、哈希(hash)、泛化(generalize)、替换(replace)
|
||||||
|
- 策略绑定敏感等级与分类,支持批量策略应用
|
||||||
|
- 脱敏预览:左右对比原文与脱敏后效果,确认后导出
|
||||||
|
|
||||||
|
**数字水印溯源**
|
||||||
|
- 文本水印:采用零宽空格(Zero-Width Spaces)嵌入用户 ID
|
||||||
|
- 水印不可见、不影响可读性,复制粘贴后仍可提取
|
||||||
|
- 溯源 API 提取水印信息,精准定位数据泄露源头
|
||||||
|
- WatermarkLog 记录每次导出行为,形成审计链条
|
||||||
|
|
||||||
|
### 3.4 风险管理与合规
|
||||||
|
|
||||||
|
**风险评分模型**
|
||||||
|
- 评分公式:`RiskScore = Σ(Li × exposure × (1 - protection_rate))`
|
||||||
|
- 四级聚合:全局风险 → 数据源风险 → 数据库风险 → 表级风险
|
||||||
|
- 风险 TOP N 排行,Dashboard 实时展示风险趋势
|
||||||
|
- Celery Beat 每日自动重算,敏感字段未脱敏时分数自动上升
|
||||||
|
|
||||||
|
**合规检查引擎**
|
||||||
|
- 内置规则库:等保 2.0、PIPL(个人信息保护法)、GDPR
|
||||||
|
- 可插拔检查器基类,支持自定义合规规则
|
||||||
|
- 自动扫描生成问题清单:L5 未脱敏、缺少分类、Schema 变更未审批等
|
||||||
|
- 支持问题导出为合规差距分析报告
|
||||||
|
|
||||||
|
**智能告警与工单**
|
||||||
|
- 告警规则配置:敏感字段新增数、风险分阈值、Schema 变更类型
|
||||||
|
- 告警记录管理:未读/已读/已处理状态流转
|
||||||
|
- 一键转工单:告警 → 工单 → 指派 → 处理 → 关闭
|
||||||
|
- 工单状态:open → in_progress → resolved,支持处理结论备注
|
||||||
|
|
||||||
|
### 3.5 数据血缘分析
|
||||||
|
|
||||||
|
- 基于 `sqlparse` 解析 SQL 脚本(ETL、存储过程),提取表级血缘关系
|
||||||
|
- 支持 INSERT/CREATE TABLE AS / MERGE 等常见语法
|
||||||
|
- 前端 ECharts 关系图展示,支持上下游 3 层展开
|
||||||
|
- 血缘记录持久化存储,支持按表名查询全链路影响
|
||||||
|
|
||||||
|
### 3.6 API 资产安全管理
|
||||||
|
|
||||||
|
- API 资产注册:名称、基础 URL、Swagger 地址、认证方式
|
||||||
|
- 自动扫描 Swagger/OpenAPI 文档,解析端点、参数、响应 Schema
|
||||||
|
- 规则引擎标记敏感接口:暴露 phone、idCard、bankCard 等字段的接口自动标红
|
||||||
|
- 端点级风险等级评估与清单导出
|
||||||
|
|
||||||
|
### 3.7 非结构化数据识别
|
||||||
|
|
||||||
|
- 支持 Word、Excel、PDF、TXT 文件上传
|
||||||
|
- 文件存储至 MinIO,解析文本后送入规则引擎
|
||||||
|
- 识别结果:匹配规则名、敏感分类、安全等级、文本片段定位
|
||||||
|
- 支持重新处理与结果查看
|
||||||
|
|
||||||
|
### 3.8 数据资产仪表盘
|
||||||
|
|
||||||
|
**核心指标卡**
|
||||||
|
- 数据源总数、数据表总数、字段总数
|
||||||
|
- 已分类字段数、敏感字段数、项目总数
|
||||||
|
|
||||||
|
**可视化图表**
|
||||||
|
- 等级分布饼图:L1~L5 字段占比
|
||||||
|
- 分类 TOP8 横向柱状图
|
||||||
|
- 数据源 × 等级热力矩阵
|
||||||
|
- 项目进度甘特图
|
||||||
|
- 风险趋势折线图
|
||||||
|
|
||||||
|
**报告导出**
|
||||||
|
- 支持 Word、Excel、PDF 三种格式
|
||||||
|
- 报告包含:项目概况、等级分布、Top20 敏感清单、合规摘要
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 四、技术架构
|
||||||
|
|
||||||
|
### 4.1 总体技术栈
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph 前端["前端层"]
|
||||||
|
F1[Vue 3]
|
||||||
|
F2[Vite]
|
||||||
|
F3[Element Plus]
|
||||||
|
F4[ECharts]
|
||||||
|
F5[Pinia]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 后端["后端层"]
|
||||||
|
B1[FastAPI]
|
||||||
|
B2[SQLAlchemy 2.0]
|
||||||
|
B3[Pydantic v2]
|
||||||
|
B4[Celery]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 数据层["数据层"]
|
||||||
|
D1[(PostgreSQL 16)]
|
||||||
|
D2[(Redis 7)]
|
||||||
|
D3[MinIO]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph 算法层["算法层"]
|
||||||
|
A1[scikit-learn]
|
||||||
|
A2[sqlparse]
|
||||||
|
A3[TfidfVectorizer]
|
||||||
|
end
|
||||||
|
|
||||||
|
前端 -->|HTTP /api/v1| 后端
|
||||||
|
后端 -->|SQL| 数据层
|
||||||
|
后端 -->|Task Queue| D2
|
||||||
|
后端 -->|Object Storage| D3
|
||||||
|
后端 -->|ML / Parsing| 算法层
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 后端服务架构
|
||||||
|
|
||||||
|
| 服务 | 技术 | 职责 |
|
||||||
|
|------|------|------|
|
||||||
|
| Web API | FastAPI + Uvicorn | RESTful API 服务,JWT 认证 |
|
||||||
|
| Celery Worker | Celery + Redis | 异步分类、ML 训练、风险重算 |
|
||||||
|
| Celery Beat | Celery + Redis | 定时任务调度(风险重算、合规扫描)|
|
||||||
|
| Flower | Celery Monitor | 任务监控与可视化 |
|
||||||
|
|
||||||
|
### 4.3 数据模型设计
|
||||||
|
|
||||||
|
平台共涉及 **31 张业务表**,核心实体关系如下:
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
erDiagram
|
||||||
|
DATA_SOURCE ||--o{ META_DATABASE : contains
|
||||||
|
META_DATABASE ||--o{ META_TABLE : contains
|
||||||
|
META_TABLE ||--o{ META_COLUMN : contains
|
||||||
|
CLASSIFICATION_PROJECT ||--o{ CLASSIFICATION_TASK : has
|
||||||
|
CLASSIFICATION_PROJECT ||--o{ CLASSIFICATION_RESULT : produces
|
||||||
|
META_COLUMN ||--o{ CLASSIFICATION_RESULT : classified_as
|
||||||
|
CATEGORY ||--o{ CLASSIFICATION_RESULT : belongs_to
|
||||||
|
DATA_LEVEL ||--o{ CLASSIFICATION_RESULT : rated_as
|
||||||
|
SYS_USER ||--o{ CLASSIFICATION_TASK : assigned_to
|
||||||
|
DATA_SOURCE ||--o{ RISK_ASSESSMENT : assessed
|
||||||
|
CLASSIFICATION_RESULT ||--o{ COMPLIANCE_ISSUE : generates
|
||||||
|
ALERT_RECORD ||--o{ WORK_ORDER : converts_to
|
||||||
|
API_ASSET ||--o{ API_ENDPOINT : has
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 五、部署方案
|
||||||
|
|
||||||
|
### 5.1 Docker Compose 单机部署(推荐试用)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# 一键启动 7 个服务
|
||||||
|
services:
|
||||||
|
db: postgres:16-alpine
|
||||||
|
redis: redis:7-alpine
|
||||||
|
minio: minio/minio
|
||||||
|
backend: FastAPI + Alembic 自动迁移
|
||||||
|
frontend: Vue3 Vite DevServer
|
||||||
|
celery_worker: Celery Worker (concurrency=2)
|
||||||
|
celery_beat: Celery Beat 定时调度
|
||||||
|
flower: Celery 监控面板
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.2 生产环境最低配置
|
||||||
|
|
||||||
|
| 资源 | 最低规格 | 推荐规格 |
|
||||||
|
|------|---------|---------|
|
||||||
|
| CPU | 4 核 | 8 核 |
|
||||||
|
| 内存 | 8 GB | 16 GB |
|
||||||
|
| 磁盘 | 100 GB SSD | 500 GB SSD |
|
||||||
|
| 网络 | 5 Mbps | 10 Mbps |
|
||||||
|
|
||||||
|
### 5.3 高可用扩展建议
|
||||||
|
|
||||||
|
- **数据库**:PostgreSQL 主从 + 连接池(PgBouncer)
|
||||||
|
- **缓存/队列**:Redis Sentinel 或 Redis Cluster
|
||||||
|
- **对象存储**:MinIO 分布式集群
|
||||||
|
- **应用层**:FastAPI 多实例 + Nginx 负载均衡
|
||||||
|
- **前端**:静态资源托管至 CDN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 六、安全设计
|
||||||
|
|
||||||
|
### 6.1 认证与授权
|
||||||
|
|
||||||
|
- JWT Access Token + Refresh Token 双令牌机制
|
||||||
|
- RBAC 角色权限控制:超级管理员 / 管理员 / 项目负责人 / 打标员 / 审核员 / 访客
|
||||||
|
- 数据隔离:非管理员仅可查看自己创建/参与的项目与任务
|
||||||
|
|
||||||
|
### 6.2 数据安全
|
||||||
|
|
||||||
|
- 数据源密码 Fernet 加密存储,密钥外部注入(`DB_ENCRYPTION_KEY`)
|
||||||
|
- 数据库连接 SSL 支持
|
||||||
|
- 操作审计日志:记录用户、模块、动作、IP、耗时
|
||||||
|
|
||||||
|
### 6.3 部署安全
|
||||||
|
|
||||||
|
- `.env` 环境变量隔离敏感配置,不进入代码仓库
|
||||||
|
- Docker 镜像最小化(python:3.12-slim、node:20-alpine)
|
||||||
|
- CORS 白名单限制前端域
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 七、项目里程碑与规划
|
||||||
|
|
||||||
|
| 阶段 | 周期 | 核心目标 | 关键交付 |
|
||||||
|
|------|------|---------|---------|
|
||||||
|
| 第一阶段 | 4 周 | 核心引擎加固 + 智能化 | 密码加密修复、Celery 异步分类、ML 辅助原型、语义相似度、增量采集 |
|
||||||
|
| 第二阶段 | 5 周 | 安全能力补齐 + 体验升级 | 静态脱敏、数字水印、Excel/PDF 报告、达梦驱动、非结构化识别、Schema 变更 |
|
||||||
|
| 第三阶段 | 6 周 | 风险管理 + 合规 + 血缘 | 风险评分、合规引擎、血缘分析、告警工单、API 资产扫描、暗黑模式 |
|
||||||
|
|
||||||
|
**总计约 89 人天**,双人并行可压缩至 2 个月。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 八、总结
|
||||||
|
|
||||||
|
DataPointer 以"数据分级分类"为核心切入点,构建了覆盖**数据采集 → 智能分类 → 安全保护 → 风险合规 → 血缘追溯**的全链路数据安全治理平台。平台采用现代化的前后端技术栈,支持容器化一键部署,具备高度的可扩展性与可定制性,能够满足财产保险企业在数字化转型过程中的数据安全合规需求。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*DataPointer 产品白皮书 v1.0 | 由 DataPointer 项目组编制*
|
||||||
Reference in New Issue
Block a user