左剛 胡昌平 卞德志 單文金 閆四洋
摘要:隨著授權(quán)管理在企業(yè)管理應(yīng)用中的普及,對授權(quán)安全性的需求也日益突出。文章根據(jù)需求,提供了一種企業(yè)管理應(yīng)用的安全授權(quán)的設(shè)計(jì)方案,通過設(shè)定三員分立模式,指定相互制約的管理員角色賬號,實(shí)現(xiàn)用戶、角色、權(quán)限之間的相互分配及確認(rèn)功能,以及查看三者之間歷史變更數(shù)據(jù)關(guān)系的功能,從而達(dá)到安全授權(quán)管理的需求。
關(guān)鍵詞:企業(yè)管理應(yīng)用;授權(quán)管理;安全性需求;三員分立
中圖分類號;TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1006-8228(2020)07-43-04
0引言
授權(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è)管理者通過授權(quán)管理,能夠高效率的利用好時(shí)間,在承擔(dān)重任的同時(shí),完成自己必須做的工作;企業(yè)員工在得到授權(quán)的情況下可以在沒有上級領(lǐng)導(dǎo)的干擾下,完成任務(wù)并做出一些重大決定。
評價(jià)任何一個(gè)企業(yè)授權(quán)管理應(yīng)用系統(tǒng),其安全管理方式可以說是主要指標(biāo)之一。健全有效的安全管理方式可以保障用戶合理地使用應(yīng)用資源,防止用戶獲取機(jī)密信息或破壞信息。應(yīng)用級的安全管理,主要取決于應(yīng)用系統(tǒng)的構(gòu)成。對于一個(gè)大型的管理應(yīng)用系統(tǒng),多種崗位、多種級別的用戶所擁有的權(quán)限也是不同的,這就要求系統(tǒng)能夠提供一種安全管理權(quán)限體系,確保具有權(quán)限資格的用戶獲取數(shù)據(jù)和進(jìn)行數(shù)據(jù)操作,并禁止未被授權(quán)的用戶接近數(shù)據(jù)的信息。在近年來的權(quán)限管理方面的研究中,包括基于角色的授權(quán)管理的實(shí)現(xiàn)研究、基于RBAC模型法的權(quán)限管理的實(shí)現(xiàn)研究等等,雖然都提供了有效的權(quán)限安全管理的控制方案,但是針對分配權(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)作的安全防范。
授權(quán)管理體制結(jié)構(gòu)定義如下。
(1)一位管理員賬戶只能指定一種管理員角色。
(2)權(quán)限按照應(yīng)用模塊和功能劃分方法以樹形結(jié)構(gòu)定義,便于應(yīng)用管理員按業(yè)務(wù)模塊和功能進(jìn)行授權(quán)。
(3)角色可以理解為一組權(quán)限的集合,為方便授權(quán)而設(shè)立。
(4)用戶在應(yīng)用中能起到效果的權(quán)限都來自于有效權(quán)限表數(shù)據(jù)。
(5)一個(gè)角色可以作為下級角色,從屬于多個(gè)其他角色,一個(gè)角色也可以作為上級角色,擁有多個(gè)其他角色,但是不能循環(huán)嵌套。下級角色繼承上級角色的權(quán)限。
(6)角色之間具有互斥關(guān)系,互斥角色不能同時(shí)授予同一用戶;定義角色互斥關(guān)系時(shí),應(yīng)檢查是否已經(jīng)有用戶同時(shí)授予了兩個(gè)角色。
(7)一個(gè)用戶可以授予多個(gè)角色,一個(gè)角色也可以授予多個(gè)用戶,用戶擁有角色的權(quán)限以及角色所有上級角色的權(quán)限。
(8)權(quán)限既可以授予(grrant),也可以禁用(revoke),禁用關(guān)系在同級別角色中具有較高優(yōu)先級;即假如用戶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)先級,如前例中,直接給用戶a授予權(quán)限x,那么用戶最終有效權(quán)限集合中也具有x;同時(shí)角色隸屬關(guān)系中下級角色也可以取代上級角色的禁用關(guān)系。
(9)級聯(lián)授予權(quán)限,授予一個(gè)權(quán)限同時(shí)必須授予其所有祖先權(quán)限;級聯(lián)禁用權(quán)限,禁用一個(gè)權(quán)限同時(shí)必須禁用其所有子孫權(quán)限。
(10)為用戶、角色授權(quán)或者更改用戶、角色的隸屬關(guān)系后,都需要重新計(jì)算相關(guān)用戶的有效權(quán)限,記入用戶的有效權(quán)限表。
(11)管理員B可以給角色和用戶授權(quán),授權(quán)后需要管理員A確認(rèn)生效;管理員c可查看角色、用戶、權(quán)限三者之間的歷史變更數(shù)據(jù)。
(12)管理員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)始終從歷史版本庫中取最新版本角色授權(quán)數(shù)據(jù)進(jìn)行有效權(quán)限計(jì)算,這樣就可以避免使用未激活狀態(tài)的授權(quán)數(shù)據(jù),同時(shí)也可以對授權(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)菜單中,選定用戶來分配權(quán)限關(guān)系。關(guān)系信息會(huì)保存在數(shù)據(jù)庫角色權(quán)限關(guān)系表(SYS_AUTH_USER)中,表中USER_ID列保存用戶表的主鍵信息,AUTH_ID列來保存權(quán)限表的主鍵信息,IS_REVOKE列來判定是授予(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)方式與之相似,不再記述。