【应用安全】RBAC与ABAC:有什么区别?

本文涉及的产品
访问控制,不限时长
简介: 在任何公司,网络用户必须经过身份验证和授权,才能访问系统中可能导致安全漏洞的部分。获得授权的过程称为访问控制。在本指南中,我讨论了管理系统访问控制的两种主要方法:基于角色的访问控制(RBAC)和基于属性的访问控制。

在任何公司,网络用户必须经过身份验证和授权,才能访问系统中可能导致安全漏洞的部分。获得授权的过程称为访问控制。在本指南中,我讨论了管理系统访问控制的两种主要方法:基于角色的访问控制(RBAC)和基于属性的访问控制。我还回顾了SolarWinds®访问权限管理器,它是我的首选解决方案,可帮助团队更轻松地监控整个组织的访问控制。

  • 身份验证和授权
  • 基于角色访问控制(RBAC)与基于属性访问控制(ABAC)
  • 什么是RBAC?
  • 什么是ABAC?
  • RBAC与ABAC
  • 最佳访问管理工具
  • 如何选择访问控制解决方案

身份验证和授权

安全的两个基本方面是身份验证和授权。输入凭据以登录计算机或登录应用程序或软件后,设备或应用程序将进行身份验证以确定您的授权级别。授权可能包括您可以使用哪些帐户、您可以访问哪些资源以及您可以执行哪些功能。

基于角色访问控制(RBAC)与基于属性访问控制(ABAC)

基于角色访问控制(RBAC)和基于属性访问控制(ABAC)是控制身份验证过程和授权用户的两种方式。RBAC和ABAC的主要区别是RBAC基于用户角色提供对资源或信息的访问,而ABAC基于用户、环境或资源属性提供访问权限。本质上,当考虑RBAC与ABAC时,RBAC控制整个组织的广泛访问,而ABAC采用细粒度方法。

什么是RBAC?

RBAC是基于角色的,因此根据您在组织中的角色,您将拥有不同的访问权限。这由管理员决定,管理员设置角色应具有的访问权限的参数,以及分配给哪些用户的角色。例如,某些用户可能被分配到一个角色,在该角色中,他们可以编写和编辑特定文件,而其他用户可能被限制为只能阅读文件,但不能编辑文件。

一个用户可以被分配多个角色,从而可以访问许多不同的文件或功能。假设有一个团队在一个大型项目上工作。项目经理可以访问所有文件,并可以编辑和更改项目中的内容。然而,开发团队可能只能访问编程文件,无法查看或编辑项目的财务信息或员工详细信息。另一方面,人力资源或管理团队可能可以访问所有员工和财务信息,但不能使用编程文件。

组织可能会将RBAC用于此类项目,因为使用RBAC,不需要在每次人员离开组织或更改工作时更改策略:只需将其从角色组中删除或分配给新角色即可。这也意味着新员工可以相对快速地获得访问权限,这取决于他们履行的组织角色。

 

什么是ABAC?

基于属性的访问控制利用了一组称为“属性”的特性。这包括用户属性、环境属性和资源属性。

  • 用户属性包括用户名、角色、组织、ID和安全许可等内容。
  • 环境属性包括访问时间、数据位置和当前组织威胁级别。
  • 资源属性包括创建日期、资源所有者、文件名和数据敏感性。

本质上,ABAC具有比RBAC多得多的可能控制变量。ABAC的实现是为了减少未经授权的访问带来的风险,因为它可以在更细粒度的基础上控制安全和访问。例如,ABAC可以对其访问设置进一步的限制,例如只允许在特定时间或与相关员工相关的特定分支机构访问,而不是让HR角色的人员始终能够访问员工和工资信息。这可以减少安全问题,也有助于以后的审核过程。

RBAC与ABAC

通常,如果RBAC足够了,您应该在设置ABAC访问控制之前使用它。这两个访问控制过程都是过滤器,ABAC是这两个过程中比较复杂的,需要更多的处理能力和时间。如果你不需要它,那么使用这个更强大的过滤器并承担相应的资源成本是没有意义的。

无论如何,使用最少数量的RBAC和ABAC过滤器来构建访问和安全环境都很重要。它可以帮助您仔细规划目录数据和访问方法,以确保您没有使用不必要的过滤器或使事情过于复杂。在许多情况下,RBAC和ABAC可以分层使用,RBAC协议实施广泛访问,ABAC管理更复杂的访问。这意味着系统将首先使用RBAC来确定谁有权访问资源,然后使用ABAC来确定他们可以使用资源做什么以及何时可以访问资源。

 

最佳访问管理工具

无论您使用RBAC还是ABAC,或者两者的组合,我强烈建议您使用访问权限管理工具。一个好的工具可以简化设置并减少设置和管理筛选器所涉及的管理开销。我选择的是Access Rights Manager,这是一个高质量的工具,专门用于管理和审核整个IT基础架构的访问权限。

Access Rights Manager包括一个用户管理系统,用于监视、分析和报告Active Directory和组策略,并可以向您显示所做的更改、更改者和更改时间,这有助于您最大限度地减少内部威胁的可能性。它包括旨在帮助您实施特定于角色的安全性以及用户帐户的设置和取消设置的模板。您可以在一个简单的过程中顺利地委派对文件、文件夹或资源的访问,以减少管理开销。

如何选择访问控制解决方案

在安全方面,仔细规划和监控访问控制过程至关重要。使用强大的访问管理工具来帮助您设置访问控制,并定期检查您的设置,以确保它仍然符合您的组织需求。无论您是投资SolarWinds的Access Rights Manager,还是走另一条路,请确保您选择的工具可以设置协议和机制,以确保用户能够正确访问他们的工作所需的内容,而无需其他。


Tags

本文:https://architect.pub/rbac-vs-abac-whats-difference

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
6月前
|
存储 安全 API
权限设计种类【RBAC、ABAC】
权限设计种类【RBAC、ABAC】
595 2
|
4月前
|
安全 数据安全/隐私保护 开发者
|
4月前
|
安全 数据安全/隐私保护
|
5月前
|
存储 Shell API
Casbin是一个强大的、开源的访问控制库,支持访问控制模型如ACL、RBAC、ABAC等。
Casbin是一个强大的、开源的访问控制库,支持访问控制模型如ACL、RBAC、ABAC等。
|
安全 数据安全/隐私保护
基于RBAC实现权限系统
基于RBAC实现权限系统
479 0
|
7月前
|
存储 监控 安全
深入理解RBAC权限系统
RBAC(Role-Based Access Control)是一种访问控制模型,其核心概念是基于角色的权限分配。该模型的设计目标是简化对系统资源的访问管理,提高系统的安全性和可维护性。
891 1
深入理解RBAC权限系统
|
7月前
|
数据安全/隐私保护
基于RBAC0模型的简单权限系统设计角色
基于RBAC0模型的简单权限系统设计角色
|
7月前
|
Kubernetes 数据安全/隐私保护 容器
k8s学习-CKA真题-基于角色的访问控制-RBAC
k8s学习-CKA真题-基于角色的访问控制-RBAC
221 0
|
存储 缓存 运维
基于RBAC模型的权限管理设计
RBAC模型(Role-Based Access Control:基于角色的访问控制)是比较早期提出的权限实现模型,在多用户计算机时期该思想即被提出,其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有代表,并得到了普遍的公认。 RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作,并对这个逻辑表达式进行判断是否为True的求解过程,也即是将权限问题转换为Who、What、How的问题,Who、What、How构成了访问权限三元组,具体的理论可以参考RBAC96。
562 0
基于RBAC模型的权限管理设计
|
安全 JavaScript Java
复杂场景下的权限系统该怎么玩?ABAC权限模型帮你搞定它
复杂场景下的权限系统该怎么玩?ABAC权限模型帮你搞定它
下一篇
DataWorks