中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于RBAC的權(quán)限管理系統(tǒng)的實(shí)現(xiàn)

        基于RBAC的權(quán)限管理系統(tǒng)的實(shí)現(xiàn)

        作者:昊光成,時(shí)云峰 時(shí)間:2008-12-09 來源:電子測試 收藏

        0 引 言

        本文引用地址:http://www.antipu.com.cn/article/90104.htm

          在許多的實(shí)際應(yīng)用中,不只是要求用戶簡單地進(jìn)行注冊登錄,還要求不同類別的用戶對資源有不同的操作權(quán)限。目前,權(quán)限管理系統(tǒng)也是重復(fù)開發(fā)率最高的模塊之一。在企業(yè)中,不同的應(yīng)用系統(tǒng)都擁有一套獨(dú)立的權(quán)限管理系統(tǒng)。每套權(quán)限管理系統(tǒng)只滿足自身系統(tǒng)的權(quán)限管理需要,無論在數(shù)據(jù)存儲、權(quán)限訪問和權(quán)限控制機(jī)制等方面都可能不一樣,這種不一致性存在如下弊端:

          (1)系統(tǒng)管理員需要維護(hù)多套權(quán)限管理系統(tǒng),重復(fù)勞動;

          (2)用戶管理、組織機(jī)構(gòu)等數(shù)據(jù)重復(fù)維護(hù),數(shù)據(jù)一致性、完整性得不到保證;

          (3)由于權(quán)限管理系統(tǒng)的設(shè)計(jì)不同,概念解釋不同,采用的技術(shù)有差異,權(quán)限管理系統(tǒng)之間的集成存在問題,實(shí)現(xiàn)單點(diǎn)登錄難度十分大,也給企業(yè)構(gòu)建企業(yè)門戶帶來困難。

          采用統(tǒng)一的安全管理設(shè)計(jì)思想,規(guī)范化設(shè)計(jì)和先進(jìn)的技術(shù)架構(gòu)體系,構(gòu)建一個(gè)通用的、完善的、安全的、易于管理的、有良好的可移植性和擴(kuò)展性的權(quán)限管理系統(tǒng),使得權(quán)限管理系統(tǒng)真正成為權(quán)限控制的核心,在維護(hù)系統(tǒng)安全方面發(fā)揮重要的作用,是十分必要的。

          本文介紹一種基于角色的訪問控制(role-based policies access control)模型的權(quán)限管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),系統(tǒng)采用基于.NFT Framework 2.0架構(gòu)技術(shù)實(shí)現(xiàn),并討論了應(yīng)用系統(tǒng)如何進(jìn)行權(quán)限的訪問和控制。

        1 的基本思想

          企業(yè)環(huán)境中的訪問控制策略一般有3種:自主型訪問控制方法、強(qiáng)制型訪問控制方法和基于危色的訪問控制方法()。其中,自主式太弱,強(qiáng)制式太強(qiáng),二者工作最大,不便于管理?;诮巧脑L問控制方法是目前公認(rèn)的解決大型企業(yè)的統(tǒng)一資源訪問控制的有效方法。其最著的2大特征是:(1)減小授權(quán)管理的復(fù)雜性,降低管理開銷;(2)靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。

          美國國家標(biāo)準(zhǔn)與技術(shù)研究院(the national institute of standards and technology,NIST)標(biāo)準(zhǔn)RBAC模型由4個(gè)部件模型組成,這4個(gè)部件模型分別是基本模型RBAC0(core RBAC)、角色分級模型RBAC1(hierarchal RBAC)、角色限制模型RBAC2(constraint RBAC)和統(tǒng)一模型RBAC3(combines RBAC)。RBAC0模型如圖1所示。


         

          (1)RBAC0定義了能構(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)限。會話sessions是用戶與激活的角色集合之間的映射。RBAC0與傳統(tǒng)訪問控制的差別在于增加一層間接性帶來了靈活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的擴(kuò)展。

          (2)RBAC1引入角色間的繼承關(guān)系,角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系最一個(gè)絕對偏序關(guān)系,允許角色間的多繼承。而受限繼承關(guān)系則進(jìn)一步要求角色繼承關(guān)系是一個(gè)樹結(jié)構(gòu)。

          (3)RBAC2模型中添加了責(zé)任分離關(guān)系。RBAC2的約束規(guī)定了權(quán)限被賦予角色時(shí),或角色被賦予用戶時(shí),以及當(dāng)用戶在某一時(shí)刻激活一個(gè)角色時(shí)所應(yīng)遵循的強(qiáng)制性規(guī)則。責(zé)任分離包括靜態(tài)責(zé)任分離和動態(tài)責(zé)任分離。約束與用戶-角色-權(quán)限關(guān)系一起決定了RBAC2模型中用戶的訪問許可。

          (4)RBAC3包含了RBAC1和RBAC2,既提供了角色間的繼承關(guān)系,又提供了責(zé)任分離關(guān)系。

          事實(shí)上,RBAC認(rèn)為權(quán)限授權(quán)實(shí)際上是Who、What、How的問題。在RBAC模型中,who、what、how構(gòu)成了訪問權(quán)限三元組,也就是"Who對What(Which)進(jìn)行How的操作"。這點(diǎn)我們在后面的描述中來詳細(xì)討論。

        2采用.NET Framework 2.0架構(gòu)設(shè)計(jì)

          采用.NET Framework 2.0企業(yè)平臺架構(gòu)構(gòu)建權(quán)限管理系統(tǒng)。NET Framework 2.0集成了先進(jìn)的軟件體系架構(gòu)思想,具有采用多層分布式應(yīng)用模型、基于組件并能重用組件、統(tǒng)一完全模型和靈活的事務(wù)處理控制等特點(diǎn)。而且在需要的時(shí)候,可以與Windows Server 2003的Active Directory進(jìn)行無縫連接,直接通過Active Directory管理用戶帳戶。

          系統(tǒng)邏輯上分為四層:表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)訪問層和數(shù)據(jù)層。

          (1)表現(xiàn)層主要負(fù)責(zé)人機(jī)交互??梢允瓜到y(tǒng)管理員通過Web瀏覽器訪問。
          (2)業(yè)務(wù)層提供業(yè)務(wù)服務(wù),包括業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,集中了系統(tǒng)業(yè)務(wù)處理。
          (3)數(shù)據(jù)訪問層主要負(fù)責(zé)數(shù)據(jù)的訪問,如數(shù)據(jù)的增加、修改、刪除和查找等。
          (4)數(shù)據(jù)層主要負(fù)責(zé)數(shù)據(jù)的存儲、組織和管理。數(shù)據(jù)層使用了 SQL Server 2000或SQL Server 2005來實(shí)現(xiàn)。

        3核心對象模型設(shè)計(jì)

          根據(jù)RBAC模型的權(quán)限設(shè)計(jì)思想,建立權(quán)限管理系統(tǒng)的數(shù)據(jù)庫模型,如圖2所示。

         

         

          根據(jù)RBAC模型的權(quán)限設(shè)計(jì)思想,建立權(quán)限管理系統(tǒng)的核心對象模型,如圖3所示。


         

          由于RBAC解決的就是Who、What、How的問題,通過圖3來做一個(gè)詳細(xì)的描述:

          Who:權(quán)限的擁用者或主體(User、Group、Role、Actor)。

          What:權(quán)限針對的對象或資源(Resource),資源具有層次關(guān)系和包含關(guān)系。例如,網(wǎng)頁是資源,網(wǎng)頁上的按鈕、文本框等對象也是資源,是網(wǎng)頁節(jié)點(diǎn)的子節(jié)點(diǎn),如可以訪問按鈕,則必須能夠訪問頁面。資源應(yīng)該是一個(gè)樹形結(jié)構(gòu)。

          How:具體的權(quán)限(Privilege,正向授權(quán)與負(fù)向授權(quán)),這個(gè)權(quán)限是綁定在特定的對象上的。比如說教師測評系統(tǒng)新聞的發(fā)布權(quán)限,叫做"部門新聞發(fā)布權(quán)限"。這就表明,該P(yáng)rivilege是一個(gè)發(fā)布權(quán)限,而且是針對部門新聞這種資源的一種發(fā)布權(quán)限。權(quán)限,包括系統(tǒng)定義權(quán)限和用戶自定義權(quán)限,用戶自定義權(quán)限之間可以指定排斥和包含關(guān)系(如:讀取,修改,管理三個(gè)權(quán)限,管理權(quán)限包含前兩種權(quán)限)。

          Operator:操作。表明對What的How操作。也就是Privilege+Resource的集合;

          Role:角色,一定數(shù)量的權(quán)限的集合,是粗粒度和細(xì)粒度(業(yè)務(wù)邏輯)的接口。一個(gè)基于粗粒度控制的權(quán)限框架軟件,對外的接口應(yīng)該是Role,具體業(yè)務(wù)實(shí)現(xiàn)可以直接繼承或拓展豐富Role的內(nèi)容,Role不是如同User或Group的具體實(shí)體,它是接口概念,抽象的通稱。Role的繼承通過Group來體現(xiàn),所以不考慮Role的繼承關(guān)系。但是Role可以與相關(guān)的Group相關(guān)聯(lián),便于授權(quán)。

          Group:用戶組,權(quán)限分配的單位與載體,直接映射組織關(guān)系。權(quán)限不考慮分配給特定的用戶。組可以包括組(以實(shí)現(xiàn)權(quán)限的繼承)。組可以包含用戶,組內(nèi)用戶繼承組的權(quán)限。Group要實(shí)現(xiàn)繼承。即在創(chuàng)建時(shí)必須要指定該Group的ParentGroup是什么Group。在粗粒度控制上,可以認(rèn)為,只要某用戶直接或者間接的屬于某個(gè)Group那么它就具備這個(gè)Group的所有操作許可。細(xì)粒度控制上,在業(yè)務(wù)邏輯的判斷中,User僅應(yīng)關(guān)注其直接屬于的Group,用來判斷是否"同組"。

          User:純粹的用戶,與權(quán)限分離,只能通過Role去關(guān)聯(lián)相應(yīng)的權(quán)限。

          該模型中主要的關(guān)系有:分配資源操作RA(resource assignment)、分配角色權(quán)限PA(privi-lege assignment)、分配用戶組角色GA(group as-signment)描述如下:

          (1)分配資源訪問RA:實(shí)現(xiàn)資源和操作之間的關(guān)聯(lián)關(guān)系映射。
          (2)分配角色權(quán)限PA:實(shí)現(xiàn)操作和角色之間的關(guān)聯(lián)關(guān)系映射。
          (3)分配用戶組角色GA:實(shí)現(xiàn)用戶組和角色之間的關(guān)聯(lián)關(guān)系映射。 權(quán)限管理系統(tǒng)的操作模式主要分為以下3個(gè)步驟:

          (1)創(chuàng)造資源、權(quán)限:用戶創(chuàng)建一個(gè)資源(Re-source)的實(shí)例的時(shí)候指定相關(guān)的權(quán)限以及權(quán)限分配。比如學(xué)生測評只能創(chuàng)建者有修改的權(quán)限,同Group的人員只能擁有查看的權(quán)限。

          (2)分配權(quán)限:系統(tǒng)管理員指定相關(guān)資源(Re-source)的權(quán)限分配,創(chuàng)建Role,創(chuàng)建Group,給Role分配權(quán)限,給Group分配User,給Group賦予某個(gè)Role等等。

          (3)使用權(quán)限:User使用管理員分配的角色去使用相應(yīng)的系統(tǒng)功能。

        4權(quán)限訪問機(jī)制

          權(quán)限管理系統(tǒng)服務(wù)器端:提供集中管理權(quán)限的服務(wù),負(fù)責(zé)提供用戶的鑒別、用戶信息、用戶組信息,以及權(quán)限關(guān)系表的計(jì)算,如圖4所示。


         

          系統(tǒng)根據(jù)用戶、用戶組、角色、操作、訪問方式和資源對象之間的關(guān)聯(lián)關(guān)系,同時(shí)考慮權(quán)限的正負(fù)向授予,計(jì)算出用戶的最小權(quán)限。在業(yè)務(wù)邏輯層使用SecuirtyManager.GetPower()方法實(shí)現(xiàn)此服務(wù)。采用代理Proxy模式,集中控制來自應(yīng)用系統(tǒng)的所要訪問的權(quán)限計(jì)算服務(wù),并返回權(quán)限關(guān)系表,即二元組{ResouceId,OperationId}。

          在表現(xiàn)層:可以通過訪問能力表CL和訪問控制表ACL兩種可選的訪問方式訪問權(quán)限管理系統(tǒng)。以基于.NET Framework的教師測評系統(tǒng)為例,說明訪問過程:

          (1)首先采用基于表單的驗(yàn)證??紤]到需要鑒別的實(shí)體是用戶,采用基于ACL訪問方式。用戶登錄時(shí)調(diào)用權(quán)限管理系統(tǒng)的用戶鑒別服務(wù),如果驗(yàn)證成功,調(diào)用權(quán)限計(jì)算服務(wù),并返回權(quán)限關(guān)系表,以HashTable的方式存放到登錄用戶的全局Session中;如果沒有全局的Session或者過期,則被導(dǎo)向到登錄頁面,重新獲取權(quán)限。

          (2)直接URL資源采用基于CL訪問方式進(jìn)行的訪問控制。如果用戶直接輸入U(xiǎn)RL地址訪問頁面,有兩種方法控制訪問:1.通過權(quán)限標(biāo)簽讀取CL進(jìn)行控制;2.采取頁面載人判斷權(quán)限模式,進(jìn)行權(quán)限控制,如果沒有權(quán)限,則重定向到登錄頁面。

        5權(quán)限控制機(jī)制

          由于應(yīng)用系統(tǒng)的權(quán)限控制與特定的技術(shù)環(huán)境有關(guān),以基于.NET Framework 2.0架構(gòu)的教師測評系統(tǒng)為例來說明,系統(tǒng)主要的展示組件是aspx頁面,采用標(biāo)記和權(quán)限控制組件共同來實(shí)現(xiàn)。

          (1)權(quán)限標(biāo)識:利用頁面標(biāo)簽來標(biāo)識該頁面上所有的權(quán)限訪問控制對象。

          (2)權(quán)限控制:應(yīng)用系統(tǒng)用戶登錄系統(tǒng)時(shí),從權(quán)限管理中獲得權(quán)限關(guān)系表之后,一方面,權(quán)限標(biāo)簽控制頁面展示;另一方面,利用權(quán)限控制組件在業(yè)務(wù)邏輯中進(jìn)行相應(yīng)的權(quán)限控制,尤其是和業(yè)務(wù)邏輯緊密聯(lián)系的控制對象實(shí)例的權(quán)限控制。

        6權(quán)限數(shù)據(jù)存儲機(jī)制

          權(quán)限管理采用了關(guān)系型數(shù)據(jù)庫SQL Server2000或SQL Server 2005用來存儲用戶信息、用戶組信息、角色、操作、權(quán)限等信息。

        7結(jié) 論

          本文論述了一種基于RBAC的權(quán)限管理系統(tǒng)的實(shí)現(xiàn)技術(shù)方案。該權(quán)限管理系統(tǒng)已成功應(yīng)用于教師測評系統(tǒng)的設(shè)計(jì)和開發(fā)實(shí)踐,與教師測評系統(tǒng)具有很好的集成。實(shí)踐表明,采用基于RBAC模型的權(quán)限管理系統(tǒng)具有以下優(yōu)勢:由于角色/權(quán)限之間的變化比角色/用戶關(guān)系之間的變化相對要慢得多,減小了授權(quán)管理的復(fù)雜性,降低管理開銷;而且能夠靈活地支持應(yīng)用系統(tǒng)的安全策略,并對應(yīng)用系統(tǒng)的變化有很大的伸縮性;在操作上,權(quán)限分配直觀、容易理解,便于使用;分級權(quán)限適合分層的用戶級形式;重用性強(qiáng)。

         



        關(guān)鍵詞: RBAC

        評論


        技術(shù)專區(qū)

        關(guān)閉