原來接觸好久的安全管理基于RBAC模型

測試已工作五年统倒,系統(tǒng)中總有個(gè)安全管理功能:1) 有操作集有角色有用戶肤晓;2) 用戶可以有多個(gè)角色安皱,每個(gè)角色可以分配給不同的用戶调鬓;3) 每個(gè)角色可以有多個(gè)操作集,每個(gè)操作集可以分給多個(gè)角色酌伊;4) 操作集可以自己定義也有預(yù)定義的腾窝,角色也是有一樣的,用戶一般只預(yù)定義一個(gè)admin用戶居砖。認(rèn)證可以是本地認(rèn)證虹脯,也可以是外部認(rèn)證比如ldap /ldaps或radius等服務(wù)器。此外用戶還綁定賬戶規(guī)則:定義了什么時(shí)間段有權(quán)限登錄奏候,哪些服務(wù)器(主機(jī)IP)可以登錄等等循集。

意外發(fā)現(xiàn):接觸這么久的安全管理竟基于RBAC模型,那什么是RBAC呢鼻由?

RBAC(Role-Based Access Control)基于角色訪問控制有4個(gè)模型:RBAC0暇榴、RBAC1、RBAC2蕉世、RBAC3蔼紧。RBAC0為最基本的權(quán)限功能。RBAC1在RBAC0基礎(chǔ)上增加角色分層的概念狠轻,一個(gè)角色可以繼承另外一個(gè)角色奸例。RBAC2在RBAC0基礎(chǔ)上增加一些限制:互斥角色、角色的最大用戶數(shù)上限、角色使用的先決條件查吊。RBAC3包含RBAC0谐区,RBAC1和RBAC2。

安全模型的4個(gè)要素:

User :可以訪問某系統(tǒng)的用戶逻卖,關(guān)聯(lián)一個(gè)唯一的用戶id宋列。

Role: 一個(gè)或多個(gè)操作權(quán)限的集合。

Permission:對一個(gè)或多個(gè)對象的特定訪問模式评也,相當(dāng)于訪問權(quán)限和授權(quán)炼杖。

Session:用戶與被分配用戶的角色集的激活子集之間的映射。

用戶和角色是多對多的關(guān)系盗迟,用戶可以有多個(gè)角色坤邪,每個(gè)角色可以分配給不同的用戶。角色和操作集也是多對多的關(guān)系罚缕,每個(gè)角色可以有多個(gè)操作集艇纺,每個(gè)操作集可以分給多個(gè)角色。session在1個(gè)用戶和1至多個(gè)角色之間定義一個(gè)臨時(shí)的一對多關(guān)系邮弹。

這就是最基本的安全模型RBAC0黔衡。

然而管理角色權(quán)限比運(yùn)維角色的有更多訪問資源的權(quán)限,運(yùn)維角色權(quán)限是管理角色的一個(gè)子集肠鲫。這樣的角色層次結(jié)構(gòu)利用繼承概念使一個(gè)角色隱式包含一個(gè)從屬角色關(guān)聯(lián)的訪問權(quán)限员帮。角色分層提供一個(gè)映射角色層次結(jié)構(gòu)的方法。

這就是角色分層的安全模型RBAC1导饲。

角色有一定的分層結(jié)構(gòu)(從屬關(guān)系)捞高,但也有角色操作權(quán)限重疊的時(shí)候,這就需要角色之間增加限制渣锦。都有哪些限制條件呢硝岗?互斥角色,角色的最大用戶數(shù)上限和先決條件

1) 互斥角色限制

互斥角色只能給一個(gè)用戶只能分配一個(gè)角色袋毙。這個(gè)限制可以是靜態(tài)的也可以是動(dòng)態(tài)的型檀。互斥角色的限制保證職責(zé)和權(quán)限的分離听盖。

互斥角色的擁有以下屬性:

? ? ? a) 一個(gè)用戶只能分配一個(gè)角色在動(dòng)態(tài)的session或靜態(tài)的session中(session不好理解:用戶和角色的映射關(guān)系)胀溺。

? ? ? b) 任何權(quán)限都只能分配給一個(gè)角色。

互斥角色為了增加不同技能的個(gè)人或不同的工作職能之間串通的難度皆看,以阻礙安全政策仓坞。

2) 角色的最大用戶數(shù)上限

一個(gè)項(xiàng)目組或一個(gè)部門,一般都只有一個(gè)負(fù)責(zé)人腰吟,那么項(xiàng)目負(fù)責(zé)人角色或部門主管角色通常僅限于單個(gè)用戶无埃。系統(tǒng)需要對用戶分配的角色數(shù)量或用戶為單個(gè)會(huì)話激活的角色數(shù)量施加約束。

3) 先決條件限制

一個(gè)用戶分配給某個(gè)高權(quán)限角色的前提是已經(jīng)分配給某個(gè)低權(quán)限的角色。先決條件可用于構(gòu)建最小權(quán)限概念的實(shí)現(xiàn)嫉称。

這就是限制的安全模型RBAC2侦镇。

RBAC3在RBAC0基礎(chǔ)上,包含了RBAC1的角色分層和RBAC2的角色限制功能织阅。

NIST RBAC規(guī)范

2001年隨著RBAC社區(qū)進(jìn)一步改善壳繁,已被美國國家標(biāo)準(zhǔn)協(xié)會(huì)ANSI/INCITS(國際信息技術(shù)標(biāo)準(zhǔn)委員會(huì))采納為ANSI INCITS 359-2004。

NIST標(biāo)準(zhǔn)的主要?jiǎng)?chuàng)新是引入了RBAC系統(tǒng)和管理功能規(guī)范荔棉,該規(guī)范定義了RBAC系統(tǒng)所需的功能氮趋。

該規(guī)范的好處

? ? ? ? a) 該規(guī)范為供應(yīng)商提供了功能基準(zhǔn),指出必須向用戶提供哪些功能以及這些功能的通用編程接口江耀。

? ? ? ? b) 該規(guī)范指導(dǎo)用戶開發(fā)需求文檔和統(tǒng)一評(píng)估供應(yīng)商產(chǎn)品。

? ? ? ? c) 該規(guī)范還提供了一個(gè)基線系統(tǒng)诉植,研究人員和實(shí)施人員可以在其上構(gòu)建增強(qiáng)功能祥国。

規(guī)范定義了3類功能:

? ? ? ? a)? 管理功能Administrative functions: 提供增加刪除的能力以及維護(hù)RBAC元素和關(guān)系。

? ? ? ? b) 支持系統(tǒng)功能Supporting system functions: 提供session管理(配置用戶和角色映射關(guān)系)和訪問控制決策making access control decisions晾腔。

? ? ? c)? 查看功能Review functions: 提供RBAC元素和關(guān)系的查詢功能舌稀。

NIST RBAC模型包含4個(gè)組件:

core RBAC,hierarchical RBAC灼擂,static separation of duty (SSD) relations壁查,dynamic separation of duty (DSD) relations。

Core RBAC

core RBAC的核心元素和RBAC0一樣是: users, roles, permissions, and sessions剔应。

NIST RBAC模型引入兩個(gè)從屬實(shí)體(Object 和Operation)來闡述權(quán)限Permission睡腿,相關(guān)定義如下:

對象Object: 受訪問控制的任何系統(tǒng)資源,如文件峻贮,打印席怪,終端和數(shù)據(jù)庫記錄等。比如愛奇藝視頻APP上的VIP視頻纤控,沒有VIP會(huì)員只能看前5分鐘挂捻。

操作Operation: 程序可執(zhí)行的映象,在調(diào)用時(shí)為用戶執(zhí)行某些功能船万。比如愛奇藝視頻APP上只有VIP可以操作連續(xù)簽到獲取VIP刻撒。

權(quán)限Permission: 控制一個(gè)或多個(gè)RBAC受保護(hù)對象的操作。

Core RBAC的管理功能包括 用戶的增加刪除耿导;角色的增加刪除声怔; 用戶角色關(guān)系(給用戶分配角色:session)的增加刪除;角色權(quán)限關(guān)系的增加刪除碎节。

支持系統(tǒng)功能包括創(chuàng)建一個(gè)用戶和一個(gè)默認(rèn)角色的會(huì)話session捧搞;會(huì)話中增加和刪除角色;檢查會(huì)話是否有權(quán)限對某個(gè)資源對象執(zhí)行某個(gè)請求操作;

查看功能包括查看模型的所有元素和它們的關(guān)系胎撇,包括用戶介粘,角色,用戶分配晚树,角色分配和session元素姻采。

Core RBAC是最基本的模型,具有當(dāng)前RBAC系統(tǒng)的常見功能爵憎。

Hierarchical RBAC

Hierarchical RBAC引用之前提到的RBAC1的繼承概念慨亲。如果角色r1繼承角色r2的所有權(quán)限且擁有角色r1權(quán)限的所有用戶也同時(shí)擁有角色r2的權(quán)限,則角色r1為r2的后代宝鼓。

NIST model模型定義了兩種角色層次結(jié)構(gòu):

? ? ? a) 常規(guī)角色層次結(jié)構(gòu):允許角色層次結(jié)構(gòu)的任意部分排序刑棵。支持多重繼承,一個(gè)角色可以從多個(gè)從屬角色中繼承權(quán)限愚铡,多個(gè)角色可以從同一從屬角色繼承權(quán)限蛉签。

? ? ? b) 有限的層次結(jié)構(gòu):施加限制導(dǎo)致更簡單的角色樹結(jié)構(gòu)。限制使一個(gè)角色有一個(gè)或多個(gè)直屬父代沥寥,但僅限于一個(gè)直屬后代碍舍。

? ? ? 角色層次結(jié)構(gòu)的基本原理是繼承屬性極大地簡化了權(quán)限關(guān)系的定義。角色可以具有重疊的操作權(quán)限邑雅,意味著屬于不同角色的用戶可能擁有一些相同的操作權(quán)限片橡。為了避免從頭開始定義多個(gè)角色以適應(yīng)各種用戶,角色層次結(jié)構(gòu)用于許多商業(yè)實(shí)現(xiàn)中淮野。常規(guī)角色層次結(jié)構(gòu)為此提供了最強(qiáng)大的工具捧书,限制的層次結(jié)構(gòu)也很有用,可以更簡單地實(shí)現(xiàn)角色層次結(jié)構(gòu)录煤。

Hierarchical RBAC給Core RBAC增加了4個(gè)管理功能:兩個(gè)角色間直屬繼承關(guān)系的增加 鳄厌;兩個(gè)角色間直屬繼承關(guān)系的刪除;創(chuàng)建一個(gè)現(xiàn)有角色的直屬后代妈踊;創(chuàng)建一個(gè)現(xiàn)有角色的直屬父代了嚎。

Hierarchical RBAC查看功能使管理者有查看操作權(quán)限,查看用戶和角色之間直接或間接的關(guān)系廊营。

Static Separation of Duty(SSD) Relations靜態(tài)分離關(guān)系

SSD和DSD是NIST RBAC model中兩個(gè)限制性的組件歪泳。這些限制以職責(zé)關(guān)系分離的形式,用于執(zhí)行可能產(chǎn)生的利益沖突政策露筒,以防止用戶超出其角色(職位)的合理權(quán)限級(jí)別呐伞。

SSD定義了互斥角色的集合,比如一個(gè)用戶分配互斥角色集合中某個(gè)角色那么就不能分配該集合中另外的角色慎式。 此外SSD還設(shè)置了角色集合的用戶數(shù)最大上限伶氢。SSD簡單地定義為(role set, n) 趟径,意味著沒有用戶可以分配到比n更多的角色集合。

SSD管理功能:創(chuàng)建或刪除角色集癣防;增加刪除角色成員蜗巧。

SSD功能查看功能:用于查看現(xiàn)有SSD集合屬性。

Dynamic Separation of Duty Relations動(dòng)態(tài)分離關(guān)系

和SSD一樣蕾盯,DSD限制了一個(gè)用戶可用的操作權(quán)限幕屹。 DSD規(guī)范對用戶會(huì)話內(nèi)或跨用戶會(huì)話內(nèi)激活的角色設(shè)置constraints(角色的用戶最大數(shù)上限),來限制權(quán)限的可用性级遭。DSD定義constraints為(role set, n)望拖,意味著沒有用戶會(huì)話可以從角色集中激活比n個(gè)更多的角色。

DSD使管理員能夠在不重疊的時(shí)間范圍內(nèi)為用戶指定某些功能挫鸽。 與SSD一樣说敏,DSD管理功能:DSD關(guān)系的增刪,查看功能:DSD關(guān)系的查看丢郊。

參考:Role-Based Access Control in Computer Security

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末像云,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚂夕,更是在濱河造成了極大的恐慌,老刑警劉巖腋逆,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婿牍,死亡現(xiàn)場離奇詭異,居然都是意外死亡惩歉,警方通過查閱死者的電腦和手機(jī)等脂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撑蚌,“玉大人上遥,你說我怎么就攤上這事≌浚” “怎么了粉楚?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亮垫。 經(jīng)常有香客問我模软,道長,這世上最難降的妖魔是什么饮潦? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任燃异,我火速辦了婚禮,結(jié)果婚禮上继蜡,老公的妹妹穿的比我還像新娘回俐。我一直安慰自己逛腿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布仅颇。 她就那樣靜靜地躺著单默,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灵莲。 梳的紋絲不亂的頭發(fā)上雕凹,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音政冻,去河邊找鬼枚抵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛明场,可吹牛的內(nèi)容都是我干的汽摹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苦锨,長吁一口氣:“原來是場噩夢啊……” “哼逼泣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舟舒,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對情侶失蹤拉庶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后秃励,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氏仗,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年夺鲜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了皆尔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡币励,死狀恐怖慷蠕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情食呻,我是刑警寧澤流炕,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站仅胞,受9級(jí)特大地震影響浪感,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饼问,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一影兽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧莱革,春花似錦峻堰、人聲如沸讹开。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旦万。三九已至,卻和暖如春镶蹋,著一層夾襖步出監(jiān)牢的瞬間成艘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工贺归, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淆两,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親偿凭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 在20世紀(jì)90年代期間剑勾,大量專家學(xué)者和研究單位對RBAC(Role-Based Access Control)的概...
    JunChow520閱讀 9,048評(píng)論 3 149
  • 2019/3/10 什么是RBAC 權(quán)限系統(tǒng)通常基于RBAC(Role-Based Access Control)...
    楊呀閱讀 6,794評(píng)論 6 67
  • 一赵颅、前言 權(quán)限一句話來理解就是對資源的控制虽另,對web應(yīng)用來說就是對url的控制,關(guān)于權(quán)限可以毫不客氣的說幾乎每個(gè)系...
    君臨天下夜未央閱讀 12,055評(píng)論 0 20
  • RBAC權(quán)限模型[完整] 一饺谬、前言 權(quán)限一句話來理解就是對資源的控制洲赵,對web應(yīng)用來說就是對url的控制,關(guān)于...
    lorron閱讀 61,998評(píng)論 0 31
  • 認(rèn)識(shí)一個(gè)普通的人: 十多年年前商蕴,他買了三輪車子,一直收廢品芝发。皮膚黑绪商,眼睛大,骨子里透著一股機(jī)靈辅鲸。 媳婦比他小好幾歲...
    黃毛兒_閱讀 581評(píng)論 7 13