企業(yè)管理應(yīng)用安全授權(quán)設(shè)計(jì)探討

時(shí)間:2022-07-22 10:34:34

導(dǎo)語(yǔ):企業(yè)管理應(yīng)用安全授權(quán)設(shè)計(jì)探討一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

企業(yè)管理應(yīng)用安全授權(quán)設(shè)計(jì)探討

摘要:隨著授權(quán)管理在企業(yè)管理應(yīng)用中的普及,對(duì)授權(quán)安全性的需求也日益突出。文章根據(jù)需求,提供了一種企業(yè)管理應(yīng)用的安全授權(quán)設(shè)計(jì)方案,通過(guò)設(shè)定三員分立模式,指定相互制約的管理員角色賬號(hào),實(shí)現(xiàn)用戶、角色、權(quán)限之間的相互分配及確認(rèn)功能,以及查看三者之間歷史變更數(shù)據(jù)關(guān)系的功能,從而達(dá)到安全授權(quán)管理的需求。

關(guān)鍵詞:企業(yè)管理應(yīng)用;授權(quán)管理;安全性需求;三員分立

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

1總體設(shè)計(jì)

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

2詳細(xì)設(shè)計(jì)

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

3結(jié)論

在大型的系統(tǒng)應(yīng)用中,會(huì)有十分復(fù)雜的用戶、權(quán)限、角色,授權(quán)關(guān)系會(huì)十分復(fù)雜,對(duì)應(yīng)授權(quán)關(guān)聯(lián)的代辦服務(wù)尤為重要。在本文給出的安全授權(quán)方案中,實(shí)現(xiàn)了責(zé)任的分解、權(quán)力的授予、授權(quán)的檢查與跟蹤三方面的功能,提供了一種靈活有效的安全授權(quán)管理方式,并適用于各種應(yīng)用領(lǐng)域。通過(guò)該設(shè)計(jì)方案,能夠減輕企業(yè)應(yīng)用中授權(quán)管理的壓力,靈活準(zhǔn)確地將任務(wù)落到實(shí)處,提高企業(yè)工作者們的工作效率。

參考文獻(xiàn):

[1]苗雪蘭.一種基于角色的授權(quán)管理安全模型的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2002.9:104-105,169

[2]丁于思.基于角色的安全訪問(wèn)控制在企業(yè)信息系統(tǒng)中的應(yīng)用研究[D].中南大學(xué),2003.

[3]張建春.基于RBAC模型的權(quán)限管理在OA系統(tǒng)中設(shè)計(jì)和實(shí)現(xiàn)[J].長(zhǎng)沙航空職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009.9(4):48-52

[4]潘志剛.基于角色控制的權(quán)限管理在企業(yè)信息系統(tǒng)中的應(yīng)用與實(shí)現(xiàn)[C].全國(guó)虛擬儀器大會(huì),2009.

[5]丁仲,左春.用于RBAC權(quán)限管理的面向?qū)ο罂蚣躘J].計(jì)算機(jī)工程與應(yīng)用,2005.17:46-48

[6]冀汶莉.基于RBAC模型的權(quán)限管理系統(tǒng)的研究與應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2007.8:92-94

[7]吳波,王晶.基于基本RBAC模型的權(quán)限管理框架的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011.20(4):50-54

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

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