專利名稱:一種改進(jìn)的rbac訪問控制模型的制作方法
技術(shù)領(lǐng)域:
一種計算機(jī)系統(tǒng)重要和基礎(chǔ)的安全技術(shù)。
背景技術(shù):
在現(xiàn)代信息系統(tǒng)中,安全管理一直是設(shè)計的核心部分。而訪問控制技術(shù)則是任何安全信息系統(tǒng)的重要環(huán)節(jié),它的主要任務(wù)是保證資源不被非法使用和訪問。訪問控制規(guī)定了主體對客體訪問的限制,并在身份識別的基礎(chǔ)上,根據(jù)身份對提出資源訪問的請求加以控制。訪問控制決定了誰能夠訪問系統(tǒng),能訪問系統(tǒng)的何種資源以及如何使用這些資源。它是對信息系統(tǒng)資源進(jìn)行保護(hù)的重要措施,也是計算機(jī)系統(tǒng)最重要和最基礎(chǔ)的安全機(jī)制。對于訪問控制模型的研究,最早產(chǎn)生于20世紀(jì)60年代。早期的訪問控制模型有Harrison、 Ruzzo和Ulman提出的URU模型,Jones等人提出的I^ke-Grant模型等。隨后,出現(xiàn)了兩種重要的訪問控制方法自主訪問控制(Discretionary AccessControl,DAC)和強(qiáng)制訪問控制MAC (Mandatory Access Control,MAC)。之后,又出現(xiàn)了一種新的訪問控制方法基于角色的訪問控制(Role-Based AccessControl, RBAC),但是由于在基于角色的訪問控制模型中,系統(tǒng)建立時角的種類已經(jīng)確定,角色和權(quán)限之間的關(guān)聯(lián)關(guān)系也已經(jīng)綁定完成,系統(tǒng)可擴(kuò)展性差ο
發(fā)明內(nèi)容
本發(fā)明就是針對上述問題,提供一種自定義子角色訪問控制模型。為實(shí)現(xiàn)以上目的,本發(fā)明采用如下技術(shù)方案,基于角色的訪問控制模型,通過引入 “角色”的概念來實(shí)現(xiàn)用戶與權(quán)限的邏輯分離;角色是RBAC模型的核心,是一個或一群用戶在組織內(nèi)可執(zhí)行的操作的集合;系統(tǒng)根據(jù)職權(quán)和責(zé)任來劃分角色,角色可以完成一定的職責(zé);屬于角色的用戶獲得該角色所擁有的權(quán)限;用戶屬于特定的一個或多個角色,角色擁有一個或多個權(quán)限,用戶通過擔(dān)任某些角色來獲得訪問權(quán)限,因此,角色成為了溝通主體和客體間聯(lián)系的中介;角色與用戶相比是穩(wěn)定的,當(dāng)權(quán)限改變時,只需重新分配即可。本發(fā)明有益效果不需對數(shù)據(jù)庫表結(jié)構(gòu)和現(xiàn)有程序進(jìn)行任何改動,只需要添加相應(yīng)的元素,并配置好元素間的關(guān)聯(lián)關(guān)系即可,擴(kuò)展性極強(qiáng),同時,由于其靈活性減輕了管理人員的維護(hù)負(fù)擔(dān)。
下面結(jié)合附圖對本發(fā)明進(jìn)一步說明。圖IRBAC模型圖。
具體實(shí)施例方式基于角色的訪問控制模型,通過引入“角色”的概念來實(shí)現(xiàn)用戶與權(quán)限的邏輯分離;角色是RBAC模型的核心,是一個或一群用戶在組織內(nèi)可執(zhí)行的操作的集合;系統(tǒng)根據(jù)職權(quán)和責(zé)任來劃分角色,角色可以完成一定的職責(zé);屬于角色的用戶獲得該角色所擁有的權(quán)限;用戶屬于特定的一個或多個角色,角色擁有一個或多個權(quán)限,用戶通過擔(dān)任某些角色來獲得訪問權(quán)限,因此,角色成為了溝通主體和客體間聯(lián)系的中介;角色與用戶相比是穩(wěn)定的,當(dāng)權(quán)限改變時,只需重新分配即可。系統(tǒng)在初始情況下,無法預(yù)知角色與其所擁有的權(quán)限之間的關(guān)聯(lián)關(guān)系。因此,只確定角色R和相應(yīng)的操作集合0S,并不綁定角色和權(quán)限的映射關(guān)系。當(dāng)需要創(chuàng)建角色時,將操作集合OS中的操作0(0 e OS)和資源綁定后,將該權(quán)限分配給新創(chuàng)建的子角色,動態(tài)建立角色/權(quán)限分配關(guān)系;將新創(chuàng)建的角色稱為角色R的子角色,子角色動態(tài)獲得的權(quán)限是角色權(quán)限的子集,子角色是實(shí)際使用權(quán)限的角色。系統(tǒng)初始化時,roles表中已經(jīng)記錄了角色信息,即系統(tǒng)管理員角色記錄ID:1、 PARENT_ID:null、R0LE_NAME 系統(tǒng)管理員;公司操作員角色記錄ID:2、PARENT_ID:null、 R0LE_NAME:公司操作員;fimcion表中已經(jīng)記錄了操作集合,即系統(tǒng)管理員和公司操作員的操作;r0le_fUnCti0n表中已經(jīng)記錄了角色和操作集合的關(guān)系,即系統(tǒng)管理員角色和“客戶公司管理、客戶公司操作員配置、客戶公司功能配置”操作的關(guān)聯(lián)關(guān)系,公司操作員角色和“財務(wù)管理、員工管理、考勤管理、產(chǎn)品管理、電話營銷”的關(guān)聯(lián)關(guān)系。系統(tǒng)管理員新創(chuàng)建子角色時,在roles表中記錄該子角色的名稱并將其PARENT_ID設(shè)置為父角色的ID,表明新創(chuàng)建角色為ID的子角色;系統(tǒng)管理員在為新創(chuàng)建的子角色分配操作時,根據(jù)PARENT_ID在 roltfimction表中獲得父角色的操作集合,然后,在這些操作中選擇所需操作,在role_ function表中綁定創(chuàng)建的子角色和操作的關(guān)系。同時,在r0le_C0mpany表中綁定創(chuàng)建的子角色和資源的關(guān)系即可。;當(dāng)用戶登錄時,根據(jù)用戶輸入的L0GIN_ID和PASSWD可以獲得用戶ID。然后根據(jù)user_role中USER_ID和R0LE_ID獲得角色I(xiàn)D,然后根據(jù)角色I(xiàn)D在role_ function和r0le_C0mpany獲得該角色所具有的權(quán)限即可。
權(quán)利要求
1.一種改進(jìn)的RBAC訪問控制模型,基于角色的訪問控制模型,通過引入“角色”的概念來實(shí)現(xiàn)用戶與權(quán)限的邏輯分離;其特征在于角色是RBAC模型的核心,是一個或一群用戶在組織內(nèi)可執(zhí)行的操作的集合;系統(tǒng)根據(jù)職權(quán)和責(zé)任來劃分角色,角色可以完成一定的職責(zé); 屬于角色的用戶獲得該角色所擁有的權(quán)限;用戶屬于特定的一個或多個角色,角色擁有一個或多個權(quán)限,用戶通過擔(dān)任某些角色來獲得訪問權(quán)限,因此,角色成為了溝通主體和客體間聯(lián)系的中介;角色與用戶相比是穩(wěn)定的,當(dāng)權(quán)限改變時,只需重新分配即可。
2.根據(jù)權(quán)利要求1所述一種改進(jìn)的RBAC訪問控制模型,其特征在于系統(tǒng)在初始情況下,無法預(yù)知角色與其所擁有的權(quán)限之間的關(guān)聯(lián)關(guān)系,只確定角色R和相應(yīng)的操作集合0S, 并不綁定角色和權(quán)限的映射關(guān)系,當(dāng)需要創(chuàng)建角色時,將操作集合OS中的操作0(0 e OS) 和資源綁定后,將該權(quán)限分配給新創(chuàng)建的子角色,動態(tài)建立角色/權(quán)限分配關(guān)系;將新創(chuàng)建的角色稱為角色R的子角色,子角色動態(tài)獲得的權(quán)限是角色權(quán)限的子集,子角色是實(shí)際使用權(quán)限的角色。
3.根據(jù)權(quán)利要求1所述一種改進(jìn)的RBAC訪問控制模型,其特征在于系統(tǒng)初始化時, roles表中已經(jīng)記錄了角色信息,即系統(tǒng)管理員角色記錄ID: 1、PARENT_ID:null、R0LE_ NAME 系統(tǒng)管理員;公司操作員角色記錄ID:2、PARENT_ID:null、R0LE_NAME 公司操作員; funcion表中已經(jīng)記錄了操作集合,即系統(tǒng)管理員和公司操作員的操作;r0le_functi0n表中已經(jīng)記錄了角色和操作集合的關(guān)系,即系統(tǒng)管理員角色和“客戶公司管理、客戶公司操作員配置、客戶公司功能配置”操作的關(guān)聯(lián)關(guān)系,公司操作員角色和“財務(wù)管理、員工管理、考勤管理、產(chǎn)品管理、電話營銷”的關(guān)聯(lián)關(guān)系;系統(tǒng)管理員新創(chuàng)建子角色時,在roles表中記錄該子角色的名稱并將其PARENT_ID設(shè)置為父角色的ID,表明新創(chuàng)建角色為ID的子角色;系統(tǒng)管理員在為新創(chuàng)建的子角色分配操作時,根據(jù)PARENT_ID在r0le_functi0n表中獲得父角色的操作集合,然后,在這些操作中選擇所需操作,在r0le_fUncti0n表中綁定創(chuàng)建的子角色和操作的關(guān)系;同時,在r0le_C0mpany表中綁定創(chuàng)建的子角色和資源的關(guān)系即可;當(dāng)用戶登錄時,根據(jù)用戶輸入的L0GIN_ID和PASSWD可以獲得用戶ID,然后根據(jù)uSer_role中 USER_ID 和 R0LE_ID 獲得角色 ID,然后根據(jù)角色 ID 在 role_function 和 role_company 獲得該角色所具有的權(quán)限即可。
全文摘要
一種改進(jìn)的RBAC訪問控制模型,只需要添加相應(yīng)的元素,并配置好元素間的關(guān)聯(lián)關(guān)系即可,擴(kuò)展性極強(qiáng),同時,由于其靈活性減輕了管理人員的維護(hù)負(fù)擔(dān),基于角色的訪問控制模型,通過引入“角色”的概念來實(shí)現(xiàn)用戶與權(quán)限的邏輯分離;角色是RBAC模型的核心,是一個或一群用戶在組織內(nèi)可執(zhí)行的操作的集合;系統(tǒng)根據(jù)職權(quán)和責(zé)任來劃分角色,角色可以完成一定的職責(zé);屬于角色的用戶獲得該角色所擁有的權(quán)限;用戶屬于特定的一個或多個角色,角色擁有一個或多個權(quán)限,用戶通過擔(dān)任某些角色來獲得訪問權(quán)限,因此,角色成為了溝通主體和客體間聯(lián)系的中介;角色與用戶相比是穩(wěn)定的,當(dāng)權(quán)限改變時,只需重新分配即可。
文檔編號G06F21/00GK102456103SQ20101051960
公開日2012年5月16日 申請日期2010年10月26日 優(yōu)先權(quán)日2010年10月26日
發(fā)明者王芳 申請人:王芳