岳兵
摘要:根據(jù)RBAC模型的基本思想,設(shè)計用于指導(dǎo)開發(fā)用戶權(quán)限管理的參考模型。該模型引入了職位和組織機構(gòu)對象,解決對用戶進行直接和間接授權(quán)的問題,并對用戶的權(quán)限進行精確的差異化管理。關(guān)鍵詞:RBAC;用戶權(quán)限;數(shù)據(jù)模型;信息系統(tǒng)
信息資源安全的保護以及不泄露成為企事業(yè)單位推廣信息化過程中最重要的一環(huán),因此權(quán)限系統(tǒng)模型成為信息系統(tǒng)分析和設(shè)計階段的重要組成部分。成功的權(quán)限系統(tǒng)設(shè)計對信息系統(tǒng)的安全性和用戶的職權(quán)責任起著極其重要的作用,權(quán)限系統(tǒng)的最終目的是保護軟件系統(tǒng)的安全、保護信息的安全、按照實際角色對應(yīng)相應(yīng)權(quán)限。本文基于RBAC的基本思想研究與設(shè)計信息系統(tǒng)中的用戶權(quán)限數(shù)據(jù)模型。
1 RBAC模型簡介
基于角色管理權(quán)限的思想早在70年代就已經(jīng)出現(xiàn),其基本指導(dǎo)思想(見圖1)是通過引入了角色(role)的新概念來實施訪問控制策略,不同的角色和它所具有的權(quán)限許可相互聯(lián)系。整個系統(tǒng)的訪問控制分兩步實現(xiàn):首先對角色進行分配,將用戶與角色聯(lián)系起來,通過角色將用戶與訪問權(quán)限從邏輯上分離開;然后指定權(quán)限,將角色與訪問權(quán)限聯(lián)系起來。用戶(user)作為某些角色的成員,獲得角色所擁有的權(quán)限。角色可以根據(jù)實際的職位、崗位、單位和組織來劃分,而用戶根據(jù)所承擔的不同權(quán)利和義務(wù)來結(jié)合實際情況授權(quán)相應(yīng)的角色。從用戶到角色的管理,簡化了權(quán)限分配的復(fù)雜性,提高了安全管理的效率和質(zhì)量。角色代表了訪問主體所具有的職權(quán)和責任,系統(tǒng)管理員負責將訪問許可權(quán)分配給一定的角色,每個用戶可以扮演不同的角色,這樣就使得每一個用戶都能夠獲得所扮演角色所擁有的訪問許可權(quán)。
2 數(shù)據(jù)模型詳細設(shè)計
2.1建模工具的選擇 Power Designer是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統(tǒng)進行分析設(shè)計,他幾乎包括了數(shù)據(jù)庫模型設(shè)計的全過程。利用Power Designer可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,還可以為數(shù)據(jù)倉庫制作結(jié)構(gòu)模型,也能對團隊設(shè)計模型進行控制。他可以與許多流行的軟件開發(fā)工具,例如PowerBuilder、Delphi、VB等相配合使開發(fā)時間縮短和使系統(tǒng)設(shè)計更優(yōu)化。
2.2權(quán)限模型設(shè)計方案的基本思路 根據(jù)RBAC的基本思想,同時借助Power Designer提供的建模工具,設(shè)計出可以用于信息管理系統(tǒng)的用戶權(quán)限模型。該模型由用戶表、權(quán)限表、權(quán)限分組表、用戶權(quán)限表、角色表、角色權(quán)限表、組織機構(gòu)表、區(qū)域表、職位表、用戶職位表、職位權(quán)限表、職位角色表、員工表構(gòu)成。
2.2.1用戶的權(quán)限 分為直接授權(quán)和間接授權(quán),直接授予的權(quán)限來自于系統(tǒng)管理員將系統(tǒng)中的功能權(quán)限賦予指定的用戶;間接授予的權(quán)限來自于給用戶賦予的職位而獲得的權(quán)限,而職位的權(quán)限又來自于其對應(yīng)的角色。職位必須建立在對應(yīng)的組織機構(gòu)指定節(jié)點上面,其權(quán)限來源也分為直接授權(quán)和間接授權(quán):直接授予的權(quán)限來自于系統(tǒng)管理員直接把系統(tǒng)中功能權(quán)限賦予組織機構(gòu)上面指定的職位;間接授予的權(quán)限來自于給職位賦予的角色而獲得的權(quán)限(角色沒有和對應(yīng)組織機構(gòu)相對應(yīng))。圖2顯示了用戶、職位、角色、權(quán)限的關(guān)系。
2.2.2用戶和職位的權(quán)限 分為直接授予和間接授予,該方法可以對用戶、職位的權(quán)限進行細微精確的控制,從而達到對用戶、職位進行差異化管理。
在信息管理系統(tǒng)的使用過程中,要對擁有相同職位用戶中的部分用戶功能權(quán)限進行修改,而又不能影響該職位下到其他用戶的權(quán)限,對用戶直接授予權(quán)限就體現(xiàn)出其靈活性。這種情況下,該職位下的所有用戶的權(quán)限都得到了修改,而沒達到修改該職位下部分用戶權(quán)限的要求。由于在該權(quán)限模型下角色和職位是一對多的關(guān)系,角色權(quán)限的修改,還會影響到擁有此角色其他職位對應(yīng)用戶的權(quán)限,更加沒達到實際的目的。當對組織機構(gòu)上的某一職位下的所有用戶的權(quán)限進行修改,而又不能影響系統(tǒng)中其他用戶的權(quán)限,只能對該職位的權(quán)限進行直接授予,如果通過間接授予權(quán)限的方式修改職位的權(quán)限,必定需要修改職位對應(yīng)角色的權(quán)限,此方式極有可能會造成系統(tǒng)中其他用戶權(quán)限的變化。
在實際的信息管理系統(tǒng)項目開發(fā)中,用戶的權(quán)限包括授予用戶的直接權(quán)限和間接權(quán)限的并集,而用戶的間接權(quán)限來至于用戶對應(yīng)職位擁有的直接權(quán)限和間接權(quán)限,通過這樣的方法獲得用戶權(quán)限才是用戶最終擁有的所有權(quán)限集[1]。
2.3權(quán)限模型數(shù)據(jù)字典的設(shè)計 用戶表(xt_user)主要由用戶ID(主鍵)、員工ID、登錄名稱、創(chuàng)建者ID、登錄密碼五個字段構(gòu)成。員工與用戶的關(guān)系為一對多。
權(quán)限表(action_limit)主要由權(quán)限ID(主鍵)、權(quán)限分組ID、權(quán)限名稱、權(quán)限描述、狀態(tài)五個字段構(gòu)成。權(quán)限名稱里面儲存的是展現(xiàn)層視圖控件的ID或一個網(wǎng)頁URL,可以根據(jù)實際情況決定存儲相關(guān)值。權(quán)限分組ID表示的是權(quán)限的分類,比如多個權(quán)限屬于系統(tǒng)維護類。
權(quán)限分組表(action_column)主要是由權(quán)限分組ID(主鍵)、分組名稱、狀態(tài)三個字段組成。
用戶權(quán)限表(action_xt_user)主要由用戶ID、權(quán)限ID、狀態(tài)三個字段構(gòu)成,用戶ID和權(quán)限ID構(gòu)成聯(lián)合主鍵。該表存儲的是直接授予用戶的權(quán)限。
角色表(group_manager)主要由角色ID(主鍵)、角色名稱、角色描述、狀態(tài)四個字段構(gòu)成。
角色權(quán)限表(action_group)主要由權(quán)限ID、角色ID、狀態(tài)三個字段構(gòu)成,角色ID和權(quán)限ID構(gòu)成聯(lián)合主鍵。
組織機構(gòu)表(bss_org)主要由機構(gòu)ID(主鍵)、機構(gòu)名稱、上級機構(gòu)ID、地區(qū)ID、狀態(tài)五個字段構(gòu)成。在實際軟件設(shè)計開發(fā)中可以對該表進行擴展,比如添加機構(gòu)類型字段,用于區(qū)分每個機構(gòu)屬于哪種類型的機構(gòu)(如行政、后勤、臨床等)。
區(qū)域表(area_info)主要由地區(qū)ID(主鍵)、上級地區(qū)ID、地區(qū)名稱、地區(qū)代碼、狀態(tài)五個字段構(gòu)成。
職位表(job)主要由職位ID(主鍵)、機構(gòu)ID、職位名稱、狀態(tài)四個字段構(gòu)成。
用戶職位表(xt_user_job)主要由用戶ID、職位ID、狀態(tài)三個字段構(gòu)成,用戶ID和職位ID構(gòu)成聯(lián)合主鍵。
職位權(quán)限表(action_job)主要由職位ID、權(quán)限ID、狀態(tài)三個字段構(gòu)成,職位ID和權(quán)限ID構(gòu)成聯(lián)合主鍵。表中存儲的事直接授予職位的權(quán)限
職位角色表(job_group_manager)主要由職位ID、角色ID、狀態(tài)三個字段構(gòu)成,職位ID和角色ID構(gòu)成聯(lián)合主鍵。
員工表(staff)主要由員工ID(主鍵)、機構(gòu)ID、員工編碼、員工名稱、聯(lián)系電話、地址、性別、身份證號碼構(gòu)成。在實際軟件設(shè)計開發(fā)中可以對該表進行擴展以滿足實際需要。
3 結(jié)束語
本文根據(jù)RBAC模型的基本思想,設(shè)計出用于指導(dǎo)開發(fā)信息系統(tǒng)用戶權(quán)限的參考模型,能夠應(yīng)用于基于B/S或C/S架構(gòu)的信息管理系統(tǒng)項目開發(fā)中,并且可以和實際的項目情況相結(jié)合,對該模型進行擴展,開發(fā)出符合數(shù)據(jù)庫設(shè)計要求,同時和實際業(yè)務(wù)相符合的應(yīng)用系統(tǒng)。
參考文獻:
[1]劉曉林,郭龍.基于RBAC的用戶權(quán)限管理的研究與實現(xiàn)[C].安微省合肥市:電腦知識與技術(shù),2013.
編輯/成森