細心!用心!耐心!

          吾非文人,乃市井一俗人也,讀百卷書,跨江河千里,故申城一游; 一兩滴辛酸,三四年學業(yè),五六點粗墨,七八筆買賣,九十道人情。

          BlogJava 聯(lián)系 聚合 管理
            1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks
           

          0
          引言
          管理信息系統(tǒng)是一個復雜的人機交互系統(tǒng),其中每個具體環(huán)節(jié)都可能受到安全威脅。構(gòu)建強健的權(quán)限管理系統(tǒng),保證管理信息系統(tǒng)的安全性是十分重要的。權(quán)限管理系統(tǒng)是管理信息系統(tǒng)中可代碼重用性最高的模塊之一。任何多用戶的系統(tǒng)都不可避免的涉及到相同的權(quán)限需求,都需要解決實體鑒別、數(shù)據(jù)保密性、數(shù)據(jù)完整性、防抵賴和訪問控制等安全服務(據(jù)ISO7498-2)。例如,訪問控制服務要求系統(tǒng)根據(jù)操作者已經(jīng)設定的操作權(quán)限,控制操作者可以訪問哪些資源,以及確定對資源如何進行操作。
          目前,權(quán)限管理系統(tǒng)也是重復開發(fā)率最高的模塊之一。在企業(yè)中,不同的應用系統(tǒng)都擁有一套獨立的權(quán)限管理系統(tǒng)。每套權(quán)限管理系統(tǒng)只滿足自身系統(tǒng)的權(quán)限管理需要,無論在數(shù)據(jù)存儲、權(quán)限訪問和權(quán)限控制機制等方面都可能不一樣,這種不一致性存在如下弊端:
          a.系統(tǒng)管理員需要維護多套權(quán)限管理系統(tǒng),重復勞動。
          b.用戶管理、組織機構(gòu)等數(shù)據(jù)重復維護,數(shù)據(jù)一致性、完整性得不到保證。
          c.由于權(quán)限管理系統(tǒng)的設計不同,概念解釋不同,采用的技術(shù)有差異,權(quán)限管理系統(tǒng)之間的集成存在問題,實現(xiàn)單點登錄難度十分大,也給企業(yè)構(gòu)建企業(yè)門戶帶來困難。
          采用統(tǒng)一的安全管理設計思想,規(guī)范化設計和先進的技術(shù)架構(gòu)體系,構(gòu)建一個通用的、完善的、安全的、易于管理的、有良好的可移植性和擴展性的權(quán)限管理系統(tǒng),使得權(quán)限管理系統(tǒng)真正成為權(quán)限控制的核心,在維護系統(tǒng)安全方面發(fā)揮重要的作用,是十分必要的。
          本文介紹一種基于角色的訪問控制RBAC(Role-Based policies Access Control)模型的權(quán)限管理系統(tǒng)的設計和實現(xiàn),系統(tǒng)采用基于J2EE架構(gòu)技術(shù)實現(xiàn)。并以討論了應用系統(tǒng)如何進行權(quán)限的訪問和控制
           
          1 采用J2EE架構(gòu)設計
          采用J2EE企業(yè)平臺架構(gòu)構(gòu)建權(quán)限管理系統(tǒng)。J2EE架構(gòu)集成了先進的軟件體系架構(gòu)思想,具有采用多層分布式應用模型、基于組件并能重用組件、統(tǒng)一完全模型和靈活的事務處理控制等特點。
          系統(tǒng)邏輯上分為四層:客戶層、Web層、業(yè)務層和資源層。
          a. 客戶層主要負責人機交互。可以使系統(tǒng)管理員通過Web瀏覽器訪問,也可以提供不同業(yè)務系統(tǒng)的API、Web Service調(diào)用。
          b. Web層封裝了用來提供通過Web訪問本系統(tǒng)的客戶端的表示層邏輯的服務。
          c. 業(yè)務層提供業(yè)務服務,包括業(yè)務數(shù)據(jù)和業(yè)務邏輯,集中了系統(tǒng)業(yè)務處理。主要的業(yè)務管理模塊包括組織機構(gòu)管理、用戶管理、資源管理、權(quán)限管理和訪問控制幾個部分。
          d. 資源層主要負責數(shù)據(jù)的存儲、組織和管理等。資源層提供了兩種實現(xiàn)方式:大型關(guān)系型數(shù)據(jù)庫(如ORACLE)和LDAP(Light Directory Access Protocol,輕量級目錄訪問協(xié)議)目錄服務器(如微軟的活動目錄)。
          2 RBAC模型
          訪問控制是針對越權(quán)使用資源的防御措施。基本目標是為了限制訪問主體(用戶、進程、服務等)對訪問客體(文件、系統(tǒng)等)的訪問權(quán)限,從而使計算機系統(tǒng)在合法范圍內(nèi)使用;決定用戶能做什么,也決定代表一定用戶利益的程序能做什么[1]
          企業(yè)環(huán)境中的訪問控制策略一般有三種:自主型訪問控制方法、強制型訪問控制方法和基于角色的訪問控制方法(RBAC)。其中,自主式太弱,強制式太強,二者工作量大,不便于管理[1]。基于角色的訪問控制方法是目前公認的解決大型企業(yè)的統(tǒng)一資源訪問控制的有效方法。其顯著的兩大特征是:1.減小授權(quán)管理的復雜性,降低管理開銷;2.靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。
          NIST(The National Institute of Standards and Technology,美國國家標準與技術(shù)研究院)標準RBAC模型由4個部件模型組成,這4個部件模型分別是基本模型RBAC0(Core RBAC)、角色分級模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和統(tǒng)一模型RBAC3(Combines RBAC)[1]。RBAC0模型如圖1所示。
           
          圖1 RBAC0模型
           
          a. RBAC0定義了能構(gòu)成一個RBAC控制系統(tǒng)的最小的元素集合。在RBAC之中,包含用戶users(USERS)、角色roles(ROLES)、目標 objects(OBS)、操作operations(OPS)、許可權(quán)permissions(PRMS)五個基本數(shù)據(jù)元素,權(quán)限被賦予角色,而不是用 戶,當一個角色被指定給一個用戶時,此用戶就擁有了該角色所包含的權(quán)限。會話sessions是用戶與激活的角色集合之間的映射。RBAC0與傳統(tǒng)訪問控 制的差別在于增加一層間接性帶來了靈活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的擴展。
          b. RBAC1引入角色間的繼承關(guān)系,角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系是一個絕對偏序關(guān)系,允許角色間的多繼承。而受限繼承關(guān)系則進一步要求角色繼承關(guān)系是一個樹結(jié)構(gòu)。
          c. RBAC2模型中添加了責任分離關(guān)系。RBAC2的約束規(guī)定了權(quán)限被賦予角色時,或角色被賦予用戶時,以及當用戶在某一時刻激活一個角色時所應遵循的強制 性規(guī)則。責任分離包括靜態(tài)責任分離和動態(tài)責任分離。約束與用戶-角色-權(quán)限關(guān)系一起決定了RBAC2模型中用戶的訪問許可。
          d. RBAC3包含了RBAC1和RBAC2,既提供了角色間的繼承關(guān)系,又提供了責任分離關(guān)系。
          3核心對象模型設計
          根據(jù)RBAC模型的權(quán)限設計思想,建立權(quán)限管理系統(tǒng)的核心對象模型。如圖2所示。

          對象模型中包含的基本元素主要有:用戶(Users)、用戶組(Group)、角色(Role)、目標(Objects)、訪問模式(Access Mode)、操作(Operator)。主要的關(guān)系有:分配角色權(quán)限PA(Permission Assignment)、分配用戶角色UA(Users Assignmen描述如下:
                                                        
          圖2 權(quán)限管理系統(tǒng)核心類圖
          posted on 2007-04-27 10:06 張金鵬 閱讀(262) 評論(0)  編輯  收藏 所屬分類: 項目框架的設想
          主站蜘蛛池模板: 林甸县| 盖州市| 嘉义县| 西安市| 北碚区| 本溪市| 手游| 铁力市| 涞源县| 阿坝县| 彭州市| 无极县| 马尔康县| 武定县| 郑州市| 云霄县| 车致| 丹巴县| 外汇| 盐源县| 秦皇岛市| 绥宁县| 永靖县| 海门市| 鹰潭市| 卓尼县| 乐东| 景东| 车致| 霍州市| 永新县| 平果县| 托克逊县| 尖扎县| 绥江县| 英吉沙县| 自贡市| 济南市| 句容市| 昌平区| 驻马店市|