03 数据安全与合规

面向系统管理员: 平台内置的安全机制与合规保障,帮助您满足等保 2.0 三级、数据安全法等监管要求。


数据加密

字段级加密

平台对敏感数据采用 EncryptedCharField / EncryptedTextField 自动加密:

字段 加密方式 涉及模块
身份证号 AES + Fernet 人员管理(sa_personnel)
手机号 AES + Fernet 人员管理(sa_personnel)
家庭住址 AES + Fernet 人员管理(sa_personnel)
供应商联系方式 AES + Fernet 物资管理(sa_material)
电子签名数据 AES + Fernet 签名模块(sa_signature)
CA 私钥 AES + Fernet 签名模块(sa_signature)

加密密钥从 DJANGO_SECRET_KEY 派生,或通过 ENCRYPTION_KEY 环境变量独立设置。

存储加密

TOTP 双因素认证

截图:双因素认证设置界面 双因素认证设置


权限模型(RBAC)

8 种角色 + 39 项授权码

平台采用精细化的 基于角色的访问控制(RBAC),权限颗粒度细至单操作:

层级 说明 数量
角色模板 预定义的权限集合 8 种
授权码 最小权限单元 39 项
范围限定 按项目/公司级限定 动态

8 种角色权限对比:

角色 权限特征
超级管理员 39 项全部权限
法人 公司级查看 + 授权管理
安全总监 公司/项目级安全监督
项目安全员 项目级安全操作
项目经理 项目全流程管理
施工队长 班组级协作
公司职员 个人事务
班组成员 基础操作

授权管理


审计日志

所有关键操作由 AuditLog 模型自动记录,支持:

审计日志通过 AuditModel 基类自动集成,新增模型只需继承即可获得审计能力。审计日志不可删除(仅软删除),满足等保 4.1.6 审计要求。

截图:审计日志列表 审计日志列表

提示: 管理员可在「系统管理 → 审计日志」页面查看和搜索所有日志记录。


等保 2.0 三级合规

等保要求 对应实现
4.1.3 访问控制 RBAC 权限模型 + 8 角色 + 39 授权码
4.1.6 安全审计 AuditLog 全量审计 + JSON 结构化日志
4.3.4 登录安全 django-axes(5 次锁定 15 分钟)+ 密码 12 位
4.3.7 剩余信息保护 django-safedelete 软删除 + 安全擦除
5.1.3 数据加密 字段级加密(Fernet)+ HTTPS 传输
5.5.1 开发与生产隔离 settings_production.py 独立配置
会话管理 JWT 30 分钟过期 + HTTPOnly Cookie + SameSite=Lax

隐私保护(PIPL 合规)

依据《个人信息保护法》第 29 条,敏感个人信息需取得个人单独同意:


会话管理

安全策略 配置值
Token 类型 JWT(Bearer)+ TokenAuthentication
Access Token 有效期 30 分钟
Refresh Token 有效期 1 天(支持轮换)
Session Cookie HTTPOnly + Secure + SameSite=Lax
浏览器关闭会话 生产环境可配置为保持或清除
XSS 防护 CSP 策略 + HttpOnly Cookie
CSRF 防护 CSRF Cookie Secure + Referer 校验
登录失败锁定 5 次失败 → 锁定 15 分钟

安全建议

作为系统管理员,建议定期执行以下操作:

  1. 密钥轮换: 定期更新 DJANGO_SECRET_KEY,执行字段重加密
  2. 证书管理: 监控 CA 证书到期时间,提前续期
  3. 审计审查: 每周查看审计日志,关注异常登录行为
  4. 权限审计: 每月审查用户角色和授权码,清理过期授权
  5. 备份验证: 定期测试备份恢复流程,确保备份可用
  6. 日志归档: 按合规要求归档审计日志,保存不少于 3 年