資源描述:
《基于RBAC的權(quán)限設(shè)計(jì)模型.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、基于RBAC的權(quán)限設(shè)計(jì)模型RBAC介紹RBAC模型作為目前最為廣泛接受的權(quán)限模型。NIST(TheNationalInstituteofStandardsandTechnology,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院)標(biāo)準(zhǔn)RBAC模型由4個(gè)部件模型組成,這4個(gè)部件模型分別是基本模型RBAC0(CoreRBAC)、角色分級(jí)模型RBAC1(HierarchalRBAC)、角色限制模型RBAC2(ConstraintRBAC)和統(tǒng)一模型RBAC3(CombinesRBAC)[1]。RBAC0模型如圖1所示。圖表1R
2、BAC0模型lRBAC0定義了能構(gòu)成一個(gè)RBAC控制系統(tǒng)的最小的元素集合在RBAC之中,包含用戶users(USERS)、角色roles(ROLES)、目標(biāo)objects(OBS)、操作operations(OPS)、許可權(quán)permissions(PRMS)五個(gè)基本數(shù)據(jù)元素,權(quán)限被賦予角色,而不是用戶,當(dāng)一個(gè)角色被指定給一個(gè)用戶時(shí),此用戶就擁有了該角色所包含的權(quán)限。會(huì)話sessions是用戶與激活的角色集合之間的映射。RBAC0與傳統(tǒng)訪問控制的差別在于增加一層間接性帶來(lái)了靈活性,RBAC1、RBAC
3、2、RBAC3都是先后在RBAC0上的擴(kuò)展。lRBAC1引入角色間的繼承關(guān)系角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系是一個(gè)絕對(duì)偏序關(guān)系,允許角色間的多繼承。而受限繼承關(guān)系則進(jìn)一步要求角色繼承關(guān)系是一個(gè)樹結(jié)構(gòu)。lRBAC2模型中添加了責(zé)任分離關(guān)系RBAC2的約束規(guī)定了權(quán)限被賦予角色時(shí),或角色被賦予用戶時(shí),以及當(dāng)用戶在某一時(shí)刻激活一個(gè)角色時(shí)所應(yīng)遵循的強(qiáng)制性規(guī)則。責(zé)任分離包括靜態(tài)責(zé)任分離和動(dòng)態(tài)責(zé)任分離。約束與用戶-角色-權(quán)限關(guān)系一起決定了RBAC2模型中用戶的訪問許
4、可。lRBAC3包含了RBAC1和RBAC2既提供了角色間的繼承關(guān)系,又提供了責(zé)任分離關(guān)系。建立角色定義表。定出當(dāng)前系統(tǒng)中角色。因?yàn)橛欣^承的問題,所以角色體現(xiàn)出的是一個(gè)樹形結(jié)構(gòu)。2權(quán)限設(shè)計(jì):配置資源以及資源的操作:這里資源可以定義為一個(gè)通用的資源模型。提供通用的資源統(tǒng)一接口。數(shù)據(jù)庫(kù)ER圖:關(guān)系圖:3分析:根據(jù)以上的類關(guān)系圖和ER圖可以看出。整個(gè)權(quán)限可以抽象為五個(gè)對(duì)象組成。OrgBean:用于描述org模型。Role:用于描述角色。Permission:用于描述權(quán)限。Resource:用于描述資源。O
5、peration:用于描述操作。其中Permission中有Resource,Operation的聚合,資源和操作組成權(quán)限。Role和Permission都有自包含。因?yàn)樵O(shè)計(jì)到權(quán)限的繼承。資源Resource也可能出現(xiàn)一顆樹形結(jié)構(gòu),那資源也要有自包含。思想:權(quán)限系統(tǒng)的核心由以下三部分構(gòu)成:1.創(chuàng)造權(quán)限,2.分配權(quán)限,3.使用權(quán)限,然后,系統(tǒng)各部分的主要參與者對(duì)照如下:1.創(chuàng)造權(quán)限-Creator創(chuàng)造,2.分配權(quán)限-Administrator分配,3.使用權(quán)限-User:1.Creator創(chuàng)造Priv
6、ilege,Creator在設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)時(shí)會(huì)劃分,一個(gè)子系統(tǒng)或稱為模塊,應(yīng)該有哪些權(quán)限。這里完成的是Privilege與Resource的對(duì)象聲明,并沒有真正將Privilege與具體Resource實(shí)例聯(lián)系在一起,形成Operator。2.Administrator指定Privilege與ResourceInstance的關(guān)聯(lián)。在這一步,權(quán)限真正與資源實(shí)例聯(lián)系到了一起,產(chǎn)生了Operator(PrivilegeInstance)。Administrator利用Operator這個(gè)基本元素,來(lái)創(chuàng)造
7、他理想中的權(quán)限模型。如,創(chuàng)建角色,創(chuàng)建用戶組,給用戶組分配用戶,將用戶組與角色關(guān)聯(lián)等等...這些操作都是由Administrator來(lái)完成的。3.User使用Administrator分配給的權(quán)限去使用各個(gè)子系統(tǒng)。Administrator是用戶,在他的心目中有一個(gè)比較適合他管理和維護(hù)的權(quán)限模型。于是,程序員只要回答一個(gè)問題,就是什么權(quán)限可以訪問什么資源,也就是前面說的Operator。程序員提供Operator就意味著給系統(tǒng)穿上了盔甲。Administrator就可以按照他的意愿來(lái)建立他所希望的權(quán)
8、限框架可以自行增加,刪除,管理Resource和Privilege之間關(guān)系??梢宰孕性O(shè)定用戶User和角色Role的對(duì)應(yīng)關(guān)系。(如果將Creator看作是Basic的發(fā)明者,Administrator就是Basic的使用者,他可以做一些腳本式的編程)Operator是這個(gè)系統(tǒng)中最關(guān)鍵的部分,它是一個(gè)紐帶,一個(gè)系在Programmer,Administrator,User之間的紐帶。4權(quán)限APIgetPermissionByOrgGuid(StringorgGuid)通