1.权限分类
1.RBAC(Role-Based Access Control)
是一种常见的权限模型,它基于角色进行访问控制。
在RBAC中,将用户分配给不同的角色,每个角色具有特定的权限,用户通过分配的角色来获取相应的权限。这种运用于简单的系统中使用。
2.ABAC(Attribute-Based Access Control)
是另一种权限模型,它基于属性进行访问控制。在ABAC中,访问决策不仅基于用户角色,还基于其他属性(如用户的属性、环境条件等)。这种模型更加灵活,可以根据更多的属性因素进行访问控制。
3.PBAC(Policy-Based Access Control)
是一种基于策略的权限模型,它通过定义策略来管理访问控制。这些策略可以由管理员根据组织的需求进行定制,以决策具体的访问权限。PBAC模型允许更细粒度的控制,并支持动态的访问控制策略。
4.TBAC(Task-Based Access Control)
是一种基于任务的权限模型,它根据用户当前的任务或角色来授予相应的权限。用户只能在特定任务或角色下获得特定的权限,以完成特定的任务。
这些权限模型都是为了实现有效的访问控制而发展出来的,并在不同的场景和需求下有不同的应用。具体选用哪种权限模型要根据组织的需求、安全性要求和系统架构来决定。比较特殊,他是以任务为中心的,也很少见。
2.适合的场景:
1.RBAC(Role-Based Access Control)模型适用于以下场景:
组织结构明确的系统:适用于拥有明确定义角色和职责的组织,例如企业内部系统或公司网络。
简单的访问控制需求:适用于相对简单的访问控制需求,其中权限只基于用户的角色。
2.ABAC(Attribute-Based Access Control)模型适用于以下场景:
复杂的访问控制需求:适用于需要基于多种属性、策略和环境条件实现访问控制的复杂系统,例如云计算环境、大型组织或跨组织的系统。
动态访问控制:适用于需要动态调整访问权限的系统,根据用户的属性和环境条件进行访问控制。
3.PBAC(Policy-Based Access Control):
灵活的访问控制需求:适用于需要根据特定策略和规则管理访问控制的系统,以满足不同用户和场景下的灵活性和可定制性要求。
高度可管理的访问控制:适用于需要集中管理、审计和控制权限策略的系统,以确保访问权限的一致性和安全性。 PBAC通常不是单独实现的,他是一种策略文件:
依赖底层模型:PBAC 本身是“策略引擎”,需要基于其他模型(如RBAC/ABAC)提供的主体、客体和权限关系。
无默认权限结构:PBAC 不定义角色、属性等基础元素,需结合其他模型填充这些信息。
4.BAC(Task-Based Access Control)模型适用于以下场景:
任务导向的系统:适用于以任务为中心的系统,其中用户的权限是基于其当前执行的任务或角色。
临时权限需求:适用于需要根据特定任务或临时角色授予用户临时权限的系统,以确保权限仅在需要时才可用。
3.再理解
1.针对只对特殊用户开放的特殊资源,采用ACL模型管理访问权限,人工管理访问权限,权限具体到人,实现对特殊应用、特殊用户的精准权限管理;
场景:以图书馆为例,ACL相当于在每本书上都附了一张借阅许可清单,列出了每一个有权限借书的人,以及他们可以借阅的时间。这种方式简单实用,却存在两大问题,一是每次访问时都必须检查客体的ACL,会耗费一定资源;二来大用户量、多业务应用的环境下,ACL的添加、删除和更改比较复杂,容易出现错误。
2.针对重要程度一般、访问场景简单、访问人数多的资源,采用RBAC模型,以角色区分访问权限,实现应用的自动化授权,简化权限管理工作的同时保证安全性;
场景:还是以图书馆为例,RBAC相当于给每一个借书人分配了“学生”、“老师”、“某课题组成员”等不同的角色,“学生”可以借10本书,“老师”可以借20本书,“某课题组成员”可以借阅与课题有关的所有书籍。在企业内部,角色可以以级别、部门、项目等维度定义,一个员工可以有多个角色。相比ACL,RBAC能够借助中间件实现对多个系统和资源访问权限的集中管理,简化了权限管理流程,使得权限管理更规范、更便捷。 RBAC相比ACL更适应多用户、多应用、多资源的大型组织,但它的授权粒度只到角色组,难以对具体的个体实施细粒度的访问控制。
3.针对重要程度高、访问场景复杂的资源,采用ABAC模型,全面、精准的定义、维护各种属性,灵活的设置访问控制策略,进行细粒度的访问权限管理和动态访问控制,在提升资源安全性的同时保证访问的便利性。
场景:如果应用了ABAC,图书馆的借阅管理将更加精细、灵活,比如“老师”平时可以同时借20本书,寒暑假只能借10本,“学生”在假期不能借书,“某课题组成员”如果假期留校仍可无限量借书,离校则不能借书。在ABAC模型中,企业可以基于时间、地点、IP、设备、网络、操作系统、风险级别等属性制定不同的访问控制策略,实现细粒度的权限管理和动态访问控制,几乎能满足所有类型的需求,是真正的“高级货”。
评论