RBAC 的全称是:
英文: Role-Based Access Control
中文: 基于角色的访问控制
一、什么是 RBAC?
RBAC 的全称是 基于角色的访问控制。
它的核心思想是:将权限赋予角色,而不是直接赋予用户。用户通过成为适当角色的成员来获得这些角色的权限。
这是一种间接的、策略中立的访问控制机制。简单来说,它在我们熟知的 用户 和 权限 之间,引入了一个中间层——角色。
二、为什么需要 RBAC?—— 从传统模型说起
为了更好地理解 RBAC 的优势,我们先看两种不太理想的模型:
-
自主访问控制:
- 描述: 直接将权限分配给用户。比如,在某个系统中,直接指定用户张三可以“删除文章”。
- 缺点: 当用户数量庞大、权限复杂时,管理会变得极其繁琐。给100个新员工相同的权限,就需要操作100次。容易出错,且难以审计。
-
强制访问控制:
- 描述: 多用于军事或安全等级极高的场景,通过比较资源的安全级别和用户的安全级别来决定访问权限。
- 缺点: 过于僵化,不够灵活,不适合普通的企业应用。
RBAC 的出现,正是为了解决上述问题,它提供了更高效、更可维护的权限管理方式。