rbac权限模型表设计(rbac 权限)

rbac权限模型表设计(rbac 权限)权限管理 几乎应用于任何具有用户体系的系统 它旨在管理主体 对对象 的操作 由于其普遍性 与其存在的重要性 大佬们已经研究总结了很多成熟权限模型 本文意在通过对这些权限模型的分析 能够让大家对权限管理设计有个整体的认知 用户能不能访问某个资源 通过配置一个用户能否访问控制的列表来判断 如下图所示 适合于功能单一 权限功能明确或特性化非常明显的系统 现在常用于网络安全

大家好,我是讯享网,很高兴认识大家。



权限管理几乎应用于任何具有用户体系的系统,它旨在管理主体对象操作,由于其普遍性与其存在的重要性,大佬们已经研究总结了很多成熟权限模型,本文意在通过对这些权限模型的分析,能够让大家对权限管理设计有个整体的认知。

用户能不能访问某个资源,通过配置一个用户能否访问控制的列表来判断,如下图所示:

image.png
讯享网

适合于功能单一、权限功能明确或特性化非常明显的系统,现在常用于网络安全,用于控制网络流量和访问权限。

通过ACL我们需要给每一份主体都配置一份访问控制列表,那么有没有办法给某类具备相同权限的主体只用配一次权限集合呢?基于角色的访问控制的解决方案就是通过提前预置角色,角色绑定权限集合,后面再有同等权限的主体只需要关联该角色即可。(这个模型好像更大的分布在目前我们使用的系统中,可见它是非常好理解,也是非常适用于我们的系统里面的,适用于集中式管理的系统),也用一个图简单表示:

image.png

上面两种权限模型都是静态的,绑定的权限如果发生变化必须去静态调整(当然也有哥们会犟,就是说RBAC也可以实现,因为通过程序监听可以动态改权限,这种方案当然可以,但是维护成本巨高,而且需要找到所有的符合条件的权限集合,容易漏和出错),而ABAC模型的出现意在实现动态的访问控制,它并不直接与角色/权限绑定,而是动态计算如下图所示:

image.png

属性是主体、对象或环境条件的特征。属性包含name-value对提供的信息。

主体是用户或NPE,例如发出访问请求以对对象执行操作的设备。主体被分配了一个或多个属性。在本文档中,假设主体和用户是同义词。

对象是由ABAC系统管理访问权限的系统资源,例如设备、文件、记录、表、进程、程序、网络或包含或接收信息的域。它可以是资源或请求的实体,也可以是主体可以在其上执行操作的任何东西,包括数据、应用、服务、设备和网络。

操作是主体对对象的请求执行函数。操作包括读取、写入、编辑、删除、复制、执行和修改。

策略是规则或关系的表示,在给定主体、对象和可能的环境条件的属性值的情况下,可以确定是否应允许请求的访问。

环境条件:发生访问请求的操作或情景环境。环境条件是可检测的环境特征。环境特征独立于主体或对象,可能包括当前时间、星期几、用户位置或当前威胁级别。

其中"访问控制计算"接收主体的访问请求,然后根据特定策略检查主体和对象的属性。然后"访问控制计算"确定对象可以对对象执行什么操作。

本文通过极简单的描述,加上笔者可能表达能力也有限,所以把一些参考资料也附上,帮助大家理解:

ABAC

RBAC

史上最强的权限系统设计攻略(上)、基础概念、RBAC以及ABAC模型

史上最强的权限系统设计攻略(下)、ABAC在复杂场景下的实现思路

小讯
上一篇 2025-05-06 16:19
下一篇 2025-05-14 07:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/186029.html