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

分享

權(quán)限管理模型

 賈朋亮博客 2011-02-21

文檔已補(bǔ)充完,特別感謝高海東提出寶貴的意見(jiàn)。當(dāng)然,這還不是結(jié)束。我們還會(huì)陸續(xù)的完善這個(gè)模型,包括安全策略、資源歸屬控制、責(zé)任分離關(guān)系等等等等吧。。

 

1.     概念

訪問(wèn)控制技術(shù)是由美國(guó)國(guó)防部(Department of Defense, DoD)資助的研究和開(kāi)發(fā)成果演變而來(lái)的。這一研究導(dǎo)致兩種基本類(lèi)型訪問(wèn)控制的產(chǎn)生:自主訪問(wèn)控制(Discretionary Access Control, DAC)和強(qiáng)制訪問(wèn)控制(Mandatory Access Control, MAC)。最初的研究和應(yīng)用主要是為了防止機(jī)密信息被未經(jīng)授權(quán)者訪問(wèn),近期的應(yīng)用主要是把這些策略應(yīng)用到為商業(yè)領(lǐng)域。

 

自主訪問(wèn)控制,允許把訪問(wèn)控制權(quán)的授予和取消留給個(gè)體用戶來(lái)判斷。為沒(méi)有訪問(wèn)控制權(quán)的個(gè)體用戶授予和廢除許可。自主訪問(wèn)控制機(jī)制允許用戶被授權(quán)和取消訪問(wèn)其控制之下的任何客體(object),換句話說(shuō),用戶就是他們控制下的客體的擁有者。對(duì)于這些組織,公司或代理機(jī)構(gòu)是事實(shí)上的系統(tǒng)客體和處理他們的程序的擁有者。訪問(wèn)優(yōu)先權(quán)受組織控制,而且也常?;诠蛦T功能而不是數(shù)據(jù)所有權(quán)。

 

強(qiáng)制訪問(wèn)控制,在美國(guó)國(guó)防部 Trusted Computer Security Evaluation Criteria (TCSEC) 中定義如下:一種限制訪問(wèn)客體的手段,它以包含在這些客體中的信息敏感性和訪問(wèn)這些敏感性信息的主體的正式授權(quán)信息(如清除)為基礎(chǔ)。

 

什么是基于角色訪問(wèn)控制(Role-Based Access Control, RBAC)?NIST 有如下定義。

訪問(wèn)是一種利用計(jì)算機(jī)資源去做某件事情的的能力,訪問(wèn)控制是一種手段,通過(guò)它這種能力在某些情況下被允許或者受限制(通常是通過(guò)物理上和基于系統(tǒng)的控制)。基于計(jì)算機(jī)的訪問(wèn)控制不僅可規(guī)定是誰(shuí)或某個(gè)操作有權(quán)使用特定系統(tǒng)資源,而且也能規(guī)定被允許的訪問(wèn)類(lèi)型。這些控制方式可在計(jì)算機(jī)系統(tǒng)或者外部設(shè)備中實(shí)現(xiàn)。

 

就基于角色訪問(wèn)控制而言,訪問(wèn)決策是基于角色的,個(gè)體用戶是某個(gè)組織的一部分。用戶具有指派的角色(比如醫(yī)生、護(hù)士、出納、經(jīng)理)。定義角色的過(guò)程應(yīng)該基于對(duì)組織運(yùn)轉(zhuǎn)的徹底分析,應(yīng)該包括來(lái)自一個(gè)組織中更廣范圍用戶的輸入。

 

訪問(wèn)權(quán)按角色名分組,資源的使用受限于授權(quán)給假定關(guān)聯(lián)角色的個(gè)體。例如,在一個(gè)醫(yī)院系統(tǒng)中,醫(yī)生角色可能包括進(jìn)行診斷、開(kāi)據(jù)處方、指示實(shí)驗(yàn)室化驗(yàn)等;而研究員的角色則被限制在收集用于研究的匿名臨床信息工作上。
   
   
控制訪問(wèn)角色的運(yùn)用可能是一種開(kāi)發(fā)和加強(qiáng)企業(yè)特殊安全策略,進(jìn)行安全管理過(guò)程流程化的有效手段。

 

2.     核心對(duì)象模型設(shè)計(jì)(RBAC0

根據(jù)RBAC模型的權(quán)限設(shè)計(jì)思想,建立權(quán)限管理系統(tǒng)的核心對(duì)象模型.對(duì)象模型中包含的基本元素主要有:用戶(Users)、用戶組(Group)、角色(Role)、控制對(duì)象(Resource Class)、訪問(wèn)模式(Access Mode)、操作(Operator)。主要的關(guān)系有:分配角色權(quán)限PAPermission Assignment)、分配用戶角色UAUsers Assignmen描述如下:

1.        控制對(duì)象:是系統(tǒng)所要保護(hù)的資源(Resource Class),可以被訪問(wèn)的對(duì)象。資源的定義需要注意以下兩個(gè)問(wèn)題:

a)        資源具有層次關(guān)系和包含關(guān)系。例如,網(wǎng)頁(yè)是資源,網(wǎng)頁(yè)上的按鈕、文本框等對(duì)象也是資源,是網(wǎng)頁(yè)節(jié)點(diǎn)的子節(jié)點(diǎn),如可以訪問(wèn)按鈕,則必須能夠訪問(wèn)頁(yè)面。

b)        這里提及的資源概念是指資源的類(lèi)別(Resource Class),不是某個(gè)特定資源的實(shí)例(Resource Instance)。資源的類(lèi)別和資源的實(shí)例的區(qū)分,以及資源的粒度的細(xì)分,有利于確定權(quán)限管理系統(tǒng)和應(yīng)用系統(tǒng)之間的管理邊界,權(quán)限管理系統(tǒng)需要對(duì)于資源的類(lèi)別進(jìn)行權(quán)限管理,而應(yīng)用系統(tǒng)需要對(duì)特定資源的實(shí)例進(jìn)行權(quán)限管理。兩者的區(qū)分主要是基于以下兩點(diǎn)考慮:

                         i.              一方面,資源實(shí)例的權(quán)限常具有資源的相關(guān)性。即根據(jù)資源實(shí)例和訪問(wèn)資源的主體之間的關(guān)聯(lián)關(guān)系,才可能進(jìn)行資源的實(shí)例權(quán)限判斷。 例如,在管理信息系統(tǒng)中,需要按照營(yíng)業(yè)區(qū)域劃分不同部門(mén)的客戶,A區(qū)和B區(qū)都具有修改客戶資料這一受控的資源,這里客戶檔案資料是屬于資源的類(lèi)別的范疇。如果規(guī)定A區(qū)只能修改A區(qū)管理的客戶資料,就必須要區(qū)分出資料的歸屬,這里的資源是屬于資源實(shí)例的范疇??蛻魴n案(資源)本身應(yīng)該有其使用者的信息(客戶資料可能就含有營(yíng)業(yè)區(qū)域這一屬性),才能區(qū)分特定資源的實(shí)例操作,可以修改屬于自己管轄的信息內(nèi)容。

                       ii.              另一方面,資源的實(shí)例權(quán)限常具有相當(dāng)大的業(yè)務(wù)邏輯相關(guān)性。對(duì)不同的業(yè)務(wù)邏輯,常常意味著完全不同的權(quán)限判定原則和策略。

 

2.        操作(權(quán)限):完成資源的類(lèi)別和訪問(wèn)策略之間的綁定。

3.        用戶:權(quán)限的擁有者或主體。用戶和權(quán)限實(shí)現(xiàn)分離,通過(guò)授權(quán)管理進(jìn)行綁定。

4.        用戶組:一組用戶的集合。在業(yè)務(wù)邏輯的判斷中,可以實(shí)現(xiàn)基于個(gè)人身份或組的身份進(jìn)行判斷。系統(tǒng)弱化了用戶組的概念,主要實(shí)現(xiàn)用戶(個(gè)人的身份)的方式。

5.        角色:權(quán)限分配的單位與載體。角色通過(guò)繼承關(guān)系支持分級(jí)的權(quán)限實(shí)現(xiàn)。例如,科長(zhǎng)角色同時(shí)具有科長(zhǎng)角色、科內(nèi)不同業(yè)務(wù)人員角色。

6.        分配角色權(quán)限PA:實(shí)現(xiàn)操作和角色之間的關(guān)聯(lián)關(guān)系映射。

7.        分配用戶角色UA:實(shí)現(xiàn)用戶和角色之間的關(guān)聯(lián)關(guān)系映射。

 

 

3.     HR數(shù)據(jù)權(quán)限模型設(shè)計(jì)初稿

3.1.   訪問(wèn)主體

在本系統(tǒng)中訪問(wèn)主體是員工和用戶組。

如圖3.1.1中每個(gè)主體都有多個(gè)角色。每個(gè)角色又可能同時(shí)屬于多個(gè)主體。

公司、部門(mén)、職位一定有對(duì)應(yīng)的一個(gè)用戶組,但用戶組不一定是公司、部門(mén)、職位當(dāng)中一個(gè),也可能是虛擬出來(lái)的一個(gè)組,比如:工會(huì)組織、公司籃球隊(duì)等等。

 

 

(圖3.1.1

 

3.2.   分配用戶角色Users Assignmen

如圖3.1.1這里的Users指的是所有訪問(wèn)主體。用戶組、員工。

用戶組是可以無(wú)限制擴(kuò)充的。

無(wú)論添加幾個(gè)主體到最后都會(huì)映射到角色(roles)表中,成為多個(gè)角色。

然后對(duì)角色分配訪問(wèn)權(quán)限控制。

 

3.3.     操作

操作(權(quán)限)=訪問(wèn)模式+資源(resource class

如圖3.3.1,比如:頁(yè)面A有個(gè)查詢(xún)員工信息的功能,我們?cè)谶@里把他看成一個(gè)“訪問(wèn)客體”,被權(quán)限控制的資源(resource class)。再假設(shè)訪問(wèn)模式中有個(gè)“運(yùn)行”模式,那么兩者組合起來(lái)就是有個(gè)有效的操作(權(quán)限),然后把這個(gè)權(quán)限賦予角色,就OK了。

 

 

(圖3.3.1

 

3.4.     分配角色權(quán)限(Permission Assignment

3.3節(jié)中提到,根據(jù)資源和訪問(wèn)模式、我們這里就有了很多操作,也就是權(quán)限。

那么我們只需要把這些權(quán)限分配到角色就可以了。如圖3.4.1

 

 

(圖3.4.1

3.5.     資源類(lèi)別(Resources Class

 

根據(jù)以上的描述可以看出來(lái),在本模型中主體是可以無(wú)限制擴(kuò)充的。那么客體呢?我們可以看到,不管你有多少客體,到最后也都是分解成了多個(gè)資源類(lèi)別(和主體一樣,把每個(gè)主體都分解成了多個(gè)角色),然后和訪問(wèn)模式組成了操作(權(quán)限),最后賦給角色。

我們?cè)俜治鱿沦Y源類(lèi)別模型。

我認(rèn)為我們系統(tǒng)的資源類(lèi)別可以分為2個(gè)方向,頁(yè)面功能和流程。

比如:?jiǎn)T工資料查詢(xún),這個(gè)頁(yè)面上就有查詢(xún)這個(gè)客體資源類(lèi)別。

而員工轉(zhuǎn)正流程中又有直接主管審批這個(gè)資源。

那么我們把資源類(lèi)別(resources class)設(shè)計(jì)成如圖3.5.1

 

 

(圖3.5.1

 

 

功能模塊表中存放“流程”或“頁(yè)面功能”。

“功能模塊類(lèi)別”用來(lái)區(qū)分,這條記錄是“頁(yè)面功能”還是“流程”。

一個(gè)流程有多個(gè)審批操作。我們可以放到資源類(lèi)別中。

頁(yè)面功能同理。

 

 

4.     小結(jié)

該對(duì)象模型最終將訪問(wèn)控制模型轉(zhuǎn)化為訪問(wèn)矩陣形式。訪問(wèn)矩陣中的行對(duì)應(yīng)于用戶,列對(duì)應(yīng)于操作,每個(gè)矩陣元素規(guī)定了相應(yīng)的角色,對(duì)應(yīng)于相應(yīng)的目標(biāo)被準(zhǔn)予的訪問(wèn)許可、實(shí)施行為。按訪問(wèn)矩陣中的行看,是訪問(wèn)能力表CL(Access Capabilities)的內(nèi)容;按訪問(wèn)矩陣中的列看,是訪問(wèn)控制表ACLAccess Control Lists)的內(nèi)容。如表4.1

用戶

能力

員工1

員工2

員工3

員工4

查看自己部門(mén)員工通訊錄

部門(mén)員工

部門(mén)員工

部門(mén)員工

部門(mén)員工

查看自己部門(mén)員工全部資料

部門(mén)經(jīng)理

 

 

 

查看自己公司員工通訊錄

部門(mén)員工

部門(mén)員工

部門(mén)員工

部門(mén)員工

查看自己公司員工全部資料

 

 

檔案管理員

 

(表4.1

 

4.1為整個(gè)權(quán)限模型。

 

(圖4.1

 

5.     思考

5.1.   相對(duì)角色

在很多時(shí)候我們都會(huì)用到相對(duì)角色這個(gè)概念。比如:?jiǎn)T工轉(zhuǎn)正流程中就有個(gè)直接主管審批,那么這個(gè)直接主管這個(gè)角色就是一個(gè)相對(duì)角色。這個(gè)相對(duì)角色在數(shù)據(jù)庫(kù)權(quán)限模型中其實(shí)也是一個(gè)角色,只用添加到角色表中給這個(gè)角色賦權(quán)限(操作)就可以了,但在開(kāi)發(fā)過(guò)程中一定要注意相對(duì)角色的設(shè)定,特別是設(shè)定方法,公式。

 

5.2.   用戶組的聯(lián)想

用戶組可以是組織架構(gòu)中的實(shí)體單位。同時(shí)也可以是虛擬的,由用戶自己添加、配置的一個(gè)角色的集合。角色又是權(quán)限的集合。

那么我們可以這么做,添加一個(gè)系統(tǒng)管理員組,然后通過(guò)角色為這個(gè)組,分配好應(yīng)有的權(quán)限。以后如果有新的系統(tǒng)管理員,我們只需要放到這個(gè)組里面去就可以,沒(méi)必要再重新配置一個(gè)用戶。

這樣就完全可以實(shí)現(xiàn)windows的權(quán)限管理了。

 

5.3.   角色的繼承

給角色分配權(quán)限(操作)其實(shí)也是件比較復(fù)雜的工作。如果角色間存在一定的關(guān)系,可以直接把另外一個(gè)角色的權(quán)限直接復(fù)制過(guò)來(lái),然后再添加自己需要的其他權(quán)限,這樣不是會(huì)方便很多嗎?

繼承可分為兩種方式,一般繼承關(guān)系和受限繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系是一個(gè)絕對(duì)偏序關(guān)系(不能繼承自己的子類(lèi)),允許角色間的多繼承。而受限繼承關(guān)系則進(jìn)一步要求角色繼承關(guān)系是一個(gè)樹(shù)結(jié)構(gòu)(單繼承)。

 

 

5.4.   資源實(shí)例(Resource Instance

場(chǎng)景1:有一個(gè)功能頁(yè)面,查詢(xún)員工資料??稍L問(wèn)角色有“人事專(zhuān)員”和“部門(mén)經(jīng)理”。“人事專(zhuān)員”進(jìn)入可以查出全公司的所有員工資料。“部門(mén)經(jīng)理”進(jìn)入后,只能查出自己部門(mén)的員工資料。

場(chǎng)景1的解決方案:

1.        在功能模塊(functionmodule)表中添加“查詢(xún)員工資料”這個(gè)功能。

2.        在功能資源(functionresource)表中添加這個(gè)“查詢(xún)員工資料”的兩個(gè)資源,“部門(mén)經(jīng)理查詢(xún)”和“人事專(zhuān)員查詢(xún)”。

3.        抽象成資源類(lèi)別(resourcesclass)。

4.        資源類(lèi)別(resourcesclass)和訪問(wèn)模式(accessmode)組合成2個(gè)操作(權(quán)限)。

5.        把這兩個(gè)權(quán)限分別賦予部門(mén)經(jīng)理組所擁有的角色和人事專(zhuān)員組所擁有的角色。

6.        在開(kāi)發(fā)過(guò)程中就可以根據(jù)兩個(gè)不同的資源,在這個(gè)頁(yè)面做查詢(xún)條件的處理。

 

場(chǎng)景2:有一個(gè)功能頁(yè)面,部門(mén)花名冊(cè)??稍L問(wèn)角色有“部門(mén)經(jīng)理”和任何登錄后的員工。根據(jù)員工部門(mén)自動(dòng)顯示所在部門(mén)的花名冊(cè)。如果是“部門(mén)經(jīng)理”,就顯示一些“部門(mén)經(jīng)理”可以看到的敏感信息。比如,工資。

場(chǎng)景2的解決方案:

1.        在功能模塊(functionmodule)表中添加“部門(mén)花名冊(cè)”這個(gè)功能。

2.        在功能資源(functionresource)表中添加這個(gè)“部門(mén)花名冊(cè)”的一個(gè)資源,“部門(mén)經(jīng)理花名冊(cè)”。

3.        抽象成資源類(lèi)別(resourcesclass)。

4.        資源類(lèi)別(resourcesclass)和訪問(wèn)模式(accessmode)組合成1個(gè)操作(權(quán)限)。

5.        把這個(gè)權(quán)限賦予部門(mén)經(jīng)理組所擁有的角色。

6.        在開(kāi)發(fā)過(guò)程中進(jìn)入這個(gè)功能頁(yè)面,沒(méi)有這個(gè)權(quán)限的顯示一般花名冊(cè)。有這個(gè)權(quán)限的顯示部門(mén)經(jīng)理花名冊(cè)。

 

小結(jié):

資源實(shí)例讓我們?cè)诎粹o級(jí)權(quán)限的基礎(chǔ)上,加上了對(duì)記錄和字段的控制。當(dāng)然,你也可以把場(chǎng)景1和場(chǎng)景2結(jié)合起來(lái)。記錄、字段一起控制,這個(gè)肯定是可以的。

再擴(kuò)展下。場(chǎng)景二中,如果有一天部門(mén)經(jīng)理所能看到的東西改變了,加一項(xiàng)或少一項(xiàng),怎么辦呢?難道去改代碼?

其實(shí)在很多情況下,都是可以做死的。比如場(chǎng)景二中大家都只能看到自己部門(mén)的花名冊(cè)??隙ú粫?huì)有一天要看公司的花名冊(cè),如果真有這個(gè)需求,那么就應(yīng)該再做個(gè)功能頁(yè)面。叫做“公司花名冊(cè)”。

但也有些情況,是要可以調(diào)整的。同樣是場(chǎng)景二,部門(mén)經(jīng)理能看到的東西。哪天公司想變變,這個(gè)也是有可能的。

其實(shí)這個(gè)功能實(shí)現(xiàn)起來(lái)也非常簡(jiǎn)單。如圖5.4.1。

無(wú)論什么,到最后都會(huì)變成資源類(lèi)別,我們直接給這個(gè)類(lèi)別記錄一些屬性。到時(shí)候你只要根據(jù)這些屬性顯示就可以了,要變的時(shí)候把這些屬性變了就行了。只要愿意,完全可以做個(gè)維護(hù)頁(yè)面。

表資源設(shè)置(resourcesetting)記錄一些訪問(wèn)條件。比如,這個(gè)資源按部門(mén)查詢(xún)。如果需要你可以把他改成按公司查詢(xún)。

表字段設(shè)置(fieldsetting)記錄的是這個(gè)資源的字段信息。比如,部門(mén)經(jīng)理可以看到“部門(mén)花名冊(cè)”的字段。

  

(圖5.4.1

 

6.     總結(jié)

本模型的主要設(shè)計(jì)思想是把所有訪問(wèn)主體,包括部門(mén)、職位、公司、人等等。全部分解成一個(gè)或多個(gè)角色。

把所有訪問(wèn)控制客體全部分解成一個(gè)和多個(gè)資源類(lèi)別(Resources Class)。

把資源類(lèi)別加上訪問(wèn)模式(讀、寫(xiě)、刪、運(yùn)行等)成為一個(gè)操作,也就是權(quán)限。

然后把這個(gè)權(quán)限賦予到角色。

這個(gè)模型支持頁(yè)面級(jí)權(quán)限、按鈕級(jí)權(quán)限、記錄級(jí)權(quán)限、字段級(jí)權(quán)限和這幾種權(quán)限的任意組合。

在角色的分配上。他本身是支持一個(gè)客體有多個(gè)角色,一個(gè)角色屬于多個(gè)客體。支持用戶組角色、角色繼承、相對(duì)角色等。特別是用戶組這個(gè)設(shè)計(jì)。部門(mén)、職位、公司這些組織都可以抽象成一個(gè)用戶組,直接給這個(gè)組分配權(quán)限就可以了。但用戶組不僅僅只有抽象實(shí)體組織這功能,他還可以無(wú)限制的擴(kuò)展。比如可以添加一個(gè)虛擬的系統(tǒng)管理員組。他本身就是一個(gè)員工的集合,你可以以任何形式去組合人員。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(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)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    国产视频福利一区二区| 开心久久综合激情五月天| 熟女乱一区二区三区四区| 日韩精品视频高清在线观看| 亚洲一区二区三区四区| 国产精品日韩精品最新| 亚洲免费黄色高清在线观看| 91精品国自产拍老熟女露脸| 欧美日韩亚洲国产精品| 国产在线观看不卡一区二区| 深夜视频成人在线观看| 日韩一区欧美二区国产| 欧美激情区一区二区三区| 91麻豆精品欧美视频| 亚洲国产成人av毛片国产| 欧美午夜伦理在线观看| 亚洲国产精品久久网午夜| 精品人妻一区二区三区免费看| 日韩精品综合福利在线观看| 成人精品一区二区三区在线| 国产免费操美女逼视频| 国产亚洲午夜高清国产拍精品| 国产亚洲精品岁国产微拍精品| 插进她的身体里在线观看骚| 色无极东京热男人的天堂| 亚洲欧美日本国产有色| 成人精品一区二区三区在线| 久久99爱爱视频视频| 国产av熟女一区二区三区蜜桃| 国产精品亚洲综合天堂夜夜| 久久永久免费一区二区| 日本加勒比在线观看一区| 免费性欧美重口味黄色| 初尝人妻少妇中文字幕在线| 成人区人妻精品一区二区三区| 又大又紧又硬又湿又爽又猛| 日韩国产亚洲欧美另类| 国产精品午夜福利在线观看| 久久热在线视频免费观看| 熟女免费视频一区二区| 中文字幕av诱惑一区二区|