档案数字化管理系统手记:档案权限模型——全宗-门类-案卷-文件四级控制的设计与实践

发布时间:2026/9/7 20:49:35
档案数字化管理系统手记:档案权限模型——全宗-门类-案卷-文件四级控制的设计与实践 我们做纸质档案数字化、电子档案管理系统、数字档案室建设文中所有数据与踩坑均来自真实项目。有档案数字化需求或技术交流欢迎私信/评论区留言。一、档案权限的特殊性不是用户-角色就完了一般业务系统的权限是用户 → 角色 → 功能菜单RBAC。档案系统在此基础上还有一层数据级权限——档案的可见范围是树状的全宗一个单位/机构的所有档案 └─ 门类文书、科技、会计、人事、照片… └─ 案卷一卷档案 └─ 文件卷内具体文件一个用户可能能看 A 全宗文书档案的案卷级但不能看 B 全宗能看人事档案的文件级因为他是人事科的但看不到会计档案。权限要能作用到树的每一层且层级间要能继承和覆盖。二、四级权限模型的设计核心设计权限作用域 层级继承权限 用户 × 操作查看/下载/打印/编辑/删除 × 作用域全宗/门类/案卷/文件四个层级层级权限粒度典型授予对象说明全宗级能看该全宗全部档案档案馆管理员最高数据级授权门类级能看该门类全部档案各科室人事科看人事类最常见的授权粒度案卷级能看指定案卷项目组、借阅人借阅授权通常到案卷文件级能看指定文件单个申请最细粒度如某份合同继承规则关键默认向下继承全宗级授权 → 自动覆盖其下所有门类/案卷/文件允许向上覆盖门类级的禁止可以覆盖全宗级的允许比如某人能看全宗但某门类是绝密单独设为禁止显式 继承文件级单独授权优先于继承来的案卷级权限。defcan_access(user,archive_node,action):判断用户对某个档案节点的访问权限# 逐级向上找权限文件 → 案卷 → 门类 → 全宗nodearchive_nodewhilenodeisnotNone:permget_perm(user,node,action)ifpermdeny:returnFalse# 显式禁止立即拒绝ifpermallow:returnTrue# 显式允许nodenode.parent# 未设置向上继承returnFalse# 全链路未授权默认拒绝默认拒绝deny by default是档案权限的铁律——没有授权就是不能访问绝不默认放行。三、权限的落地实现实现方式对比方式优点缺点适用数据库逐条存储权限直观、可审计权限记录量大几千万档案逐条授权不现实小体量、借阅授权角色 规则表达式灵活、存储小规则复杂难排查中体量树节点授权 继承兼顾粒度与存储量实现稍复杂生产推荐我们的实现树节点授权档案树全宗/门类/案卷/文件上授权只挂在授权点节点通常是门类和案卷文件级授权按需挂权限查询走缓存节点权限树缓存 变更失效避免每次访问都遍历数据库审计记录每一次权限授予/撤销都记日志谁、对谁、授了什么、谁批准的。权限与检索的联动第 19 篇提到权限过滤进索引——检索时也要做权限收敛用户检索 → 查出候选文档 → 按权限过滤ES filter 应用层校验双保险ES 里用 permission_tag 粗筛快应用层再按树权限精校验准——防止绕过检索接口直接拼文档 ID 读取。四、涉密档案的强化控制涉密档案涉密单位的绝密/机密/秘密档案权限要特殊处理物理隔离涉密档案系统和普通系统分离部署物理隔离或网闸涉密数据不进公网三员分立系统管理员管系统、安全保密管理员管权限、安全审计员管审计三个角色相互独立、相互制约——一人不能同时兼任两个角色这是保密要求依据涉密信息系统分级保护要求双人授权访问涉密档案需要两个授权人审批终端管控涉密档案下载/打印走审批带水印、绑定终端。五、踩坑记录坑 1权限判断放在前端。早期版本前端根据角色隐藏按钮后端不校验——结果有人直接调 API 绕过。教训所有权限判断必须在后端前端只是体验优化不是安全边界。坑 2借阅到期权限不回收。借阅授权到期后没自动回收读者一直能看。解法授权带有效期 定时任务到期回收 到期提醒到期前 3 天提醒续借或归档。坑 3权限变更不通知。有人被撤权后会话里还残留旧权限缓存。解法权限变更 → 缓存失效 → 强制重新加载敏感权限变更撤权立即踢下线重登。坑 4导出环节权限绕过。用户能看某些档案但系统批量导出功能把整卷导出包含他没权限的文件。解法导出前按单文件权限过滤无权限的文件跳过并在导出清单里标注。六、权限模型给客户的价值权限模型是档案系统专业性的直接体现也是项目验收重点客户问你们系统怎么保证档案安全——四级权限模型 默认拒绝 审计留痕就是答案涉密客户问能不能过保密要求——三员分立 物理隔离 双人授权是硬指标档案馆长问谁看过这份档案——审计日志一查便知。七、小结档案权限 RBAC功能权限四级数据级权限全宗/门类/案卷/文件授权挂树节点 层级继承 默认拒绝是生产可行的模型检索、导出、借阅等所有出口都要做权限校验后端强制涉密场景物理隔离 三员分立 双人授权权限变更要失效缓存、审计留痕。