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