新四季網

一種基於abac和rbac的權限控制方法

2023-06-03 02:15:16

一種基於abac和rbac的權限控制方法
【專利摘要】本發明公開了一種基於ABAC和RBAC的權限控制方法,本方法基於ABAC和RBAC的權限控制,能夠實現權限的動態控制和不同粒度的訪問控制,尤其適用於業務較複雜的系統中對於資源的權限控制。該控制方法不僅能夠更好的利用ABAC和RBAC的自身的優勢,而且能夠將兩者結合起來,按照定義的控制信息,靈活的對資源進行不同粒度的控制,以滿足用戶對資源的不同粒度的權限控制。尤其適用於比較複雜的業務系統中對資源的訪問控制,能夠比較圓滿的滿足系統的權限控制需求。
【專利說明】-種基於ABAC和RBAC的權限控制方法

【技術領域】
[0001] 本發明公開了一種基於ABAC和RBAC的權限控制方法,涉及計算機資源訪問控制 領域,具體涉及複雜業務系統中對資源的訪問相關控制。

【背景技術】
[0002] 訪問控制作為一種重要的安全措施在系統安全中得到廣泛的用用,在針對訪問控 制的研究中產生了各種不同的訪問控制模型,這些模型的目標是禁止未授權用戶訪問資 源。訪問控制核心是訪問控制策略和基於策略的授權判定,訪問控制策略描述了系統的安 全需求,訪問控制模型主要研究的是訪問控制策略的表示,而訪問控制策略自身是否安全 以及其是否能夠真實、及時的反應實際安全需求則直接影響整個系統的安全性和用戶對系 統的滿意度,為了滿足複雜系統對訪問控制模型的需求。
[0003] 傳統的訪問控制模型,如自主訪問控制DAC(Discretionary Access Control)、 強制訪問控制MAC(Mandatory Access Control)、基於角色的訪問控制RBAC(Role Based Access Control)和基於屬性的訪問控制模型 ABAC(Attribute Based Access Control) 等,並不能完全適用現今對資源的訪問控制的要求,他們不能表示複雜的場景對資源的訪 問控制策略,對主體和資源的描述都比較片面,而且往往無法滿足對訪問資源控制的需求。
[0004] 本文針對以上問題提出了一種有效的解決方法。


【發明內容】

[0005] 本發明的目的是提供一種基於ABAC和RBAC的權限控制方法。
[0006] 本發明的目的是按以下方式實現的,包括以下步驟和內容: 步驟一:權限模型的實體類定義,實體類的定義的信息包括基本信息、控制項信息、分 配結果表信息和維度信息; 步驟二:權限模型控制觸發點設置,基於步驟一定義的實體類,將該實體類與需要控制 業務資源對象關聯起來,即設置權限模型控制的觸發點; 步驟三:權限模型控制條件設置,根據步驟一定義的模型實體類,獲取定義的控制項信 息,然後對定義的各個控制項,設置對應控制的條件,並將設置的條件持久化,以便後面步 驟調用; 步驟四:權限模型訪問控制的調用,當用戶訪問某個業務資源時,如果該業務資源對象 經過步驟二的設置,則會根據步驟二設置的關聯關係,獲取定義的實體類信息,然後根據實 體類信息,獲取步驟三定義的模型控制的條件信息; 步驟五:權限模型控制條件的解析,將步驟四獲取出來的控制條件,按照類型不同,調 用不同的條件解析器進行解析,然後將結果返回; 步驟六:根據返回結果,訪問資源。根據步驟五解析的模型控制條件結果,對資源進行 控制訪問。
[0007] 所述基於ABAC和RBAC的權限控制方法,步驟一,定義權限模型的實體類,除了包 括定義的基本信息之外,還需定義控制項信息,對於基於屬性權限對象來說,則需定義屬性 控制項集合AttributeltemCollection,裡面包括了定義的屬性的項名稱以及該項對應的 屬性資源的類型,包括主體屬性和環境變量;對於基於角色的權限對象來說,則需定義對應 的數據源信息DataSourceCollection,裡面包括數據源的編號、類型以及分配時的設置信 肩、。
[0008] 所述基於ABAC和RBAC的權限控制方法,步驟二,設置權限模型控制觸發點,選取 待控制的業務資源對象,並將定義的模型與業務資源對象關聯起來,對於基於屬性權限對 象,主要是將定義的模型信息與業務資源對象關聯ResAttributeRelation ;對於基於角色 的權限對象,除了定義的模型信息與業務資源對象關聯信息ResourceRelation之外,還需 要定義相關對應的關聯欄位信息ElementMappingCollection。
[0009] 所述基於ABAC和RBAC的權限控制方法,步驟三,設置權限模型控制條件,對於基 於屬性的權限對象,主要根據定義的屬性項信息,設置該屬性項對應的條件表達式;對於 基於角色的權限對象,則根據定義的控制信息,定義模型控制的條件信息,包括規則或者枚 舉。
[0010] 所述基於ABAC和RBAC的權限控制方法,步驟四到步驟六所述的權限模型訪問控 制的調用、條件解析,其主要的步驟包括以下幾步: 1) 用戶請求對資源進行訪問,觸發了權限模型的控制; 2) 獲取基於屬性權限對象的控制信息ResAttributeRelation,如果該資源不控制屬 性權限,則直接跳過屬性權限的控制;如果控制屬性權限,則繼續執行以下步驟; 3) 獲取屬性權限的定義信息AttributePermission,屬性權限的定義信息,包括定義 的屬性項類型和屬性項名稱; 4) 獲取屬性權限的控制信息AttributeAssignment,首先獲取上一步定義的屬性項信 息,然後根據獲取的屬性項,獲取每個屬性項設置的控制信息; 5) 解析屬相權限的控制信息,根據上一步獲取的控制信息,調用屬性權限解析引擎,將 控制信息進行解析,將結果返回;根據返回的布爾結果,如果是FALSE,則拒絕訪問資源對 象;如果是TRUE,則繼續執行後面的步驟; 6) 獲取基於角色權限對象控制信息ResourceRelation,如果不存在控制信息,則直接 訪問資源對象;如果存在控制信息,則繼續下面的步驟; 7) 獲取基於角色權限對象的定義信息PermissionObject,定義的信息主要包括承載 的數據源以及分配結果表設置的信息; 8) 獲取基於角色權限對象的控制信息DataAssignment,根據前面步驟定義的信息,獲 取對應的控制信息; 9) 解析基於角色權限對象的控制信息,交給基於角色權限模型解析引擎和數據訪問引 擎,對獲取的數據進行條件過濾,然後根據過濾之後的結果,對資源進行訪問。
[0011] 本發明的優異效果:本發明公開了一種基於ABAC和RBAC的權限控制方法,能夠實 現權限的動態控制和不同粒度的訪問控制,尤其適用於業務較複雜的系統中對於資源的權 限控制。該控制方法不僅能夠更好的利用ABAC和RBAC的自身的優勢,而且能夠將兩者結 合起來,按照定義的控制信息,靈活的對資源進行不同粒度的控制,以滿足用戶對資源的不 同粒度的權限控制。

【專利附圖】

【附圖說明】
[0012] 圖1是權限控制模型總體框架圖; 圖2是權限模型訪問控制總體流程圖; 圖3是權限模型控制流程圖。

【具體實施方式】
[0013] 參照說明書附圖對本發明的一種基於ABAC和RBAC的權限控制方法作以下詳細地 說明。
[0014] 本發明的目的在於彌補現有的單個權限控制模型自身存在的缺憾,以滿足複雜業 務系統中對業務資源的控制。ABAC模型考慮主體、資源和訪問所處環境的屬性來描述策略, 相比於傳統的訪問控制策略,能夠解決複雜信息系統中的粗粒度訪問控制,但是無法滿足 用戶對於細微粒度權限的訪問控制。而RBAC通過"角色"建立起用戶和資源的關係,定義 了細微粒度的權限控制信息,但是無法定義粗粒度的訪問控制信息,存在著一定的局限性。
[0015] 為此,本發明公開了一種基於ABAC和RBAC的權限控制方法,該方法主要由權限模 型定義和權限模型控制兩部分組成。所述基於ABAC和RBAC的權限控制方法的步驟如下: 步驟一:權限模型的實體類定義。實體類的定義的信息包括基本信息、控制項信息、分 配結果表的信息和維度信息; 步驟二:權限模型控制觸發點設置。基於步驟一定義的實體類,將該實體類與需要控制 業務資源對象關聯起來,即設置權限模型控制的觸發點; 步驟三:權限模型控制條件設置。根據步驟一定義的模型實體類,獲取定義的控制項信 息,然後對定義的各個控制項,設置對應控制的條件,並將設置的條件持久化,以便後面步 驟調用; 步驟四:權限模型訪問控制的調用。當用戶訪問某個業務資源時,如果該業務資源對象 經過步驟二的設置,則會根據步驟二設置的關聯關係,獲取步驟一定義的實體類信息,然後 根據實體類信息,獲取步驟三定義的模型控制的條件信息; 步驟五:權限模型控制條件的解析。將步驟四獲取出來的控制條件,按照類型不同,調 用不同的條件解析器進行解析,然後將結果返回; 步驟六:根據返回結果,訪問資源。根據步驟五解析的模型控制條件結果,對資源進行 控制訪問。
[0016] 優選的是,所述的權限模型的實體類定義,除了包括定義的標識、編號等基本信 息之外,還需定義控制項信息。對於基於屬性權限對象來說,則需定義屬性控制項集合 (AttributeltemCollection),裡面包括了定義的屬性的項名稱以及該項對應的屬性資源 的類型(包括主體屬性和環境變量);對於基於角色的權限對象來說,則需定義對應的數據 源信息(DataSourceCollection),裡面包括數據源的編號、類型以及分配時的一些相關設 置信息。
[0017] 優選的是,所述的權限模型控制觸發點設置,選取待控制的業務資源對象,並將定 義的模型與業務資源對象關聯起來。對於基於屬性權限對象,主要是將定義的模型信息與 業務資源對象關聯(ResAttributeRelation);對於基於角色的權限對象,除了定義的模型 信息與業務資源對象關聯信息(ResourceRelation)之外,還需要定義相關對應的關聯字 段信息(ElementMappingCollection) 〇
[0018] 優選的是,所述的權限模型控制條件設置,對於基於屬性的權限對象,主要根據定 義的屬性項信息,設置該屬性項對應的條件表達式;對於基於角色的權限對象,則根據定義 的控制信息,定義模型控制的條件信息(規則或者枚舉)。
[0019] 優選的是,所述的權限模型訪問控制的調用、條件解析,其主要的步驟包括以下幾
[K 少: 1、 用戶請求對資源進行訪問,觸發了權限模型的控制; 2、 獲取基於屬性權限對象的控制信息(ResAttributeRelation)。如果該資源不控制屬 性權限,則直接跳過屬性權限的控制;如果控制屬性權限,則繼續執行以下步驟; 3、 獲取屬性權限的定義信息(AttributePermission)。屬性權限的定義信息,包括定義 的屬性項類型和屬性項名稱; 4、 獲取屬性權限的控制信息(AttributeAssignment)。首先獲取上一步定義的屬性項 信息,然後根據獲取的屬性項,獲取每個屬性項設置的控制信息; 5、 解析屬相權限的控制信息。根據上一步獲取的控制信息,調用屬性權限解析引擎,將 控制信息進行解析,將結果返回;根據返回的布爾結果,如果是FALSE,則拒絕訪問資源對 象;如果是TRUE,則繼續執行後面的步驟; 6、 獲取基於角色權限對象控制信息(ResourceRelation)。如果不存在控制信息,貝1J直 接訪問資源對象;如果存在控制信息,則繼續下面的步驟; 7、 獲取基於角色權限對象的定義信息(PermissionObject)。定義的信息主要包括承載 的數據源以及分配結果表設置的信息; 8、 獲取基於角色權限對象的控制信息(DataAssignment)。根據前面步驟定義的信息, 獲取對應的控制信息; 9、 解析基於角色權限對象的控制信息。根據上一步的控制解析,交給基於角色權限模 型解析引擎和數據訪問引擎,對獲取的數據進行條件過濾,然後根據過濾之後的結果,對資 源進行訪問。 實施例
[0020] 按照圖1所示,具體實施步驟如下。
[0021] 步驟一:權限模型的實體類定義。實體類包含基於屬性權限實體類和基於角色的 實體類。
[0022] ( 1)基於屬性的權限實體類主要屬性 ///屬性控制項集合 GSPAttributeltemCollection AttributeItemCollection { get; set; } ///屬性權限分配結果表ID string ResultTablelD { get; set; } (2)基於角色的權限實體類主要屬性 ///對應數據源集合。
[0023] GSPRowDataSourceCollection DataSourceCollection { get; set; } ///與其它數據權限對象之間的關係。
[0024] GSPRowAssociationCollection Associations { get; set; } ///權限分配設置。
[0025] GSPRowAssignSetting AssignSetting { get; set; } ///權限分配結果設置。
[0026] IPermissionResultSetting ResultSetting { get; set; } 步驟二:權限模型控制觸發點設置。將業務資源和第一步定義的權限對象關聯起來; (1) 基於屬性的權限對象與業務資源的關聯關係主要屬性 ///業務資源對象ID string BizObjID { get; set; } ///業務資源對象類型 GSPRacDataResourceType BizObjType { get; set; } ///權限對象ID [行權限對象ID或者列權限對象ID] string PermissionObjID { get; set; } ///元素之間的映射關係集合[行權限] GSPResRowE1ementMappingCollection ElementMappings { get; set; } (2) 基於角色的權限對象與業務資源的關聯關係主要屬性 ///業務資源對象ID string BizObjID { get; set; } ///業務資源對象類型 GSPRacDataResourceType BizObjType { get; set; } ///屬性權限對象ID string AttributeObjID { get; set; } 步驟三:權限模型控制條件設置。根據步驟一定義的模型實體類,獲取定義的控制項信 息,然後對定義的各個控制項,設置對應控制的條件,並將設置的條件持久化,以便後面步 驟調用; 步驟四:權限模型訪問控制的調用。其主要的接口方法如下所示。
[0027] ( 1)基於屬性的訪問接口方法 III 〈summary> ///根據業務對象、操作,獲取欄位權限的結果集合 III 業務資源對象10〈/^3四111> III〈param> 操作 ID〈/param> ///〈returns〉單元格權限分配結果〈/returns〉 SPCellPermissionCollection GetCellPermissions(string objID, string opID); (2)基於角色的訪問接口方法 III 〈summary> ///根據業務對象、操作,獲取數據權限結果控制的過濾條件 III 業務資源對象 ID〈/param> ///〈param> 操作 ID〈/param> ///〈returns〉控制的過濾條件集合〈/returns〉 GSPRacDataFilterCollection GetDataFilters(string objID, string opID); /// 〈summary> ///根據業務對象、操作、數據授權對象,獲取數據權限結果控制的過濾條件 /// 業務資源對象 ID〈/param> ///〈param> 操作 ID〈/param> ///〈param> 數據權限對象 ID〈/param> ///〈returns〉控制的過濾條件〈/returns〉 IRacDataFiIter GetDataFiIter (string objID, string opID, string permissionID); 步驟五:權限模型控制條件的解析。將步驟四獲取出來的控制條件,按照類型不同,調 用不同的條件解析器進行解析,然後將結果返回; 步驟六:根據返回結果,訪問資源。根據步驟五解析的模型控制條件結果,對資源進行 控制訪問。
[0028] 除說明書所述的技術特徵外,均為本專業技術人員的已知技術。
【權利要求】
1. 一種基於ABAC和RBAC的權限控制方法,其特徵在於包括以下步驟和內容: 步驟一:權限模型的實體類定義,實體類的定義的信息包括基本信息、控制項信息、分 配結果表信息和維度信息; 步驟二:權限模型控制觸發點設置,基於步驟一定義的實體類,將該實體類與需要控制 業務資源對象關聯起來,即設置權限模型控制的觸發點; 步驟三:權限模型控制條件設置,根據步驟一定義的模型實體類,獲取定義的控制項信 息,然後對定義的各個控制項,設置對應控制的條件,並將設置的條件持久化,以便後面步 驟調用; 步驟四:權限模型訪問控制的調用,當用戶訪問某個業務資源時,如果該業務資源對象 經過步驟二的設置,則會根據步驟二設置的關聯關係,獲取定義的實體類信息,然後根據實 體類信息,獲取步驟三定義的模型控制的條件信息; 步驟五:權限模型控制條件的解析,將步驟四獲取出來的控制條件,按照類型不同,調 用不同的條件解析器進行解析,然後將結果返回; 步驟六:根據返回結果,訪問資源; 根據步驟五解析的模型控制條件結果,對資源進行控制訪問。
2. 根據權利要求1所述基於ABAC和RBAC的權限控制方法,其特徵在於:步驟一,定義 權限模型的實體類,除了包括定義的基本信息之外,還需定義控制項信息,對於基於屬性權 限對象來說,則需定義屬性控制項集合AttributeltemCollection,裡面包括了定義的屬性 的項名稱以及該項對應的屬性資源的類型,包括主體屬性和環境變量;對於基於角色的權 限對象來說,則需定義對應的數據源信息DataSourceCollection,裡面包括數據源的編號、 類型以及分配時的設置信息。
3. 根據權利要求1所述基於ABAC和RBAC的權限控制方法,其特徵在於:步驟 二,設置權限模型控制觸發點,選取待控制的業務資源對象,並將定義的模型與業務 資源對象關聯起來,對於基於屬性權限對象,主要是將定義的模型信息與業務資源對 象關聯ResAttributeRelation ;對於基於角色的權限對象,除了定義的模型信息與業 務資源對象關聯信息ResourceRelation之外,還需要定義相關對應的關聯欄位信息 ElementMappingCollection。
4. 根據權利要求1所述基於ABAC和RBAC的權限控制方法,其特徵在於:步驟三,設置 權限模型控制條件,對於基於屬性的權限對象,主要根據定義的屬性項信息,設置該屬性項 對應的條件表達式;對於基於角色的權限對象,則根據定義的控制信息,定義模型控制的條 件信息,包括規則或者枚舉。
5. 根據權利要求1所述基於ABAC和RBAC的權限控制方法,其特徵在於:步驟四到步 驟六所述的權限模型訪問控制的調用、條件解析,其主要的步驟包括以下幾步: (1) 用戶請求對資源進行訪問,觸發了權限模型的控制; (2) 獲取基於屬性權限對象的控制信息ResAttributeRelation,如果該資源不控制屬 性權限,則直接跳過屬性權限的控制;如果控制屬性權限,則繼續執行以下步驟; (3) 獲取屬性權限的定義信息AttributePermission,屬性權限的定義信息,包括定義 的屬性項類型和屬性項名稱; (4) 獲取屬性權限的控制信息八1:1:1^131^6488丨8111]16111:,首先獲取上一步定義的屬性項信 息,然後根據獲取的屬性項,獲取每個屬性項設置的控制信息; (5) 解析屬相權限的控制信息,根據上一步獲取的控制信息,調用屬性權限解析引擎, 將控制信息進行解析,將結果返回;根據返回的布爾結果,如果是FALSE,則拒絕訪問資源 對象;如果是TRUE,則繼續執行後面的步驟; (6) 獲取基於角色權限對象控制信息ResourceRelation,如果不存在控制信息,則直接 訪問資源對象;如果存在控制信息,則繼續下面的步驟; (7) 獲取基於角色權限對象的定義信息PermissionObject,定義的信息主要包括承載 的數據源以及分配結果表設置的信息; (8) 獲取基於角色權限對象的控制信息DataAssignment,根據前面步驟定義的信息,獲 取對應的控制信息; (9) 解析基於角色權限對象的控制信息,交給基於角色權限模型解析引擎和數據訪問 引擎,對獲取的數據進行條件過濾,然後根據過濾之後的結果,對資源進行訪問。
【文檔編號】G06F21/62GK104217146SQ201410447978
【公開日】2014年12月17日 申請日期:2014年9月4日 優先權日:2014年9月4日
【發明者】劉建華 申請人:浪潮通用軟體有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀