以角色為基礎的存取控制[1][2](英語:Role-based access control,RBAC),是資訊安全領域中,一種較新且廣為使用的存取控制機制,其不同於強制存取控制以及自由選定存取控制[3]直接賦予使用者權限,而是將權限賦予角色。1996年,萊威·桑度(Ravi Sandhu)等人在前人的理論基礎上,提出以角色為基礎的存取控制模型,故該模型又被稱為RBAC96。之後,美國國家標準局重新定義了以角色為基礎的存取控制模型,並將之納為一種標準,稱之為NIST RBAC。
以角色為基礎的存取控制模型是一套較強制存取控制以及自由選定存取控制更為中性且更具靈活性的存取控制技術。
在一個組織中,會因為不同的作業功能產生不同的角色,執行某項操作的權限會被賦予特定的角色。組織成員或者工作人員(抑或其它系統用戶)則被賦予不同的角色,這些用戶通過被賦予角色來取得執行某項計算機系統功能的權限。
- S = 主體 = 一名使用者或自動代理人
- R = 角色 = 被定義為一個授權等級的工作職位或職稱
- P = 權限 = 一種存取資源的方式
- SE = 會期 = S,R或P之間的映射關係
- SA = 主體指派
- PA = 權限指派
- RH = 角色階層。能被表示為:≥(x ≥ y 代表 x 繼承 y 的權限)
- 一個主體可對應多個角色。
- 一個角色可對應多個主體。
- 一個角色可擁有多個權限。
- 一種權限可被分配給許多個角色。
- 一個角色可以有專屬於自己的權限。
所以,用集合論的符號:
是一個多對多的權限分配方式。
是一個多對多的主體指派方式。
![{\displaystyle RH\subseteq R\times R}](//wikimedia.org/api/rest_v1/media/math/render/svg/e6d1e431bc21a7b992bb0f91e98c02b175af1d22)
- 美國國家標準技術研究所定義以角色為基礎的存取控制
- AGDLP:微軟建議的RBAC實現方式
Ferraiolo, D.F. and Kuhn, D.R. Role Based Access Control (PDF). 15th National Computer Security Conference: 554–563. October 1992 [2009-07-23]. (原始內容 (PDF)存檔於2011-06-05).