【摘要】本文涉及應(yīng)用系統(tǒng)授權(quán)訪問控制領(lǐng)域,特別是涉及一種基于角色的訪問控制(RBAC,Role-Based Access Control)與面向業(yè)務(wù)相結(jié)合的方法。
【關(guān)鍵詞】RBAC;設(shè)計時;分配時;運行時
1.引言
應(yīng)用系統(tǒng)的安全一般包括五個范疇,分別是身份驗證、授權(quán)訪問控制、安全審計、數(shù)據(jù)私密性和完整性。其中的授權(quán)訪問控制是指一旦特定用戶的身份通過認(rèn)證后,確定哪些資源該用戶可以訪問、可以進(jìn)行何種方式的訪問操作。在授權(quán)訪問控制方面,基于角色的訪問控制(RBAC,Role-Based Access Control)模型是目前應(yīng)用系統(tǒng)中被廣泛接受的一種授權(quán)訪問控制模型。
在RBAC模型中,操作(OPS,operations)和受控對象(OBS,objects)是相互獨立的兩個元素,操作施加于受控對象從而產(chǎn)生授權(quán)許可(PRMS,permissions)。然而在應(yīng)用系統(tǒng)中,應(yīng)用是以業(yè)務(wù)為核心的,業(yè)務(wù)處理過程往往以高內(nèi)聚、松耦合特征劃分為多個業(yè)務(wù)處理單元,每個業(yè)務(wù)處理單元包含其業(yè)務(wù)操作和業(yè)務(wù)數(shù)據(jù),業(yè)務(wù)操作脫離開相應(yīng)的業(yè)務(wù)單元及業(yè)務(wù)數(shù)據(jù)也就沒有實質(zhì)的意義,業(yè)務(wù)操作和業(yè)務(wù)數(shù)據(jù)之間形成一個有機的整體。
基于以上的分析,針對應(yīng)用系統(tǒng)的這種特征,如果在RBAC模型中的授權(quán)許可部分加入面向業(yè)務(wù)的特征,將相關(guān)的操作和數(shù)據(jù)按照業(yè)務(wù)內(nèi)聚度進(jìn)行分化、整理,以業(yè)務(wù)處理單元為邊界進(jìn)行劃分,使包含操作和數(shù)據(jù)的業(yè)務(wù)單元成為授權(quán)許可的基本單位,將會使應(yīng)用系統(tǒng)的授權(quán)分配體現(xiàn)出清晰的業(yè)務(wù)內(nèi)聚度特征,符合業(yè)務(wù)關(guān)系的內(nèi)在規(guī)律性。
2.控制方法
本文提供了一種基于RBAC模型擴展的面向業(yè)務(wù)的授權(quán)訪問控制方法,將RBAC模型中授權(quán)許可(PRMS,permissons)的操作和數(shù)據(jù),按照業(yè)務(wù)內(nèi)聚度,劃分成業(yè)務(wù)單元,使操作和數(shù)據(jù)包含在業(yè)務(wù)單元中,形成一個有機整體,使授權(quán)許可以面向業(yè)務(wù)的業(yè)務(wù)單元為分配的單位,并以此為基礎(chǔ)提供一種應(yīng)用系統(tǒng)的授權(quán)訪問控制的方法。
針對以上的問題解決方案,本文公開的方法,提供了一種基于RBAC授權(quán)訪問控制模型擴展的面向業(yè)務(wù)的授權(quán)訪問控制方法,包括設(shè)計時、分配時和運行時三個階段。
2.1 設(shè)計時
設(shè)計時階段?;赗BAC基本模型,對授權(quán)許可(PRMS)部分結(jié)合面向業(yè)務(wù)的特征進(jìn)行擴展,主要新添加了業(yè)務(wù)單元(Business Unit)定義,并將原模型中的操作(OPS)及數(shù)據(jù)(OBS)以業(yè)務(wù)單元為單位進(jìn)行重新劃分,將操作和數(shù)據(jù)按照業(yè)務(wù)內(nèi)聚度歸集到業(yè)務(wù)單元下,使應(yīng)用本文定義的授權(quán)訪問控制模型的應(yīng)用系統(tǒng)中,不再存在獨立的操作和數(shù)據(jù)。設(shè)計時的具體內(nèi)容包括:
業(yè)務(wù)單元實體作為授權(quán)許可(PRMS)的基本單位,包含業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)實體和業(yè)務(wù)操作實體(組合關(guān)系),其中業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)實體用于描述業(yè)務(wù)單元下的業(yè)務(wù)實體數(shù)據(jù)結(jié)構(gòu),業(yè)務(wù)操作實體用于識別業(yè)務(wù)單元下需要進(jìn)行授權(quán)訪問控制的操作,數(shù)據(jù)權(quán)限實體用于定義業(yè)務(wù)單元數(shù)據(jù)權(quán)限控制的數(shù)據(jù)范圍的劃分依據(jù),由于數(shù)據(jù)權(quán)限實體定義可在多個業(yè)務(wù)單元間復(fù)用,因此它與業(yè)務(wù)單元實體之間是一種聚合關(guān)系。業(yè)務(wù)操作實體和數(shù)據(jù)權(quán)限實體的關(guān)聯(lián)關(guān)系是一種多對多關(guān)系,該關(guān)系表示一個業(yè)務(wù)操作在執(zhí)行時受到哪些數(shù)據(jù)權(quán)限的約束。業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)實體和數(shù)據(jù)授權(quán)實體之間是一種多對多關(guān)系,該關(guān)系表示一個數(shù)據(jù)權(quán)限在作用于業(yè)務(wù)實體數(shù)據(jù)時,具體和該業(yè)務(wù)實體數(shù)據(jù)的哪個數(shù)據(jù)域(字段或字段組合)相關(guān)。
業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)實體定義,采用數(shù)據(jù)模型來描述業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)。業(yè)務(wù)數(shù)據(jù)定義映射到關(guān)系型數(shù)據(jù)庫中是一組具有主從關(guān)系或關(guān)聯(lián)關(guān)系的表或視圖的集合,因此,業(yè)務(wù)數(shù)據(jù)是一組數(shù)據(jù)集,每個數(shù)據(jù)集是一個二維表結(jié)構(gòu),包括列集和行集。
數(shù)據(jù)權(quán)限實體定義,用于定義數(shù)據(jù)權(quán)限控制的數(shù)據(jù)范圍的劃分依據(jù)。其中數(shù)據(jù)范圍是指業(yè)務(wù)單元中的業(yè)務(wù)數(shù)據(jù)的取值范圍。根據(jù)上文所述,業(yè)務(wù)數(shù)據(jù)的取值范圍的劃分,就是對業(yè)務(wù)數(shù)據(jù)對應(yīng)的每一個二維表的列集和行集兩個維度進(jìn)行劃分,數(shù)據(jù)權(quán)限實體用于定義對此數(shù)據(jù)范圍的劃分的依據(jù)。
2.2 分配時
分配時階段。角色的授權(quán)以業(yè)務(wù)單元為單位進(jìn)行授權(quán)分配。分配時的具體內(nèi)容包括:
角色實體和業(yè)務(wù)單元實體之間是一種多對多關(guān)聯(lián)關(guān)系,該關(guān)系表示一個角色可以分配多個業(yè)務(wù)單元的授權(quán),一個業(yè)務(wù)單元的授權(quán)可以分配給多個角色,角色和業(yè)務(wù)單元之間的一個分配關(guān)系,產(chǎn)生一個關(guān)聯(lián)的角色的授權(quán)分配實體。在一個業(yè)務(wù)單元的角色授權(quán)中,一個角色實體可選擇分配一個業(yè)務(wù)單元實體下的一個或多個業(yè)務(wù)操作實體,表示該角色在當(dāng)前業(yè)務(wù)單元下可執(zhí)行哪些業(yè)務(wù)操作。如果該業(yè)務(wù)操作在業(yè)務(wù)單元授權(quán)定義時定義了數(shù)據(jù)權(quán)限約束,則應(yīng)根據(jù)數(shù)據(jù)權(quán)限的定義為角色分配執(zhí)行該操作時可訪問的數(shù)據(jù)范圍,從而產(chǎn)生角色的數(shù)據(jù)授權(quán)分配實體數(shù)據(jù)。
2.3 運行時
運行時階段。授權(quán)訪問控制運行時服務(wù)對外提供服務(wù)調(diào)用接口,接收應(yīng)用系統(tǒng)中各程序組件的授權(quán)訪問控制的相關(guān)調(diào)用。服務(wù)調(diào)用接口遵循基本的RBAC模型定義的操作接口標(biāo)準(zhǔn),在角色的授權(quán)訪問控制部分,采用以業(yè)務(wù)單元為基本單位的訪問控制。在運行時服務(wù)的內(nèi)部,根據(jù)輸入的會話和業(yè)務(wù)單元、業(yè)務(wù)操作等信息,加載業(yè)務(wù)單元定義,根據(jù)分配時設(shè)置的角色的授權(quán)分配結(jié)果進(jìn)行邏輯運算,向調(diào)用返回授權(quán)訪問控制的結(jié)果。
3.總結(jié)
本文提供的面向業(yè)務(wù)的授權(quán)訪問控制方法,將原RBAC模型中的操作和數(shù)據(jù),按照業(yè)務(wù)內(nèi)聚度,劃分成業(yè)務(wù)單元,使操作和數(shù)據(jù)包含在業(yè)務(wù)單元中,形成一個有機整體,使面向業(yè)務(wù)的業(yè)務(wù)單元成為授權(quán)分配和授權(quán)訪問的基本單位。通過這種面向業(yè)務(wù)的劃分,使應(yīng)用系統(tǒng)的授權(quán)的分配和訪問控制體現(xiàn)出清晰的業(yè)務(wù)內(nèi)聚度特征,符合業(yè)務(wù)關(guān)系的內(nèi)在規(guī)律性,業(yè)務(wù)單元具有業(yè)務(wù)完整性的特點,具有明確的邊界。當(dāng)授權(quán)訪問控制需求變化時,業(yè)務(wù)單元作為授權(quán)訪問控制的變化基本單位,與以往孤立的操作和數(shù)據(jù)作為變化的基本單位相比,業(yè)務(wù)單元可對變化進(jìn)行有效封裝,使變化分解并限制在局部,從而使變化更加可控。
作者簡介:佘九華(1982-),男,山東蒼山人,碩士,研究方向:煤礦企業(yè)信息化集成與業(yè)務(wù)應(yīng)用。