2. LIMS权限模型基础

在实验室信息管理系统(LIMS)中,权限模型决定了“谁能在什么条件下对哪些数据做什么操作”。如果模型选错,轻则导致配置臃肿、维护困难,重则造成数据越权访问、审计追踪失效,甚至影响电子签名合规性。本节围绕三种主流权限模型——RBAC、ABAC、PBAC——展开对比,并给出五元组建模方法与最小化、职责分离的落地原则。

一、三种权限模型的核心差异

RBAC(基于角色的访问控制)是最常见的起点。它的核心思想是:不直接给用户授权,而是先定义角色,再把权限绑定到角色,最后把角色分配给用户。例如在LIMS中设置“样品接收员”“分析员”“复核员”“实验室主管”四个角色。用户张三属于“分析员”,就自动获得该角色对应的全部权限。RBAC的优点是结构清晰、易于审计,适合岗位边界稳定的实验室。缺点是当权限需要随样品状态、数据敏感级别或时间窗口动态变化时,角色数量会急剧膨胀,出现“角色爆炸”。

ABAC(基于属性的访问控制)把决策依据从“角色”扩展到“属性”。属性可以来自四个方向:主体属性(如用户部门、职称、培训资质)、资源属性(如样品类型、检测项目、数据密级)、操作属性(如查看、修改、签发)、环境属性(如时间、IP、设备状态)。ABAC的典型规则形如:当用户具备“重金属检测资质”且样品状态为“待复核”且当前时间在工作时段内,允许执行“复核”操作。它灵活、细粒度,但策略编写和测试成本高,容易出现规则冲突。

PBAC(基于策略的访问控制)可以看作ABAC的工程化延伸。它强调用统一的策略语言和策略决策点(PDP)来集中管理授权逻辑,把“谁能访问”变成“策略引擎根据输入上下文计算能否访问”。PBAC通常与ABAC结合使用:属性提供判断素材,策略提供组合与优先级。在LIMS中,PBAC适合多实验室、多法规体系并存的场景,例如同时满足GMP、ISO 17025和内部数据分级要求。

RBAC / ABAC / PBAC 决策路径与五元组映射 五元组建模:用户 · 角色 · 权限 · 资源 · 操作 授权 = f(用户, 角色, 权限, 资源, 操作) → 策略引擎输出 Allow / Deny RBAC 角色为中心 用户 → 角色 角色 → 权限 权限 → 资源+操作 静态绑定,审计直观 风险:角色爆炸 ABAC 属性为中心 主体属性 资源属性 环境属性 动态判断,细粒度 风险:规则冲突 PBAC 策略为中心 策略定义 PDP 决策点 PEP 执行点 集中管理,可组合 风险:策略复杂度 选型建议:岗位稳定选 RBAC;需按样品/资质/时间动态判断选 ABAC;多法规多实验室统一治理选 PBAC

二、五元组建模:把权限说清楚

无论选择哪种模型,LIMS权限设计都可以统一到五元组:用户(User)、角色(Role)、权限(Permission)、资源(Resource)、操作(Action)。五元组不是五个孤立清单,而是一张关系网。建模时建议按以下顺序推进:

  1. 先定义资源与操作。资源是LIMS中被保护的对象,例如“样品记录”“检测结果”“仪器日志”“审计追踪”“电子签名记录”。操作是施加于资源的行为,例如查看、创建、修改、删除、复核、签发、导出、归档。把资源和操作组合成权限点,例如“样品记录:查看”“检测结果:复核”“电子签名记录:签发”。
  2. 再定义角色。角色是权限点的集合,应围绕岗位职责而非个人。例如“样品接收员”拥有“样品记录:创建、查看”,“分析员”拥有“检测结果:创建、修改、查看”,“复核员”拥有“检测结果:复核、查看”,“质量负责人”拥有“电子签名记录:签发、审计追踪:查看”。
  3. 最后建立用户与角色的分配关系。一个用户可以拥有多个角色,但应遵循最小化原则,只授予完成当前工作所必需的角色。例如新入职分析员在培训期内只授予“分析员(受限)”角色,待资质确认后再升级。

在ABAC/PBAC场景下,五元组中的“角色”可以弱化为属性之一,但资源、操作、用户仍然必须显式建模。否则策略引擎无法判断“对什么资源、执行什么操作”。

三、权限最小化与职责分离

权限最小化要求每个用户只拥有完成其职责所必需的最小权限集合,且权限应有时效。落地时可采用三条规则:默认拒绝,未显式授予即禁止;按需申请,临时权限设置到期时间;定期复核,每季度导出“用户-角色-权限”清单,清理离职、转岗和长期未使用权限。

职责分离(SoD)是LIMS合规的关键。它要求不相容职责不能由同一人承担。典型冲突包括:样品接收与结果复核不能同一人;数据修改与审计追踪关闭不能同一人;电子签名创建与签名审批不能同一人。在RBAC中,可以通过“互斥角色”实现,例如“分析员”与“复核员”互斥;在ABAC/PBAC中,则通过策略规则动态判断,例如“当操作者与记录创建者相同时,拒绝复核操作”。

常见误区:把“角色”当成“人”来建,例如为每个员工建一个角色。这会导致角色数量与人员数量同步增长,审计时无法解释角色含义。正确做法是角色对应岗位或职责组合,人员变动只调整分配关系。

四、选型决策与落地建议

选型时不要追求“最先进”,而应匹配实验室的实际治理能力。如果实验室岗位稳定、法规要求单一,RBAC足够且维护成本最低;如果LIMS需要根据样品类型、检测项目、人员资质、数据密级动态判断,ABAC更合适;如果存在多实验室、多法规体系、集中审计需求,PBAC能提供统一策略层。实际项目中,三者常混合使用:用RBAC管理基础岗位权限,用ABAC处理动态条件,用PBAC集中编排和审计策略。

无论选择哪种模型,都应在LIMS中保留完整的权限变更日志,记录“谁在什么时间授予了谁什么权限”,并与电子签名记录关联。这样在审计时,才能从一条检测结果追溯到操作者、角色、权限来源和授权时间,形成可验证的权限证据链。