以角色为基础的访问控制(英语:Role-based access controlRBAC),是资讯安全领域中,一种较新且广为使用的访问控制机制,其不同于强制访问控制以及自由选定访问控制[3]直接赋予使用者权限,而是将权限赋予角色。1996年,莱威·桑度(Ravi Sandhu)等人在前人的理论基础上,提出以角色为基础的访问控制模型,故该模型又被称为RBAC96。之后,美国国家标准局重新定义了以角色为基础的访问控制模型,并将之纳为一种标准,称之为NIST RBAC
以角色为基础的访问控制模型是一套较强制访问控制以及自由选定访问控制更为中性且更具灵活性的访问控制技术。

定义

在一个组织中,会因为不同的作业功能产生不同的角色,执行某项操作的权限会被赋予特定的角色。组织成员或者工作人员(抑或其它系统用户)则被赋予不同的角色,这些用户通过被赋予角色来取得执行某项计算机系统功能的权限。

  • S = 主体 = 一名使用者或自动代理人
  • R = 角色 = 被定义为一个授权等级的工作职位或职称
  • P = 权限 = 一种存取资源的方式
  • SE = 会期 = S,R或P之间的映射关系
  • SA = 主体指派
  • PA = 权限指派
  • RH = 角色阶层。能被表示为:≥(x ≥ y 代表 x 继承 y 的权限)
  • 一个主体可对应多个角色。
  • 一个角色可对应多个主体。
  • 一个角色可拥有多个权限。
  • 一种权限可被分配给许多个角色。
  • 一个角色可以有专属于自己的权限。

所以,用集合论的符号:
a5df9658fe892ecfa26d5483bf2a1b2d96c2644a.svg是一个多对多的权限分配方式。
ffc2425c961f8b7822588e0b8ef2451a02d25511.svg是一个多对多的主体指派方式。
e6d1e431bc21a7b992bb0f91e98c02b175af1d22.svg