问题的背景:
随着IT系统中用户和模块数量的增长,角色分配和权限定义已成为一个关键任务。设计访问方案时的错误会导致安全漏洞、功能失效和数据泄露的风险。
问题:
缺乏统一的权限矩阵构建方法,不同模块之间的不一致以及访问场景描述的不准确,最终给用户带来不便、冲突,有时还会产生法律后果。
解决方案:
采用访问矩阵(access matrix)的方法,为系统的每个模块描述角色(基于角色的访问控制,RBAC)、操作类型和相应的使用场景。记录内容包括:
所有内容都记录在“角色与权限”汇总表中,通常使用电子表格、图表构建工具或专用UML图(例如,用例图)。
关键特点:
仅仅描述基本角色(管理员、用户)对整个系统是否足够?
不,应在任务和模块层面详细描述角色,否则会出现模糊地带和安全漏洞。
仅根据现有的组织结构来构建访问权限是否可能?
不,组织结构变化迅速,而商务流程的生命周期较长。应根据业务场景和责任区分角色。
是否只需要记录许可的访问权限?
不,必须描述不仅是许可,同时也包括禁止规则(deny rules),并考虑权限的升级和临时授予程序。
负面案例:
在一个大型CRM系统中,所有权限仅在两个基本角色级别上进行描述。实际上出现了许多冲突:普通经理意外删除了重要数据,而操作员无法访问其功能。
优点:
缺点:
正面案例:
分析师根据角色和模块划分权限,与用户进行了设计研讨,描述了授权和撤回权限的情况。创建了汇总访问矩阵,为不同类型的员工协调了用户旅程模板。
优点:
缺点: