一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

淺談RBAC/WEB

 LUPA 2007-09-14

大致規(guī)劃?rùn)?quán)限管理文章的框架:(RBAC/Web)

    1、淺述權(quán)限管理的現(xiàn)在

    2、重點(diǎn)論述RBAC

    3、結(jié)合實(shí)際進(jìn)行設(shè)計(jì)

    4、自己的一些感受

參考:

   http://csrc./rbac/

  http://www.list./

  http://www./sigsac/sacmat.html

http://www./pubs/contents/proceedings/series/rbac/

http://icecloud./blog/archives/000147.html

正文:

1、淺述權(quán)限管理的現(xiàn)在

   對(duì)于在企業(yè)環(huán)境中的訪(fǎng)問(wèn)控制方法,一般有三種:

    第一種:授權(quán)(Authorization),也叫做自主型訪(fǎng)問(wèn)控制方法。目前在我國(guó)的大多數(shù)的信息系統(tǒng)中的訪(fǎng)問(wèn)控制模塊中基本是借助于自主型訪(fǎng)問(wèn)控制方法中的訪(fǎng)問(wèn)控制列表(ACLs)。

    第二種:多級(jí)安全(Multilevel Security),也叫做強(qiáng)制型訪(fǎng)問(wèn)控制方法。用于多層次安全級(jí)別的軍事應(yīng)用。

第三種:基于角色的訪(fǎng)問(wèn)控制方法(RBAC),是目前公認(rèn)的解決大型企業(yè)的統(tǒng)一資源訪(fǎng)問(wèn)控制的有效方法。

其顯著的兩大特征是:

1.減小授權(quán)管理的復(fù)雜性,降低管理開(kāi)銷(xiāo)。

2.靈活地支持企業(yè)的安全策略,并對(duì)企業(yè)的變化有很大的伸縮性。

訪(fǎng)問(wèn)控制的一般策略:(如圖)

 2、重點(diǎn)論述RBAC

    下面是RBAC 原理結(jié)構(gòu)示意圖:

 

名詞解釋?zhuān)?/p>

1、  USERS:可以是人,設(shè)備,進(jìn)程。

2、  ROLE(角色):是指具有一定技能、可以執(zhí)行某些工作的人員(或資源)集合。通過(guò)給成員賦予不同的角色,對(duì)成員的多職能進(jìn)行表達(dá),提供約束成員不同權(quán)限范圍變化的依據(jù)。(是粗粒度和細(xì)粒度(業(yè)務(wù)邏輯)的接口)它具有層次關(guān)系和繼承的特性。角色層次的上方是具有較高權(quán)限的角色,而下方則代表較低權(quán)限的角色。

3、  Permission(許可):描述了角色對(duì)OP 或OB 所具有的權(quán)限,其反映的是授權(quán)的結(jié)果。比如授予角色A 對(duì)資源B 有讀的權(quán)限,則代表了一個(gè)許可的存在,這個(gè)許可表示:角色A獲取了對(duì)資源B 讀的許可。針對(duì)object(OB)來(lái)說(shuō),其描述的是permission 和object 之間的一種關(guān)聯(lián)關(guān)系,而這層關(guān)系則表示了某一角色對(duì)某一資源客體(object)所具有的權(quán)限及權(quán)限狀態(tài);針對(duì)operation(OP)來(lái)說(shuō),其描述的是permission 和operation 之間的一種關(guān)聯(lián)關(guān)系,而這層關(guān)系則表示了某一角色對(duì)某一操作(operation)所具有的權(quán)限及權(quán)限狀態(tài))

4、  Assignment(分配):分配(assignment)則包含兩個(gè)方面,用戶(hù)分配(user assignment)和許可分配(permission assignment)。用戶(hù)分配表示的是,將用戶(hù)或用戶(hù)組分配給特定的角色。許可分配表示的是,為角色分配訪(fǎng)問(wèn)許可(訪(fǎng)問(wèn)object 和opertiaon 的許可)。

5、  Sessions(會(huì)話(huà)):這跟WEB的SESSION的不同。這里的Session是用戶(hù)與激活的角色集合之間的映射。

6、  Constraints(限制):對(duì)user分配角色或角色分配許可加入條件限制。如:1、在user分配角色時(shí),可以根據(jù)需求,限制某些角色無(wú)法同時(shí)分配給同一個(gè)user.2、限制角色的user,如:總經(jīng)理只能由一個(gè)擔(dān)任。3、先決角色(prerequisite roles)。也就是在有這個(gè)角色之前必須要有一個(gè)角色存在。

上圖中描述了一個(gè)會(huì)話(huà)代表某段時(shí)間user和role間的一個(gè)映射關(guān)系。User先透過(guò)建立的會(huì)話(huà)(可以不只一個(gè))映射到role上,而角色再映射到事先被許可的許可上,這些映射都須滿(mǎn)足存在于user、role、role層次間的限制。

RABC模型分為是個(gè)四個(gè)模型

1、Core RBAC

 

圖中的ops代表operations  obs代表objects,叫客體,即規(guī)定的需要保護(hù)的資源,又稱(chēng)目標(biāo)。

 2、Hierarchal RBAC

 

這個(gè)模型是在角色間衍生出層次性的關(guān)系。如圖2,這樣就可以把一些較為基本的權(quán)限分配給層次較為低的角色,再利用繼承的方式繼承權(quán)限,這樣就免去了每個(gè)角色都要重復(fù)一些基本的權(quán)限分配行為,從而減輕了維護(hù)上的負(fù)擔(dān)。

同時(shí),Hierarchical RBAC 又可以分為:

1、           General Hierarchical RBAC(一般性層次模型):指上層的角色可以繼承下層的所有權(quán)限,而且沒(méi)有任何限制。

2、           Limited Hierarchical RBAC(限制性層次模型):指上層的角色繼承下層的權(quán)限是有限制范圍的。

后面兩種模型是權(quán)責(zé)分離(Separation of Duty)的。權(quán)責(zé)分離主要是防止使用者擁有的權(quán)限過(guò)多,而造成資源濫用或者利益沖突(conflict of interest)的情況發(fā)生。

3、Static Separation of Duty Relations(靜態(tài)權(quán)責(zé)分離)

    又稱(chēng)強(qiáng)互斥。指具有沖突的角色不能同時(shí)分配給同一個(gè)使用者,以避免利益沖突(conflict of interest)

4、Dynamic Separation of Duty Relations(動(dòng)態(tài)權(quán)責(zé)分離)

 

 圖中的DSD:Dynamic separation of duty的縮寫(xiě)。

   動(dòng)態(tài)權(quán)責(zé)分離又稱(chēng)為弱互斥。指使用者可以同時(shí)擁有相互沖突的角色,但是使用者不能在統(tǒng)一時(shí)間擔(dān)任。

   在RBAC中的各個(gè)模型中,都是由一下成分所組成:

1、一些基本的元素。(a set of basic element sets)。

2、一序列的RBAC的關(guān)系,也包含了包含有效的笛卡兒積的子集。(a set of RBAC relations involving those element sets (containing subsets of Cartesian products denoting valid assignments)

    3、一些映射功能。為一個(gè)給定的實(shí)例確定的一種元素中產(chǎn)生成員的實(shí)例。(a set of Mapping Functions which yield instances of members from one element set for a given instance from another element set.)

3、結(jié)合實(shí)際進(jìn)行設(shè)計(jì)

下面我就以時(shí)義浩維公司為例。在設(shè)計(jì)之前我們先要分清一些概念。

權(quán)限邏輯和業(yè)務(wù)邏輯?

業(yè)務(wù)邏輯就是情況由系統(tǒng)運(yùn)行時(shí)的某些條件決定,如公司營(yíng)銷(xiāo)中心的直銷(xiāo)部各成員進(jìn)入系統(tǒng)只能看到自己所負(fù)責(zé)的區(qū)域銷(xiāo)售記錄,而權(quán)限邏輯?如直銷(xiāo)部各成員不能看其他部門(mén)的成員的記錄,這是有各自不同身份來(lái)決定的。

粗粒度:表示類(lèi)別級(jí),即僅考慮對(duì)象的類(lèi)別(the type of object),不考慮對(duì)象的某個(gè)特

定實(shí)例。比如,用戶(hù)管理中,創(chuàng)建、刪除,對(duì)所有的用戶(hù)都一視同仁,并不區(qū)分操作的具體對(duì)象實(shí)例。

   細(xì)粒度:表示實(shí)例級(jí),即需要考慮具體對(duì)象的實(shí)例(the instance of object),當(dāng)然,細(xì)

粒度是在考慮粗粒度的對(duì)象類(lèi)別之后才再考慮特定實(shí)例。比如,合同管理中,列表、刪除,需要區(qū)分該合同實(shí)例是否為當(dāng)前用戶(hù)所創(chuàng)建。

 

   系統(tǒng)設(shè)計(jì)的目標(biāo):

1、  直觀,因?yàn)橄到y(tǒng)最終會(huì)由最終用戶(hù)來(lái)維護(hù),權(quán)限分配的直觀和容易理解,顯得比較重要。

2、  簡(jiǎn)單實(shí)用,包括概念數(shù)量上的簡(jiǎn)單和意義上的簡(jiǎn)單還有功能上的簡(jiǎn)單。想用一個(gè)權(quán)限系統(tǒng)解決所有的權(quán)限問(wèn)題是不現(xiàn)實(shí)的。設(shè)計(jì)中將常常變化的“定制”特點(diǎn)比較強(qiáng)的部分判斷為業(yè)務(wù)邏輯,而將常常相同的“通用”特點(diǎn)比較強(qiáng)的部分判斷為權(quán)限邏輯就是基于這樣的思路。

3、 擴(kuò)展,采用可繼承在擴(kuò)展上的困難。系統(tǒng)可以根據(jù)公司的發(fā)展而相應(yīng)的擴(kuò)展,從而達(dá)到可維護(hù)性。

  系統(tǒng)設(shè)計(jì)的原則:

  權(quán)限邏輯配合業(yè)務(wù)邏輯。即權(quán)限系統(tǒng)以為業(yè)務(wù)邏輯提供服務(wù)為目標(biāo)。相當(dāng)多細(xì)粒度的權(quán)限問(wèn)題因其極其獨(dú)特而不具通用意義,它們也能被理解為是“業(yè)務(wù)邏輯”的一部分。

  系統(tǒng)設(shè)計(jì)的方案:

需要解決的問(wèn)題:

1、銷(xiāo)售部區(qū)域的問(wèn)題;

2、查詢(xún)、修改和新增,刪除的問(wèn)題;

  3、解決角色沖突的問(wèn)題;

  4、不能造成數(shù)據(jù)冗余;

  5、操作流程要簡(jiǎn)潔,明了。

  數(shù)據(jù)庫(kù)的設(shè)計(jì):

  User (USER信息:userID,User描述)

  Role(ROLE描述:ROLEID,Pole描述, PolePID)

  RoleP(ROLEP描述:RolePID,RoleP描述)

  SOD(角色沖突描述:SODID,RoleID,TYPE(其中D為動(dòng)態(tài)沖突,S為靜態(tài)沖突))

  Permission(Permission描述:PermissionID,Permission描述)

  User-Role(User Role對(duì)應(yīng)關(guān)系:UserID,RoleID)

  Role-Permission(Role Permission對(duì)應(yīng)關(guān)系表:RoleID ,PermissionID,Permission范圍)

權(quán)限用戶(hù)角色示意圖:

 工作流程:

 系統(tǒng)結(jié)構(gòu):

 

數(shù)據(jù)層:物理數(shù)據(jù)庫(kù)

映射層:把對(duì)象映射成數(shù)據(jù)

控制層:通過(guò)對(duì)對(duì)象的操作從而達(dá)到對(duì)數(shù)據(jù)的操作。

界面層:為用戶(hù)提供友好的界面輸入。

系統(tǒng)界面:

1、  用戶(hù)注冊(cè)界面:

2、  用戶(hù)分配權(quán)限界面

3、  登記角色沖突界面

系統(tǒng)的開(kāi)發(fā)程序:

  系統(tǒng)開(kāi)發(fā)利用了Tomcat容器和Hibernate

  前期先配置好Tomcat容器和hibernate

 

  控制層:

      用戶(hù)信息類(lèi):UserInfo.java

      權(quán)限信息類(lèi):PermissionInfo.java

      角色信息類(lèi):RoleInfo.java

      添加用戶(hù)類(lèi):AddUsers.java

      添加權(quán)限類(lèi):AddPermission.java

      。

      。

      。

  映射層:

      把各個(gè)的表的字段映射為xml里的節(jié)點(diǎn)。

  操作層:

      可以利用script來(lái)實(shí)現(xiàn)一些驗(yàn)證。

第二種方案:

過(guò)濾方式(Filter):直接在前端讀取數(shù)據(jù)進(jìn)行相應(yīng)的過(guò)濾來(lái)驗(yàn)證用戶(hù)的身份。

第三種方案:

   在第一種方案的基礎(chǔ)上,減去一個(gè)映射層。直接操作物理數(shù)據(jù)庫(kù)。

4、自己的一些感受

1、  在權(quán)限系統(tǒng)設(shè)計(jì)中,有關(guān)于組的概念,要根據(jù)自己系統(tǒng)的要求而決定要不要引入組。

2、  在設(shè)計(jì)中要盡量去引入工作流的思想。

3、  數(shù)據(jù)庫(kù)設(shè)計(jì)中,不要一味為了符合范式而使數(shù)據(jù)庫(kù)變的很復(fù)雜,可以適當(dāng)加入一些標(biāo)記字段,以減少數(shù)據(jù)庫(kù)的復(fù)雜性。

4、權(quán)限設(shè)計(jì)和組織結(jié)構(gòu)的關(guān)系的問(wèn)題的解決還沒(méi)有研究透.


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    日本久久中文字幕免费| 中国少妇精品偷拍视频| 午夜精品在线观看视频午夜| 午夜精品一区免费视频| 国产欧美日本在线播放| 国产欧美日韩综合精品二区| 91人妻丝袜一区二区三区| 国产激情一区二区三区不卡| 日系韩系还是欧美久久| 四季精品人妻av一区二区三区 | 日韩精品少妇人妻一区二区| 99一级特黄色性生活片| 在线免费看国产精品黄片| 欧美大胆美女a级视频| 国产一区国产二区在线视频| 成人欧美一区二区三区视频| 五月激情婷婷丁香六月网| 亚洲成人黄色一级大片| 欧美日韩亚洲精品内裤| 嫩草国产福利视频一区二区| 色婷婷中文字幕在线视频| 国产欧美一区二区三区精品视| 日韩人妻有码一区二区| 黄片免费在线观看日韩| 中文字幕亚洲精品在线播放| 国产成人精品在线一区二区三区| 国产精品一区二区视频| 亚洲妇女黄色三级视频| 东京热一二三区在线免| 精品女同在线一区二区| 日韩中文字幕视频在线高清版 | 中文字字幕在线中文乱码二区| 国产日韩欧美国产欧美日韩 | 韩日黄片在线免费观看| 亚洲av又爽又色又色| 黑丝国产精品一区二区| 俄罗斯胖女人性生活视频| 日韩日韩日韩日韩在线| 精品欧美国产一二三区| 亚洲精品一二三区不卡| 成人欧美精品一区二区三区|