发布日期:2024 年 8 月 20 日
撰稿人:Gregg Lindemulder、Matt Kosinski
基于角色的访问控制 (RBAC) 是一种根据用户的预定义角色,授权最终用户访问系统、应用程序和数据的模型。例如,安全分析师可以配置防火墙,但无法查看客户数据,而销售代表可以查看客户帐户,但不能更改防火墙设置。
在 RBAC 系统中,管理员为每个用户分配一个或多个角色。每个新角色都代表了用户的一组权限或特权。
财务角色可能授权用户进行采购、运行 forecasting 软件或授予供应链系统访问权限。人力资源角色可能授权用户查看人事档案并管理员工福利系统。
拥有众多员工的大型组织通常使用 RBAC 来简化访问管理并维护数字资源的信息安全。一些企业还使用 RBAC 授予实物资产的安全许可,例如建筑物、办公室和数据中心的电子锁。
通过限制用户访问其角色所需资源,RBAC 可以帮助防御恶意内部人员、疏忽的员工和外部威胁行为者。
了解为什么 KuppingerCole 称 IBM 是提供成熟、可扩展和安全的企业身份验证解决方案的领导者。
通过基于角色的访问控制系统,组织可以采用细粒度方法进行身份和访问管理 (IAM),同时简化授权流程和访问控制策略。具体而言,RBAC 可以帮助组织:
RBAC 无需为每个用户提供定制的用户权限集。相反,定义的 RBAC 角色确定访问权限。这一流程使组织更容易办理员工入职或离职、更新工作职能和转变业务运营。
RBAC 的优势还包括能够快速添加承包商、供应商和其他第三方用户的访问权限。例如,联合营销角色分配可能会向外部业务合作伙伴授予产品相关数据库的应用程序编程接口 (API) 访问权限。这样既可以让用户访问需要的信息,还能保证公司的机密资源不会被泄露。
实施 RBAC 还有助于企业遵守数据保护法规,例如涵盖金融服务和医疗保健组织的授权。RBAC 可以让监管机构了解谁在何时以何种方式对敏感信息进行了访问或修改。
RBAC 政策通过执行最小特权原则 (PoLP),帮助解决网络安全漏洞。根据 PoLP,用户角色授予完成任务或作业所需的最低级别权限。例如,初级开发人员可能有权处理应用程序的源代码,但未经主管批准不得提交更改。
通过限制敏感数据的访问权限,RBAC 有助于防止意外数据丢失和故意数据泄露。具体来说,RBAC 可以限制横向移动,即黑客使用初始网络访问媒介逐渐扩大其在系统中的覆盖范围。
根据 X-Force Threat Intelligence Index,有效账户滥用(黑客接管合法用户的账户并利用其特权造成损害的行为)是最常见的网络攻击媒介。RBAC 可以从一开始就限制用户账户可以访问的内容,从而减轻黑客可能对该账户造成的损害。
同样, 内部威胁 是数据泄露最昂贵的原因之一。根据 数据泄露成本报告, 恶意内部人员造成的泄露平均成本为 499 万美元,高于 488 万美元的总体平均泄露成本。
通过限制用户权限,RBAC 加大了员工因恶意或疏忽滥用其访问权限损害组织的难度。
在 RBAC 系统中,组织必须首先创建特定的角色,然后定义将授予这些角色哪些权限和特权。组织通常首先将角色大致分为三个顶级类别:管理员、专家或专家用户和最终用户。
为了进一步为特定用户组配置不同的角色,需要考虑权限、责任和技能水平等更精细的因素。有时,一个角色可能直接对应于一个职位。在其他情况下,角色可能指多项权限的集合,这些权限可以分配给满足特定条件的用户,而无需考虑其职位如何。
通常为用户分配多个角色,或者可能将其分配给包含多个访问级别的角色组。一些角色是分层的,并为管理人员提供一整套权限,而其下属的角色获得这些角色权限中的一部分。例如,主管角色可能授予该用户对文档的写入权限,而团队成员仅具有读取访问权限。
开发 RBAC 模型的美国国家标准与技术研究院 (NIST) 为所有 RBAC 系统提供三个基本规则。
有四种不同的模型用于实现 RBAC,但每种模型都始于相同的核心结构。每个后续模型都在前一个模型的基础上构建新的功能和特性。
核心 RBAC
此模型有时称为平面 RBAC,是任何 RBAC 系统的必备基础。它遵循 RBAC 的三个基本规则。为用户分配角色,这些角色授权访问特定的权限和特权集。核心 RBAC 可用作主要访问控制系统,或作为更高级 RBAC 模型的基础。
分级 RBAC
该模型添加了复制组织报告结构的角色层次结构。在角色层次结构中,每个角色都会继承其下级角色的权限并获得新的权限。
例如,角色层次结构可能包括高管、经理、主管和基层员工。位于层次结构顶部的主管获授权使用一整套权限,而经理、主管和基层员工会获授权使用该权限的一小部分。
受限 RBAC
除了角色层次结构之外,该模型还增加了强制职责分离 (SOD) 的功能。职责分离要求两个人完成某些任务,有助于防止利益冲突。
例如,申请报销业务费用的用户不应与批准该申请的人是同一个人。受限 RBAC 策略可确保为这些类型的任务分离用户权限。
对称 RBAC
该模型是 RBAC 最先进、最灵活且最全面的版本。除了之前模型的功能外,该模型还可以加深对整个企业权限的了解。
组织可以查看每个权限与系统中每个角色和每个用户之间的对应关系,还可以根据业务流程和员工职责的变化,调整并更新角色相关的权限。
这些功能对于大型组织尤其有价值,因为大型组织必须确保每个角色和每个用户都拥有执行任务所需的最少访问权限。
组织可能会使用其他访问控制框架作为 RBAC 的替代方案。在某些用例中,组织将 RBAC 与其他授权模型相结合来管理用户权限。常用的访问控制框架包括:
MAC 系统对所有用户实施集中定义的访问控制策略。MAC 系统的粒度低于 RBAC,并且访问通常基于设置的间隙级别或信任分数。许多操作系统使用 MAC 来控制程序对敏感系统资源的访问。
DAC 系统支持资源所有者为这些资源设置自己的访问控制规则。DAC 比 MAC 的一揽子策略更灵活,比 RBAC 的结构化方法限制更少。
ABAC 分析用户、对象和操作的属性,如用户名、资源类型和时间,以决定是否授予访问权限。RBAC 比 ABAC 更容易实施,因为 RBAC 使用组织角色而不是每个单独用户的属性来授权访问。
RBAC 和 ABAC 之间的区别在于,ABAC 根据多种因素动态确定当前的访问权限,而 RBAC 仅根据用户的预定义角色确定访问权限。
ACL 是一种基本的访问控制系统,它引用用户列表和规则来确定谁可以访问系统或资源,以及他们可以执行哪些操作。
ACL 和 RBAC 之间的区别在于,ACL 为每个用户单独定义规则,而 RBAC 系统根据角色分配访问权限。
对于大型组织,RBAC 被视为更好的访问控制选择,因为它比 ACL 更具可扩展性且更易于管理。