# 苏州教育E卡通数据安全运维操作手册

## 前言

本手册基于苏州教育E卡通平台的实际运维需求，旨在建立一套**实用、可操作**的数据安全管控体系。聚焦于解决实际工作中真正存在的风险问题。

本手册适用于所有参与平台运维、管理的人员，包括但不限于系统管理员、客服人员、学校管理人员等。

## 一、风险分级体系

### 1.1 三级操作分类

**等保三级依据**：根据GB/T 22239-2019要求，对不同风险的操作采取相应控制措施。

#### 🔴 **关键操作** (CRITICAL)
**识别标准**：
- 系统核心配置修改
- 用户权限分配
- 审计规则修改
- 批量数据处理（≥50条）
- 系统运维重大调整
**管控要求**：
- **主管审批**：事前纸质（电子档）审批流程
- **双人确认**：一人操作，一人监督
- **双因素认证**：密码+动态码，堡垒机或摄像记录
- **操作记录**：详细日志记录
- **自动备份**：执行前自动备份

#### 🟡 **重要操作** (IMPORTANT)
**识别标准**：
- 特殊敏感数据修改（身份证、家庭住址、监护人联系方式）
- 新生录入、注册报到等
- 账号创建和权限分配（非管理员，如班主任等）

**管控要求**：
- **主管审批**：事后审核
- **双因素认证**：重要操作时启用
- **操作确认**：关键步骤二次确认
- **操作日志**：完整记录操作链路

#### 🟢 **一般操作** (NORMAL)
**识别标准**：
- 学生信息查询
- 系统状态查看
- 非敏感信息修改
- 补换卡订单处理
- 报表生成和统计

**管控要求**：
- **基本认证**：用户名密码认证
- **操作记录**：基础日志记录
- **访问控制**：基于角色的权限控制
- **会话管理**：超时自动退出

---

## 二、简化的角色体系

### 2.1 核心角色定义

| 角色 | 主要职责 | 可操作范围 | 禁止操作 |
|------|----------|------------|----------|
| **家长用户** | 查看自己孩子信息 | ✓ 查看基本信息<br>✓ 修改联系方式<br>✓ 查看卡状态 | ✗ 查看其他学生<br>✗ 修改关键信息<br>✗ 批量操作 |
| **学校教师** | 管理本校学生 | ✓ 新生录入<br>✓ 修改非关键信息<br>✓ 本校数据查询 | ✗ 跨校查询<br>✗ 删除记录<br>✗ 批量导出 |
| **客服人员** | 处理补卡业务 | ✓ 学生信息查询（补卡用）<br>✓ 处理补换卡订单<br>✓ 查询卡状态 | ✗ 查看敏感信息<br>✗ 修改数据<br>✗ 批量导出 |
| **系统（区域）管理员** | 处理学校业务 | ✓ 信息修改<br>✓ 敏感信息<br>✓ 执行任务<br>✓ 用户账号管理 | ✗ 参与业务审批<br>✗ 单独操作 |
| **审核管理员** | 业务审核 | ✓ 业务审批<br>✓ 信息查询<br>✓  | ✗ 修改数据<br>✗ 用户账号管理✗ 单独操作 |
| **安全审计管理员** | 安全审计 | ✓ 查看所有日志<br>✓ 生成安全报告<br>✓ 设置监控规则<br>✓ 调查安全事件 | ✗ 修改业务数据<br>✗ 执行业务操作<br>✗ 查看敏感信息 |
| **系统运维人员** | 系统运维 | ✓ 服务器维护<br>✓ 数据库备份<br>✓ 执行审批脚本<br> | ✗ 查看业务数据<br>✗ 参与业务审批<br>✗ 单独操作 |

### 2.2 权限分离原则

**核心原则**：
- **操作与审核分离**：操作人不能同时是审核人
- **技术与业务分离**：系统管理员不接触业务数据
- **监督与执行分离**：安全管理员只监督不执行

**简化的权限矩阵**：

| 操作类型 | 学校教师 | 客服人员 | 系统管理员 | 安全管理员 |
|----------|----------|----------|------------|------------|
| 数据查询 | ✅(本校) | ✅(授权) | ❌ | ✅(审计) |
| 数据修改 | ✅(非关键) | ❌ | ✅(脚本) | ❌ |
| 关键操作 | ❌ | ❌ | ✅(双人) | ❌ |
| 系统运维 | ❌ | ❌ | ✅ | ❌ |
| 安全审计 | ❌ | ❌ | ❌ | ✅ |

---

## 三、统一的操作流程

### 3.1 标准三阶段流程

**所有操作统一采用三阶段流程**：

```
申请阶段 → 审批阶段 → 执行阶段
```

#### **第一阶段：申请**
- 操作人提交申请
- 系统自动检查权限
- 生成操作编号

#### **第二阶段：审批**
- **关键操作**：需要双人确认
- **重要操作**：需要主管审批
- **一般操作**：自动审批

#### **第三阶段：执行**
- 验证审批状态
- 执行操作
- 记录结果

### 3.2 操作流程简化图

```
┌─────────┐    ┌─────────┐    ┌─────────┐
│  申请   │───→│  审批   │───→│  执行   │
└─────────┘    └─────────┘    └─────────┘
     │              │              │
     │              │              │
   自动检查        分级审批        结果记录
   权限验证        双人确认        日志保存
```

---

## 四、简化的技术控制

### 4.1 访问控制

**表级权限控制**（避免过度复杂的字段级控制）：

```sql
-- 简化的角色权限表
CREATE TABLE role_permissions (
    role_id VARCHAR(20),
    table_name VARCHAR(50),
    can_select BOOLEAN DEFAULT FALSE,
    can_insert BOOLEAN DEFAULT FALSE,
    can_update BOOLEAN DEFAULT FALSE,
    can_delete BOOLEAN DEFAULT FALSE
);

-- 学校教师权限示例
INSERT INTO role_permissions VALUES
('school_teacher', 'students', TRUE, TRUE, TRUE, FALSE),  -- 可以增删改查但不能删除
('school_teacher', 'card_status', TRUE, FALSE, TRUE, FALSE);
```

**简单的数据脱敏**：

```sql
-- 敏感信息视图
CREATE VIEW student_public_view AS
SELECT
    student_id,
    name,
    -- 简单脱敏：不根据角色复杂判断
    CONCAT(SUBSTRING(id_card, 1, 6), '****', SUBSTRING(id_card, 15, 4)) as id_card_masked,
    school_name,
    card_status
FROM students;
```

### 4.2 身份鉴别

**简化的双因素认证**：

```c
// 不需要复杂的多种组合，就用最简单的
enum auth_method {
    PASSWORD_ONLY,      // 一般操作
    PASSWORD_SMS,       // 重要操作
    PASSWORD_DUPLICATE  // 关键操作（双人）
};
```

**会话管理**：
- 关键操作：15分钟超时
- 重要操作：30分钟超时
- 一般操作：60分钟超时

### 4.3 审计日志

**简化的审计结构**：

```sql
-- 简单的审计表，不要复杂的数字签名
CREATE TABLE audit_logs (
    id BIGSERIAL PRIMARY KEY,
    user_id VARCHAR(50) NOT NULL,
    operation_type VARCHAR(50) NOT NULL,
    table_name VARCHAR(50),
    operation_time TIMESTAMP DEFAULT NOW(),
    client_ip INET,
    result VARCHAR(20),  -- SUCCESS/FAILURE
    details TEXT,        -- 简单的JSON描述
    prev_hash VARCHAR(64)  -- 简单的哈希链保护
);
```

**完整性保护**：
- 使用简单的哈希链而不是复杂的数字签名
- 每条记录包含前一条记录的哈希值
- 定期验证链的完整性

---

## 五、监控和告警

### 5.1 简单的告警规则

**告警规则**（不要搞得太复杂）：
- 单个账号1小时内操作超过50次
- 非工作时间操作（22:00-7:00）
- 连续5次登录失败
- 未审批就执行的操作

**告警处理**：
1. 系统自动发送告警
2. 安全管理员15分钟内响应
3. 记录处理结果

### 5.2 监控指标

**核心监控指标**：
- 登录成功率
- 操作执行成功率
- 异常操作数量
- 系统响应时间

---

## 六、数据保护和备份

### 6.1 数据完整性

**简单的完整性检查**：

```sql
-- 每日自动检查
CREATE OR REPLACE FUNCTION daily_check() RETURNS void AS $$
BEGIN
    -- 检查重复数据
    INSERT INTO integrity_issues
    SELECT 'duplicate_id_card', COUNT(*)
    FROM students
    WHERE id_card IN (
        SELECT id_card FROM students
        GROUP BY id_card
        HAVING COUNT(*) > 1
    );

    -- 检查数据格式
    INSERT INTO integrity_issues
    SELECT 'invalid_phone', COUNT(*)
    FROM students
    WHERE phone NOT LIKE '1________';
END;
$$ LANGUAGE plpgsql;
```

### 6.2 备份策略

**简单的备份方案**：
- **实时备份**：关键数据实时同步
- **每日备份**：全量数据备份
- **异地备份**：备份到异地存储
- **保留期限**：在线30天，离线1年

---

## 七、应急响应

### 7.1 简化的应急流程

**三级响应**：

| 事件级别 | 响应时间 | 处理方式 |
|----------|----------|----------|
| **一般事件** | 2小时内 | 在线处理 |
| **重要事件** | 30分钟内 | 紧急处理 |
| **重大事件** | 15分钟内 | 立即处理 |

### 7.2 应急联系人

| 角色 | 联系人 | 电话 |
|------|--------|------|
| 应急总指挥 | [姓名] | [电话] |
| 技术负责人 | [姓名] | [电话] |
| 安全负责人 | [姓名] | [电话] |

---

## 八、培训和考核

### 8.1 培训内容

**新员工培训**（4小时）：
- 手册内容和操作规范（2小时）
- 系统操作演示（1小时）
- 应急流程说明（1小时）

**年度复训**（2小时）：
- 安全事件案例分析（1小时）
- 操作规范更新（1小时）

### 8.2 考核要求

- 每年1次操作规范考试
- 每半年1次应急演练
- 不合格人员重新培训

---

## 九、操作检查表

### 9.1 关键操作检查表

**申请阶段**：
- [ ] 操作目的明确
- [ ] 影响范围确认
- [ ] 申请人权限验证

**审批阶段**：
- [ ] 必要性评估
- [ ] 风险评估
- [ ] 备份方案确认

**执行阶段**：
- [ ] 双人确认（关键操作）
- [ ] 操作步骤按计划执行
- [ ] 结果验证

**完成阶段**：
- [ ] 操作记录保存
- [ ] 相关人员通知
- [ ] 异常情况处理

### 9.2 系统管理员操作检查表

**操作前**：
- [ ] 维护时间窗口确认
- [ ] 影响范围评估
- [ ] 备份完成确认
- [ ] 回滚方案准备

**操作中**：
- [ ] 按计划执行
- [ ] 每步确认结果
- [ ] 异常情况记录

**操作后**：
- [ ] 系统功能验证
- [ ] 性能检查
- [ ] 操作记录归档

---

## 十、附录

### 附录A：角色申请表

```
申请编号: [自动生成]
申请人: [姓名]
所属部门: [部门]
申请角色: [角色名称]
申请原因: [详细说明]

申请权限:
□ 查询权限
□ 修改权限
□ 删除权限
□ 系统管理权限

申请人签字: _________ 日期: _________
部门主管审批: _________ 日期: _________
安全管理员审核: _________ 日期: _________
```

### 附录B：操作申请单

```
申请单编号: [自动生成]
申请时间: YYYY-MM-DD HH:MM
申请人: [姓名]
操作类型: [关键/重要/一般]
操作描述: [详细说明]

影响范围: [影响的人数/系统范围]
操作步骤: [简要步骤]

申请人签字: _________ 日期: _________
审批人签字: _________ 日期: _________
执行确认: _________ 日期: _________
```

### 附录C：应急响应记录表

```
事件编号: [自动生成]
发生时间: YYYY-MM-DD HH:MM
事件类型: [一般/重要/重大]
事件描述: [简要描述]

响应时间: ____分钟
处理过程: [简要记录]
处理结果: [成功/失败]

处理人签字: _________ 日期: _________
确认人签字: _________ 日期: _________
```

---

## 结语

**简单就是美**

本手册采用**简化的设计**，在满足等保三级要求的同时，最大限度地降低系统复杂度和操作难度。

**核心原则**：
- 消除特殊情况
- 统一操作流程
- 减少概念数量
- 保持实用主义

通过这种方式，我们既能满足合规要求，又能确保系统的可维护性和操作的便利性。

---

**本手册自发布之日起执行，由数据安全管理领导小组负责解释和修订。**