ABAC是“下一代”授权模型,rbac-ACL、RBAC、ABAC三大权限管理模型,到底怎么选?

abac_百度百科,ACL、RBAC、ABAC三大权限管理模型,到底怎么选?-电子发烧友网

与ABAC、RBAC的区别

 
播报
编辑
ABAC 与 RBAC 显著不同之处在于其对请求者、被请求资源通过属性来描述,而一些限制条件同样也使用环境属性来描述,这就是说在ABAC 中所有实体的描述都统一采用同一种方式——属性来进行描述,不同的是不同实体的属性权重可能不同,这使得访问控制判定功能在判定时,对访问控制判定依据能够采取统一处理。同时,基于属性的策略描述也摆脱了基于身份的策略描述的限制,其能够利用请求者所具有的一些属性来决定是否赋予其访问权限,在开放的环境下,访问控制判定功能并不关心访问者是谁(有时也可能根本无法获取这类信息)。在系统运行过程中,属性是一个易变量,而策略比较稳定,基于属性的策略描述方式可以很好地将属性管理和访问判定相分离
基于角色的访问控制(RBAC)通过引入角色中间元素,使得权限先经过角色进行聚合,然后再将权限分配给主体,通过这种方式可以简化授权,可将角色信息看成是一种属性,这样 RBAC 就成为了ABAC 的一种单属性特例。XACML 是一个基于 XML 的访问控制标记语言,其采用访问者、被请求资源、被请求行为和环境属性来描述策略,是一个典型的在 ABAC 环境下的策略描述语言。针对ABAC 的研究大多集中在应用方面,而对其理论模型的研究较少,这使得ABAC 中很多概念没有一个规范的定义。

描述

 

多年以后,面对IAM后台,运维小李将会想起师父带他去见识权限管理的那个遥远的下午。当时,公司是个二十多个员工的小企业,一个个业务应用都有独立后台,管理简单,每个应用一个访问控制列表,列表里写明了员工的账号和权限,像图书馆的借书记录。 后来,公司的员工越来越多,业务应用越来越多。小李开始创建用户组,给员工分配角色,权限管理工作量越来越大。再后来,小李了解到有种权限管理模型叫ABAC,又开始研究如何给应用配置访问控制,工作量进一步攀升。小李有些迷茫,模型越来越先进,但权限管理却越来越复杂,到底怎么搞才能让权限管理又精细又准确、又便利又安全?    

三大权限管理模型怎么选?

想弄清小李遇到的难题,先要厘清权限管理的目的。权限管理,是为了让用户可以访问而且只能访问自己被授权的资源,不能多也不能少。这个目的需要借助各种权限管理模型来实现。ACL(访问控制列表)是率先登场的权限管理模型。它的概念很简单,每一个需要被访问控制机制保护的资源对象(称为客体)都维持一个独立的关联映射表,其中记录了对该客体进行访问的实体(称为主体)被授予访问客体的权限,以及允许对客体执行哪些操作。当主体试图访问客体时,系统会检查映射表,确定是否允许访问。

核心技术

以图书馆为例,ACL相当于在每本书上都附了一张借阅许可清单,列出了每一个有权限借书的人,以及他们可以借阅的时间。这种方式简单实用,却存在两大问题,一是每次访问时都必须检查客体的ACL,会耗费一定资源;二来大用户量、多业务应用的环境下,ACL的添加、删除和更改比较复杂,容易出现错误。RBAC(基于角色的访问控制)是比ACL更新的权限管理模型。它采用了可分配给主体具有特定权限集的预定义角色,访问权限由为个体分配角色的人提前定义,最终由客体属主在确定角色权限时明确。在处理访问请求时,系统会评估主体的角色以及角色对应的权限,生成访问控制策略。

核心技术

还是以图书馆为例,RBAC相当于给每一个借书人分配了“学生”、“老师”、“某课题组成员”等不同的角色,“学生”可以借10本书,“老师”可以借20本书,“某课题组成员”可以借阅与课题有关的所有书籍。在企业内部,角色可以以级别、部门、项目等维度定义,一个员工可以有多个角色。相比ACL,RBAC能够借助中间件实现对多个系统和资源访问权限的集中管理,简化了权限管理流程,使得权限管理更规范、更便捷。 RBAC相比ACL更适应多用户、多应用、多资源的大型组织,但它的授权粒度只到角色组,难以对具体的个体实施细粒度的访问控制。为了弥补这个缺陷,ABAC模型(基于属性的访问控制)应运而生。与RBAC不同,其访问控制决策不再以单一的角色为依据,而是基于一组与请求者、环境和/或资源本身相关的特征或属性。在ABAC模型中,系统将权限直接分配给访问主体。当主体请求访问后,ABAC引擎通过检查与访问请求相关的各种属性值,基于预设的访问控制策略,确定允许或拒绝访问。

核心技术

如果应用了ABAC,图书馆的借阅管理将更加精细、灵活,比如“老师”平时可以同时借20本书,寒暑假只能借10本,“学生”在假期不能借书,“某课题组成员”如果假期留校仍可无限量借书,离校则不能借书。在ABAC模型中,企业可以基于时间、地点、IP、设备、网络、操作系统、风险级别等属性制定不同的访问控制策略,实现细粒度的权限管理和动态访问控制,几乎能满足所有类型的需求,是真正的“高级货”。  

芯盾时代IAM,三种模型按需选择

面对三种权限管理模型,很多企业会陷入选择困难症,因为每一种模型都有各自的优缺点,都难以解决企业所有的权限管理问题。对此,芯盾时代的IAM产品经理表示,小孩子才做选择题,成年人当然全都要。芯盾时代用户身份与访问管理平台(IAM)把三种授权模型全部安排上,企业可以基于自身人员规模、业务规模,资源的重要程度、访问场景匹配适合的权限管理模型:

核心技术

1.针对只对特殊用户开放的特殊资源,采用ACL模型管理访问权限,人工管理访问权限,权限具体到人,实现对特殊应用、特殊用户的精准权限管理; 2.针对重要程度一般、访问场景简单、访问人数多的资源,采用RBAC模型,以角色区分访问权限,实现应用的自动化授权,简化权限管理工作的同时保证安全性; 3.针对重要程度高、访问场景复杂的资源,采用ABAC模型,全面、精准的定义、维护各种属性,灵活的设置访问控制策略,进行细粒度的访问权限管理和动态访问控制,在提升资源安全性的同时保证访问的便利性。

核心技术

借助芯盾时代IAM,企业能够一站式的建立完善的权限管理体系,分类、分级管理资源访问的权限管理,并通过用户自动授权、自助申请权限简化权限管理流程,形成完整的自动化授权与账号管理体系,实现业务应用的统一权限管理。 统一的权限管理只是芯盾时代IAM四大核心功能之一,它与其它三大功能一起,为企业构建规范的统一身份管理平台:

核心技术

1.统一身份管理:芯盾时代IAM能够整合企业零散的组织用户数据,为用户生成唯一可信的数字身份标识,实现用户用户、权限、应用账号自动化流转机制,建立身份安全基线,为各种权限管理模型的实现提供可信的身份信息;2.统一身份认证:芯盾时代IAM依托移动安全核心技术,将认证能力拓展到设备层面,提供应用统一门户、单点登录、免密认证能力,支持传统认证、移动认证、社交认证、生物认证、证书认证等技术,在ABAC授权模式下提供多种二次认证方式,保证访问控制策略的有效性和便捷性;3.统一审计管理:芯盾时代IAM利用零信任模型、流式计算技术、规则引擎技术,实现对管理员操作行为、用户登录认证行为、用户应用访问行为的风险审计与动态访问控制功能。 有了芯盾时代IAM,老板再也不用担心公司的访问权限管理,企业业务更加安全、员工操作更加便利、运维工作更加简单。

 

posted @ 2024-06-04 16:08  CharyGao  阅读(275)  评论(0编辑  收藏  举报