权限控制模型
目录
引言
权限相关的业务术语表
权限
功能权限
数据权限
字段权限
企业组织结构
用户与组织结构
数据创建者
数据归属
权限分配
角色分配
权限模型
RBAC 模型
ABAC模型
DAC模型
ACL模型
引言
软件开发中,对用户权限进行控制的应用已经越来越广泛,科学的权限控制方法,保证了资源访问的安全性,成为系统安全的重要保障。因此,对于软件来说,权限控制如何进行开发,显得非常重要。软件权限控制是软件安全领域中的一个重要课题,权限控制的准确性,关系到整个系统的安全运行
权限相关的业务术语表
权限
权限主要是指在对某个资源进行某种操作时,对操作者的身份要进行的限制。在一般的系统中,操作者的身份是以用户的形式进行表达的,在权限的概念中,一般有如下几个概念:
功能权限
用户有权在应用程序系统上执行的操作,通常成树形结构,并按类型可分为目录、菜单和按钮。例如用户是否对供应商、客户等信息具有查看、创建、更改或删除的权限。
数据权限
用户在运行功能的时候可以查看的数据集合,系统中的数据对象按照其对应的数据类型构成数据集合,在数据库中,通常不同业务类型的数据保存在不同的业务表内,表中的每条记录为
一个数据对象。
数据权限一般与企业组织结构相关联,将数据对象与组织结构进行映射,形成不同范围的数
据权限。
例如在赋予了用户供应商查看权限的基础上,可以通过数据权限设定用户只能查看哪些供应商。
字段权限
是指用户可以处理某类数据哪些方面的信息。例如在赋予了用户供应商查看权限的基础
上,可以通过字段权限设定哪些用户可以查看供应商的联系电话,哪些用户禁止查看供应商
的联系电话。
企业组织结构
业务领域中,根据管理层次形成的结构,一般呈树状,因此,亦可称之为部门树。
用户与组织结构
系统中的用户必须归属于组织结构中的某一个部门。
数据创建者
数据中某条记录创建的用户。
数据归属
业务中产生的所有数据记录必须归属于某个部门以及数据的创建者。
权限分配
将权限分配给角色的交互过程。
角色分配
将角色分配给用户的交互过程
权限模型
RBAC 模型
RBAC是美国标准与技术研究院(NIST)提出的基于角色的访问控制,是一种很受欢迎的访问控制模型使用 RBAC 可以轻松实现最小权限并减轻权限管理的工作量,它是处理大型组织统一资源访问控制的一个很高效的方法
RBAC 主要基于 3 个因素分配权限:用户、角色和资源。具体来说就是给用户分配一个系统角色,不同的系统角色可以访问或操作不同的资源。通过建立角色体系,将用户和资源进行分离,来保证权限分配的实施。
但对于数据权限而言,传统模型中使用分支判断等硬编码方式把权限逻辑加入到业务代码里的方式是使用最多的,但是硬编码形式的缺点也是显而易见的,表现为耦合度高、评估困难、系统组件重用率低、后续系统维护成本高,甚至导致整个系统整体结构变动
ABAC模型
基于属性的访问控制,通过动态计算属性和规则来授权。
MAC模型
强制访问控制,通过系统硬性限制用户和对象之间的权限关系。
DAC模型
自主访问控制,允许主体将自己拥有的权限自主授予其他主体。
ACL模型
基于客体的访问控制列表,每个客体都有一个列表,记录哪些主体可以对其进行哪些操作。
延伸阅读
- 数据治理案例之数据治理助力东航数字化转型
- 数智运营一体化平台
- 金融级多数据中心灾备互联
- 数据安全-脱敏组件-CSDN博客
- 如何建设金融数据中心-CSDN博客