未来已来,全面采用ABAC,打造当今复杂网络环境下最强悍IAM #
当今网络,云优先、用户/端点无处不在,残存传统边界彻底消失,“零信任”理念深入人心。在如此新型复杂网络环境下,如何实现动态的大规模细粒度访问控制,是IAM厂商面临的迫在眉睫的问题。
新形势下,传统的RBAC(基于角色的访问控制)模型能力捉襟见肘、疲态尽显。而ABAC(基于属性的访问控制)模型则以其对当前复杂网络环境和复杂业务场景的完美适配,令人青睐有加。
在企业信息化建设的鸿蒙初辟时期,RBAC就得到了广泛应用。
RBAC通过对角色(role)授权来实现访问控制,不同角色被授予不同权限,可以把多个角色赋予一个主体(subject),这个主体就获得了这些角色的权限。RBAC的优点在于“角色”这个概念与企业组织结构高度契合,易于理解和使用。例如:公司有技术部和营销部,就可以创建“技术部主管”、“技术部成员”、“营销部主管”、“营销部成员”四个角色,然后授权主管角色既可以访问本部门涉密资源也可以访问非密资源,而成员角色只能访问本部门非密资源。那么,可以赋予总经理“技术部主管”和“营销部主管”两个角色;赋予营销部主管以“营销部主管”和“技术部成员”两个角色;赋予轮岗培训的实习生“技术部成员”和“营销部成员”两个角色。可谓井然有序、各得其所。
然而,随着企业信息化进行到统一建设阶段,用户数量激增,必须区分业务范围,同时产生了根据业务上下文进行访问控制的需求。为了匹配复杂的业务场景,不得不创建大量角色,从而导致角色爆炸(role explosion)问题的出现。此时,RBAC已颓势初显,风光不再。
如今,信息化建设已发展到信息技术与企业各项业务和环节全面结合,信息系统持续集成的阶段。本阶段,用户身份多样,访问环境复杂,数据及IT基础设施迁移至云端,从而要求IAM必须具有动态授权、数据级粒度、支持访问环境上下文的大规模访问控制能力。
而基于传统静态访问控制,更适用于封闭环境的RBAC,只能通过生成大量临时的虚拟的角色来勉为其难地满足这些要求,结果是使角色爆炸达到不可收拾的地步,导致IAM难以运行。
要彻底解决问题,只能抛弃过时的RBAC,采用新的访问控制模型,而我们的最佳选择就是ABAC。
ABAC曾被人称为权限系统设计的未来,如今未来已来,全面采用ABAC正在当下。
不同于RBAC将权限授予角色,再将角色关联到主体,ABAC是通过动态计算一个或一组属性是否满足某种条件来进行授权判断,能够实现非常灵活的权限控制,理论上几乎能够满足现代企业在访问控制上所有类型的需求。
属性(attribute)是ABAC的核心概念: #
通常分为四类 #
主体(subject)属性,即发起访问请求的实体的属性,如员工的年龄、性别、职位等;
客体(object)属性,即可被访问的资源的属性,如资源的安全等级;
权限(permission)属性,也称为“操作(operation)属性”即对客体资源的各类操作,如对文件的读、写、新建、删除等;
环境(environment)属性,也称为“环境条件(environment conditions)”表示目前进行的访问请求发生时,操作或情境的上下文,如时间、地理或网络位置、生产环境还是测试环境等。
ABAC能灵活定义访问者(主体属性)在什么条件下(环境属性)可以对什么对象(客体属性)进行什么操作(权限属性)。
如果为主体创建且仅保留一个“角色”属性,那么ABAC就会坍缩成RBAC,也就是说,RBAC只是ABAC的一个单属性特例,ABAC功能之强大可见一斑。
▲ ABAC模型结构图
ABAC模型结构如上图所示,其运行过程如下: #
属性权威(Attribute Authority,AA,未在图中表现)动态地收集访问控制所需的所有属性以及属性-权限对应关系,并将其储存在PIP(策略信息点),用作属性检索源,或策略评估所需的数据;
PAP(策略管理点)提供用户界面,用于创建、管理、测试和调试数字策略和元策略,并将这些策略存储在PRP(策略存储点);
名词解释 #
数字策略(Digital Policy,DP):直接编译成机器可执行代码或信号的访问控制规则。主体属性、客体属性、权限属性和环境属性是数字策略的基本元素,数字策略规则的构建由访问控制机制执行。
元策略(Metapolicy ,MP):关于策略的策略,或管理策略的策略,例如:分配优先级、解决数字策略之间或其他元策略之间的冲突。
主体发出的访问请求传递给PEP(策略执行点),PEP将当前主体是谁,要对什么客体进行访问等业务上下文传递给PDP(策略决策点);
PDP根据PEP提供的业务上下文、PIP提供的数据信息以及PRP提供的策略查询结果进行决策,将最终需要执行什么样的查询限制、是否允许业务操作等决策信息返回PEP;
PEP执行决策结果。
综上,ABAC有如下优势: #
属性设置很容易。人员的职位、职级、办公室、项目,计算机的IP 地址、部门等都可以是属性。属性可以自动获取,也可以根据需要创建。
可以按需实现不同粒度的权限控制。在策略中,准许访问的判断可以写得很灵活,从而能做到细粒度的授权管理。通过细粒度的访问控制策略能够更安全地进行内外部数据共享。
管理成本低。不需要预定义判断逻辑,减轻了系统的维护成本,特别是在需求经常变化的系统中收益明显。能通过属性配置实时更新访问控制策略,避免大量的授权工作。能通过访问控制策略的配置来替代大量的用户角色配置,为业务全面协同带来的复杂访问控制提供扩展能力。
能通过属性+策略来灵活应用多因子认证(MFA),提高身份认证的安全性和灵活性。
可进行动态授权,属性或策略改变后权限立即变更生效。
为了打造适应新网络环境以及不断变化的业务场景的性能强悍的IAM产品,全面采用ABAC是大势所趋。
然而,实体属性发现机制、属性-权限关联关系发现机制、访问控制策略描述机制、访问控制中的多域合作机制、身份认证机制、权限实时更新机制等ABAC关键技术的研发和工程实现,是对广大IAM厂商的严峻考验。
ID.LINK 是目前市场上唯一全面采用ABAC访问控制模型的IAM产品,可满足大型集团企业复杂的身份管理与认证需求,例如:对正式员工、劳务派遣人员、供应商合作伙伴等多种身份的全生命周期管理;支持企业行政、业务条线等多套组织架构;支持企业多级法人的分级管理;支持多隔离网络分布式部署独立的认证服务;可接入不同类型的多种身份源与应用系统;支持与企业ESB、密码服务平台、PKI/CA等基础设施进集成;支持各种标准/私有单点登录协议等。
ID.LINK除了提供成熟的IAM系统以外,ID.LINK平台的核心优势在于额外配套了一个可快速实现客户的高度定制化需求,对所有身份管理与身份认证功能进行配置的身份核心平台。通过身份核心平台的统一身份图谱、ABAC策略、动态组件、流程引擎、批处理、计划任务、数据视图、API配置等功能,实施运维人员可通过图形化拖拽的组件编排方式快速发布新功能或调整现有功能。
ID.LINK致力于将每一个数字身份安全地链接到数据与信息资产,让合适的人在恰当的时间采用正确的方式和唯一的身份从统一的入口访问已授权的信息资产。