企業管理應用安全授權設計探討

時間:2022-07-22 10:34:34

導語:企業管理應用安全授權設計探討一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

企業管理應用安全授權設計探討

摘要:隨著授權管理在企業管理應用中的普及,對授權安全性的需求也日益突出。文章根據需求,提供了一種企業管理應用的安全授權設計方案,通過設定三員分立模式,指定相互制約的管理員角色賬號,實現用戶、角色、權限之間的相互分配及確認功能,以及查看三者之間歷史變更數據關系的功能,從而達到安全授權管理的需求。

關鍵詞:企業管理應用;授權管理;安全性需求;三員分立

授權管理作為一種現代新型管理理念,已經在各個領域得到普及。授權的含義是分配他人具體任務以及完成這些任務的權利,并且雙方能夠對任務的結果達到一致的認可。這種管理理念的實現方式也一致得到企業管理者和員工的肯定。企業管理者通過授權管理,能夠高效率的利用好時間,在承擔重任的同時,完成自己必須做的工作;企業員工在得到授權的情況下可以在沒有上級領導的干擾下,完成任務并做出一些重大決定。評價任何一個企業授權管理應用系統,其安全管理方式可以說是主要指標之一。健全有效的安全管理方式可以保障用戶合理地使用應用資源,防止用戶獲取機密信息或破壞信息。應用級的安全管理,主要取決于應用系統的構成。對于一個大型的管理應用系統,多種崗位、多種級別的用戶所擁有的權限也是不同的,這就要求系統能夠提供一種安全管理權限體系,確保具有權限資格的用戶獲取數據和進行數據操作,并禁止未被授權的用戶接近數據的信息。在近年來的權限管理方面的研究中,包括基于角色的授權管理的實現研究[1,2,4]、基于RBAC模型法的權限管理的實現研究[3,5-8]等等,雖然都提供了有效的權限安全管理的控制方案,但是針對分配權限本身動作的安全防范措施有所欠缺,表現為一個管理者可以實現分配權限的動作,但是管理者本身是否達到安全分配的要求卻不可知。本文不僅提供了一種有效靈活的安全授權方案,同時也保障了分配權限動作的安全防范。

1總體設計

1.1授權管理機制。本設計的應用安全授權體系采用RBAC模型(如圖1所示),同時為了分配權限動作的安全防范,為企業應用分配了三種管理員角色,這三種管理員角色擁有固定不可變的管理權限,并且各自指定一位管理員賬戶,比如管理員A、管理員B、管理員C,可使管理員之間實現相互制約的機制,從而達到分配權限動作的安全防范。圖1授權管理體制結構授權管理體制結構定義如下。⑴一位管理員賬戶只能指定一種管理員角色。⑵權限按照應用模塊和功能劃分方法以樹形結構定義,便于應用管理員按業務模塊和功能進行授權。⑶角色可以理解為一組權限的集合,為方便授權而設立。⑷用戶在應用中能起到效果的權限都來自于有效權限表數據。⑸一個角色可以作為下級角色,從屬于多個其他角色,一個角色也可以作為上級角色,擁有多個其他角色,但是不能循環嵌套。下級角色繼承上級角色的權限。⑹角色之間具有互斥關系,互斥角色不能同時授予同一用戶;定義角色互斥關系時,應檢查是否已經有用戶同時授予了兩個角色。⑺一個用戶可以授予多個角色,一個角色也可以授予多個用戶,用戶擁有角色的權限以及角色所有上級角色的權限。⑻權限既可以授予(grant),也可以禁用(revoke),禁用關系在同級別角色中具有較高優先級;即假如用戶a被授予角色b和角色c(b和c之間不存在隸屬關系),b被授予權限x,C被禁用權限x,那么用戶a應該被禁用權限x,權限x應從用戶a的最終有效權限集合中排除;用戶權限的授予關系具有更高的優先級,如前例中,直接給用戶a授予權限x,那么用戶最終有效權限集合中也具有x;同時角色隸屬關系中下級角色也可以取代上級角色的禁用關系。⑼級聯授予權限,授予一個權限同時必須授予其所有祖先權限;級聯禁用權限,禁用一個權限同時必須禁用其所有子孫權限。⑽為用戶、角色授權或者更改用戶、角色的隸屬關系后,都需要重新計算相關用戶的有效權限,記入用戶的有效權限表。⑾管理員B可以給角色和用戶授權,授權后需要管理員A確認生效;管理員C可查看角色、用戶、權限三者之間的歷史變更數據。⑿管理員A為用戶確認角色和權限后,系統計算用戶的最終有效權限,即用戶繼承的所有角色權限和用戶自身被直接授予的權限合集。即用戶a繼承權限b以及角色c關系,角色c繼承權限d關系,則用戶a的有效權限集合為權限b和權限d。1.2授權制約機制。用戶、權限、角色三者關系需要在管理員B授權后,同時管理員A再確認后才能激活使用,形成相互制約機制(設計如圖2所示),審計員可查看三者之間的歷史變更數據。以角色授權為例,建立角色授權數據的當前版本和歷史版本兩張記錄表,管理員B授權操作僅修改當前版本記錄表,修改后,角色當前版本數據標記為待激活。管理員A確認激活授權后,激活后的版本復制到歷史版本表中,存為新版本。當需要計算用戶的有效權限時,系統始終從歷史版本庫中取最新版本角色授權數據進行有效權限計算,這樣就可以避免使用未激活狀態的授權數據,同時也可以對授權狀態的歷史進行跟蹤審計。用戶授權、角色用戶分配與角色授權類似,不再贅述。

2詳細設計

2.1授予設計。管理員B擁有授予的功能,能夠實現分配角色、用戶、權限三者之間的關系。管理員B在登陸應用之后,擁有用戶授權、角色授權、權限授權、角色分配這幾個菜單功能。在用戶授權菜單中,選定用戶來分配權限關系。關系信息會保存在數據庫角色權限關系表(SYS_AUTH_USER)中,表中USER_ID列保存用戶表的主鍵信息,AUTH_ID列來保存權限表的主鍵信息,IS_REVOKE列來判定是授予(grant)還是禁用(revoke)關系。待激活權限關系的用戶信息也會記錄在待激活權限關系表(SYS_WAIT_GRANT_AUTH)中,其中ACTIVATE_ID列為用戶表主鍵信息,TYPE列的值設為0,表明該條數據為待激活的用戶信息。角色授權菜單的實現方式與之相似,不再記述。在權限授權菜單中,則是通過選定權限來分配角色和用戶,并將關系信息分配保存在SYS_AUTH_USER表和SYS_AUTH_ROLE表中,并添加待激活關系數據在SYS_WAIT_GRANT_AUTH表中。在角色分配菜單中,可以選定用戶來分配角色關系,也可以選定角色來分配用戶關系。關系信息保存在數據庫角色用戶關系表(SYS_USER_ROLE)中,表中USER_ID列保存用戶表的主鍵信息,ROLE_ID列來保存角色表的主鍵信息。待激活角色關系的用戶信息記錄在待激活用戶角色關系表(SYS_WAIT_GRANT_USER)中,USER_ID保存用戶表的主鍵信息。管理員B通過授予角色、用戶、權限三者之間的關系后,新的三者關系數據會存儲在當前版本庫中,并標記為待激活狀態,此時三者關系在應用中起到效果的依然是歷史版本庫里面最新版本的數據。2.2激活設計。管理員A擁有確認激活的功能,能夠為管理員B分配的角色、用戶、權限三者關系進行確認激活操作,此時三者關系會生成新的歷史版本庫數據,并在應用中起到作用。管理員A在登陸應用后,擁有授權激活、分配角色激活這兩個菜單功能。在授權激活菜單中,展示待激活權限關系的用戶和角色列表,通過點擊用戶列或者角色列后,查看對應的待激活的權限關系列表,確認核實后,點擊激活按鈕進行激活操作。以角色權限關系激活操作為例,將數據庫中的角色授權版本控制表(SYS_AUTH_ROLE_LV)中該角色的最大歷史版本值為n的所在數據的IS_LAST_VERSION列的值改為0,并添加一條新數據,新數據中ROLE_ID列的值為該角色的主鍵信息,IS_LAST_VERSION列的值設為1作為最新版本標記,VERSION_NO列的值為n+1;將SYS_AUTH_ROLE表的信息保存在角色授權版本歷史數據表(SYS_AUTH_ROLE_V)中,SYS_AUTH_ROLE_V表的LV_ID列為SYS_AUTH_ROLE_LV的主鍵信息;刪除SYS_WAIT_GRANT_AUTH表中該角色的信息表明已激活。用戶權限關系激活與角色權限關系激活操作類似,不再贅述。在分配角色激活菜單,可以查看待激活角色關系的用戶列表,通過點擊用戶列,查看對應的待激活的角色關系列表,確認核實后,點擊激活按鈕進行激活操作。將數據庫中的角色用戶版本控制表(SYS_USER_ROLE_LV)中該用戶的最大歷史版本值為n的所在數據的IS_LAST_VERSION列的值改為0,并添加一條新數據,新數據中USER_ID列的值為該用戶的主鍵信息,IS_LAST_VERSION列的值設為1作為最新版本標記,VERSION_NO列的值為n+1;將SYS_USER_ROLE表的信息保存在角色用戶版本歷史數據表(SYS_USER_ROLE_V)中,SYS_USER_ROLE_V表的LV_ID列的值為SYS_USER_ROLE_LV的主鍵信息;刪除SYS_WAIT_GRANT_USER表中該用戶的信息表明已激活。2.3查看設計。管理員C擁有查看審計的功能,能夠查看角色、用戶、權限三者關系的歷史版本記錄。管理員C在登陸應用后,擁有授權審計和角色審計兩個菜單功能。在授權審計菜單中,通過選擇時間段,顯示在該時間段下變更過權限關系的用戶和角色列表,點擊選擇用戶列或角色列,可獲取該用戶或角色的權限關系的歷史版本以及版本下的關系信息。以獲取用戶歷史權限版本信息為例,通過USER_ID獲取SYS_AUTH_USER_LV表所有信息,選擇指定的VERSION_NO版本,確定LV_ID的值并可獲取SYS_AUTH_USER_V表的所有數據,SYS_AUTH_USER_V表中的AUTH_NAME列信息即為該歷史版本下用戶的權限關系數據。角色審計菜單實現方式相似,不再贅述。

3結論

在大型的系統應用中,會有十分復雜的用戶、權限、角色,授權關系會十分復雜,對應授權關聯的代辦服務尤為重要。在本文給出的安全授權方案中,實現了責任的分解、權力的授予、授權的檢查與跟蹤三方面的功能,提供了一種靈活有效的安全授權管理方式,并適用于各種應用領域。通過該設計方案,能夠減輕企業應用中授權管理的壓力,靈活準確地將任務落到實處,提高企業工作者們的工作效率。

參考文獻:

[1]苗雪蘭.一種基于角色的授權管理安全模型的研究與實現[J].計算機工程,2002.9:104-105,169

[2]丁于思.基于角色的安全訪問控制在企業信息系統中的應用研究[D].中南大學,2003.

[3]張建春.基于RBAC模型的權限管理在OA系統中設計和實現[J].長沙航空職業技術學院學報,2009.9(4):48-52

[4]潘志剛.基于角色控制的權限管理在企業信息系統中的應用與實現[C].全國虛擬儀器大會,2009.

[5]丁仲,左春.用于RBAC權限管理的面向對象框架[J].計算機工程與應用,2005.17:46-48

[6]冀汶莉.基于RBAC模型的權限管理系統的研究與應用[J].微電子學與計算機,2007.8:92-94

[7]吳波,王晶.基于基本RBAC模型的權限管理框架的設計與實現[J].計算機系統應用,2011.20(4):50-54

[8]熊厚仁,陳性元,張斌.基于RBAC的授權管理安全準則分析與研究[J].計算機科學,2015.42(3):117-123

作者:左剛 胡昌平 卞德志 單文金 閆四洋 單位:(1.中國船舶集團有限公司第七一六研究 2.中船重工信息科技有限公司