當(dāng)前位置:全球供應(yīng)網(wǎng) > 技術(shù)中心 > 所有分類(lèi)
權(quán)限管理,一般指根據(jù)系統(tǒng)設(shè)置的安全規(guī)則或者安全策略,用戶可以訪問(wèn)而且只能訪問(wèn)自己被的資源,不多不少,而統(tǒng)一權(quán)限管理則是將分布在各個(gè)系統(tǒng)中的權(quán)限管理模塊統(tǒng)一規(guī)劃在一個(gè)系統(tǒng)中,由一個(gè)系統(tǒng)集中管控多個(gè)業(yè)務(wù)系統(tǒng)的權(quán)限相關(guān)信息。
目前很多企業(yè)應(yīng)用系統(tǒng)數(shù)量較多,從幾個(gè)應(yīng)用系統(tǒng)到十幾個(gè)甚至幾十個(gè)應(yīng)用系統(tǒng),各個(gè)應(yīng)用系統(tǒng)獨(dú)立采購(gòu)、獨(dú)立實(shí)施,缺少統(tǒng)一規(guī)劃,權(quán)限體系各不相同。
各自系統(tǒng)面向用戶群不同,有的面向全體員工,有的面向某個(gè)部門(mén),有的面向某些崗位,用戶類(lèi)型多樣。
各自系統(tǒng)權(quán)限體系獨(dú)立管理維護(hù),各自為政,為日常的管理員、權(quán)限變更、清權(quán)帶來(lái)了不小的困擾,很多情況下,申請(qǐng)人不知道自己需要的權(quán)限,而管理員也不清楚申請(qǐng)人申請(qǐng)的權(quán)限是否達(dá)到權(quán)限最小化的要求,加之系統(tǒng)數(shù)量又多,結(jié)合到一起導(dǎo)致了企業(yè)里權(quán)限管理和使用混亂,很難梳理清楚、說(shuō)得明白。
用戶在多個(gè)系統(tǒng)中都有賬號(hào),但是卻無(wú)法直觀的快速地了解到用戶在企業(yè)中到底具備哪些系統(tǒng)權(quán)限,權(quán)限的高低也很難統(tǒng)計(jì),用戶離職后賬號(hào)權(quán)限無(wú)法做到快速清權(quán),往往人員離職半年后此人的管理員賬號(hào)依然可以使用,帶來(lái)了很多安全隱患。
一般會(huì)將權(quán)限體系分為如下幾種:
1)大門(mén)級(jí)權(quán)限
2)角色級(jí)權(quán)限
3)菜單級(jí)權(quán)限
4)操作級(jí)權(quán)限
5)數(shù)據(jù)級(jí)權(quán)限
大門(mén)級(jí)權(quán)限管理
顧名思義,只做大門(mén)級(jí)的權(quán)限控制,至于用戶在應(yīng)用系統(tǒng)大門(mén)內(nèi)有什么樣的權(quán)限,由應(yīng)用系統(tǒng)自己控制管理。
這種控制是最粗粒度的控制了,好在比較容易集成、推廣。
角色級(jí)權(quán)限控制
通過(guò)集中管理各個(gè)系統(tǒng)中的角色,結(jié)合統(tǒng)一用戶管理,可實(shí)現(xiàn)用戶在各個(gè)系統(tǒng)中的角色級(jí)權(quán)限的統(tǒng)一管控。
而每個(gè)角色在各個(gè)系統(tǒng)中具備的權(quán)限則是由應(yīng)用系統(tǒng)獨(dú)立的控制管理。
菜單級(jí)的權(quán)限控制
統(tǒng)一模塊管理維護(hù)一套應(yīng)用系統(tǒng)的菜單、按鈕,通過(guò)角色與菜單的映射,集中管理多個(gè)系統(tǒng)的角色-菜單權(quán)限。
操作級(jí)的權(quán)限控制
在菜單級(jí)權(quán)限控制的基礎(chǔ)上,將頁(yè)面上的操作動(dòng)作也一并管理維護(hù),即頁(yè)面上的操作按鈕,簡(jiǎn)單說(shuō)就是增、刪、改、查等操作的統(tǒng)一管理,此種管理模式,可將權(quán)限控制得更加細(xì)致、準(zhǔn)確。
數(shù)據(jù)級(jí)權(quán)限控制
數(shù)據(jù)級(jí)的權(quán)限控制更多的則是業(yè)務(wù)場(chǎng)景相關(guān),不會(huì)考慮統(tǒng)一集中管控,一般是通過(guò)部門(mén)、崗位等人員屬性條件進(jìn)行統(tǒng)一管理維護(hù),真正的權(quán)限控制策略,則是由應(yīng)用系統(tǒng)去把控,例如用戶崗位是財(cái)務(wù)經(jīng)理,則可以看到財(cái)務(wù)系統(tǒng)中的全部數(shù)據(jù),而財(cái)務(wù)部門(mén)的其他人員則看到部分?jǐn)?shù)據(jù)。在此場(chǎng)景下,統(tǒng)一身份管理的數(shù)據(jù)級(jí)權(quán)限則轉(zhuǎn)變?yōu)橛脩羯矸莨芾淼母鞣N身份信息的管理維護(hù)。
我們今天要分享的則是一例基于角色的菜單、按鈕級(jí)別的統(tǒng)一權(quán)限管理案例。
案例背景
要做到細(xì)粒度權(quán)限的統(tǒng)一管控,由于涉及各個(gè)應(yīng)用系統(tǒng)的權(quán)限梳理、集成改造,須要應(yīng)用系統(tǒng)給予大力的支持,以及上級(jí)大的強(qiáng)力推動(dòng),否則很難有比較明顯的成果。
而此案例的大背景則是政府行業(yè),信息化建設(shè)統(tǒng)一規(guī)劃,將一批新建系統(tǒng)統(tǒng)一整合,在此契機(jī)下,應(yīng)用系統(tǒng)可以很好地配合權(quán)限統(tǒng)一管控體系的建設(shè)。
權(quán)限核心要素
統(tǒng)一權(quán)限須要從幾個(gè)維度維護(hù)管理權(quán)限相關(guān)的信息:
● 用戶身份信息
● 應(yīng)用系統(tǒng)信息
● 系統(tǒng)角色信息
● 應(yīng)用系統(tǒng)菜單、按鈕信息
1、用戶身份信息
身份信息的維護(hù)管理根據(jù)實(shí)際場(chǎng)景主要分為兩類(lèi):
? 已有身份源系統(tǒng),例如HR系統(tǒng)
將身份源系統(tǒng)中的身份信息同步到權(quán)限管理系統(tǒng)中,并做定時(shí)或?qū)崟r(shí)的數(shù)據(jù)同步集成。
? 無(wú)身份源系統(tǒng)
在權(quán)限管理系統(tǒng)中維護(hù)管理用戶的身份信息,將權(quán)限管理系統(tǒng)作為身份數(shù)據(jù)源。
2、應(yīng)用系統(tǒng)維護(hù)
須要將管理的應(yīng)用系統(tǒng)注冊(cè)到統(tǒng)一權(quán)限管理平臺(tái)中,注冊(cè)時(shí)會(huì)生成認(rèn)證、鑒權(quán)相關(guān)的標(biāo)識(shí)。
3、角色維護(hù)
維護(hù)管理各個(gè)應(yīng)用系統(tǒng)中的角色列表,由于將來(lái)的管理模式是由統(tǒng)一權(quán)限管理平臺(tái)來(lái)管控權(quán)限,所以應(yīng)用系統(tǒng)無(wú)須在自己系統(tǒng)中管理角色信息。
4、菜單、按鈕維護(hù)
維護(hù)管理各個(gè)應(yīng)用系統(tǒng)中的菜單、按鈕列表,須要與應(yīng)用系統(tǒng)中的菜單和按鈕對(duì)應(yīng)。
關(guān)系
在統(tǒng)一平臺(tái)中維護(hù)管理如下關(guān)系:
1、系統(tǒng)角色對(duì)應(yīng)系統(tǒng)菜單/按鈕的權(quán)限定義
2、應(yīng)用系統(tǒng)與系統(tǒng)角色的對(duì)應(yīng)關(guān)系
3、用戶與應(yīng)用系統(tǒng)角色的關(guān)系
統(tǒng)一認(rèn)證、鑒權(quán)邏輯
統(tǒng)一認(rèn)證鑒權(quán)主要包含如下三個(gè)環(huán)節(jié):
1、門(mén)戶系統(tǒng)的登錄
門(mén)戶系統(tǒng)的認(rèn)證與其他應(yīng)用系統(tǒng)的邏輯一致,在此場(chǎng)景中是為了更好地體現(xiàn)出統(tǒng)一認(rèn)證的效果,所以把門(mén)戶的認(rèn)證單獨(dú)描述。
2、應(yīng)用系統(tǒng)的認(rèn)證
次訪問(wèn)應(yīng)用系統(tǒng)鏈接時(shí),須要進(jìn)行此邏輯的交互認(rèn)證。
3、鑒權(quán)邏輯
登錄完成后,再訪問(wèn)的所有菜單/按鈕都須要有應(yīng)用系統(tǒng)服務(wù)器端的鑒權(quán)邏輯,避免越權(quán)操作。
(1)用戶訪問(wèn)門(mén)戶系統(tǒng),跳轉(zhuǎn)至認(rèn)證中心認(rèn)證。
(2)用戶在認(rèn)證中心頁(yè)面登錄,輸入正確的用戶名密碼。
(3)認(rèn)證成功后,進(jìn)入門(mén)戶系統(tǒng)頁(yè)面。
(4)用戶在門(mén)戶頁(yè)面點(diǎn)擊應(yīng)用系統(tǒng)的鏈接,請(qǐng)求流轉(zhuǎn)至應(yīng)用系統(tǒng)。
(5)應(yīng)用系統(tǒng)攔截器判斷沒(méi)有session,向認(rèn)證中心發(fā)起認(rèn)證“請(qǐng)求code臨時(shí)票據(jù)”,請(qǐng)求方式為瀏覽器重定向。
(6)應(yīng)用系統(tǒng)根據(jù)瀏覽器返回的code參數(shù),通過(guò)服務(wù)器間的API請(qǐng)求獲取“access_token”,避免使用瀏覽器方式請(qǐng)求。
(7)應(yīng)用系統(tǒng)根據(jù)access_token請(qǐng)求認(rèn)證中心,獲取用戶信息和權(quán)限信息(角色列表、菜單/按鈕列表),成功后,進(jìn)入系統(tǒng),展現(xiàn)菜單/按鈕。
(8)用戶點(diǎn)擊某個(gè)菜單/按鈕時(shí),應(yīng)用系統(tǒng)后臺(tái)須要到認(rèn)證中心鑒權(quán),根據(jù)access_token和應(yīng)用標(biāo)識(shí)、菜單/按鈕編號(hào)請(qǐng)求鑒權(quán)接口,判斷用戶是否有權(quán)限訪問(wèn)此菜單/按鈕。
(9)根據(jù)鑒權(quán)結(jié)果判斷是否允許用戶訪問(wèn)此菜單。
主要難點(diǎn)
● 統(tǒng)一標(biāo)準(zhǔn)規(guī)范的制定。
● 下游多個(gè)業(yè)務(wù)系統(tǒng)須要按照制定的權(quán)限管理標(biāo)準(zhǔn)進(jìn)行集成改造。
● 為達(dá)到效果,業(yè)務(wù)系統(tǒng)是否按照標(biāo)準(zhǔn)確實(shí)落實(shí),須要監(jiān)督。
業(yè)務(wù)價(jià)值
● 統(tǒng)一了業(yè)務(wù)系統(tǒng)權(quán)限管理,集中管理業(yè)務(wù)系統(tǒng)的權(quán)限。
● 提供統(tǒng)一權(quán)限視圖,可方便快捷的查看用戶的全局權(quán)限。
● 規(guī)范了業(yè)務(wù)系統(tǒng)的權(quán)限管理,提高系統(tǒng)權(quán)限管理規(guī)范性。
● 提供全局鑒權(quán)體系,防止越權(quán)操作。
● 提供訪問(wèn)審計(jì),集中審計(jì)用戶在多個(gè)系統(tǒng)中的操作行為。