權(quán)限管理系統(tǒng)是每個(gè)B端產(chǎn)品都繞不過(guò)去的問(wèn)題,好的權(quán)限管理系統(tǒng)具有可以明確企業(yè)內(nèi)不同人員、不同部門(mén)的分工,降低操作風(fēng)險(xiǎn)發(fā)生概率,便于管理等優(yōu)勢(shì)。
傳統(tǒng)的權(quán)限管理往往授權(quán)方式單一、維護(hù)成本高。永洪BI的權(quán)限管理系統(tǒng),經(jīng)歷了若干版本迭代,具備高度靈活性。管理員可以批量導(dǎo)入用戶(hù)數(shù)據(jù),輕松維護(hù)企業(yè)組織架構(gòu)。系統(tǒng)提供了用戶(hù)授權(quán)、分組授權(quán)等多種授權(quán)方式,同時(shí)支持頁(yè)面化設(shè)置數(shù)據(jù)行級(jí)列級(jí)權(quán)限,可滿(mǎn)足不同規(guī)模企業(yè)的授權(quán)需求。本文將帶你深度解析永洪BI權(quán)限管理系統(tǒng)。
永洪BI權(quán)限管理系統(tǒng)設(shè)計(jì)整體上參照RBAC模型,RBAC模型全稱(chēng)為Role-Based Access Control,即基于角色的訪問(wèn)控制。在此模型中權(quán)限與角色相關(guān)聯(lián),用戶(hù)通過(guò)成為適當(dāng)角色的成員而得到這些角色的權(quán)限。

有些讀者可能會(huì)有疑問(wèn),如果去掉角色概念,直接將用戶(hù)與權(quán)限進(jìn)行綁定是否可以減輕工作步驟?對(duì)于人員較少的企業(yè)來(lái)說(shuō)確實(shí)可以,但是對(duì)于中大型企業(yè),組織結(jié)構(gòu)龐大且復(fù)雜,如果再直接將用戶(hù)與權(quán)限綁定,會(huì)造成大量重復(fù)的操作和冗余的權(quán)限數(shù)據(jù)。當(dāng)用戶(hù)身份發(fā)生變更時(shí),還需要重新梳理綁定。所以將權(quán)限封裝成角色,在賦予給指定用戶(hù)和分組,可以大大提升效率和穩(wěn)定性。
為了兼容各種規(guī)模的企業(yè),永洪BI認(rèn)證授權(quán)模塊包含了用戶(hù)管理、分組管理、角色管理和授權(quán)編輯四部分,管理員可選擇直接對(duì)用戶(hù)授權(quán),也可以選擇通過(guò)角色授權(quán)。

在用戶(hù)管理中,管理員可完成對(duì)用戶(hù)的增刪改查操作,維護(hù)用戶(hù)基礎(chǔ)信息,添加分組和角色,以及對(duì)單個(gè)用戶(hù)添加權(quán)限。

分組可以是企業(yè)中的組織架構(gòu),也可以是業(yè)務(wù)群組。永洪BI中分組支持樹(shù)狀的層級(jí)結(jié)構(gòu),管理員可以管理分組的層級(jí),在某個(gè)組內(nèi)添加用戶(hù)。
當(dāng)某個(gè)組內(nèi)的所有用戶(hù)都具有相同角色時(shí),可以將角色直接添加在分組上,根據(jù)繼承原則,分組下的所有用戶(hù)都會(huì)自動(dòng)添加到該角色。同樣管理員也可以對(duì)單個(gè)分組進(jìn)行授權(quán)。

角色可以是企業(yè)中的職位,也可以特指擁有某一類(lèi)權(quán)限集合的對(duì)象,如數(shù)據(jù)管理員主要負(fù)責(zé)數(shù)據(jù)庫(kù)對(duì)接及數(shù)據(jù)處理,運(yùn)維管理員主要負(fù)責(zé)系統(tǒng)運(yùn)行管控等。在角色管理中,管理員可以給角色添加權(quán)限,并將角色添加給指定用戶(hù)和分組。
考慮到不同角色的權(quán)限可能差異不大,所以產(chǎn)品支持角色復(fù)制功能,可以將一個(gè)角色的權(quán)限一鍵復(fù)制給其他多個(gè)角色,管理員再對(duì)其他角色做剩余調(diào)整即可。
產(chǎn)品也默認(rèn)提供了幾個(gè)內(nèi)置角色:
admin_role:超級(jí)管理員,擁有系統(tǒng)所有模塊和資源的權(quán)限,可以管理全部用戶(hù)、組、角色。
groupAdmin_role:組管理員,可以管理所在組內(nèi)的用戶(hù),可以創(chuàng)建角色。其擁有的權(quán)限由admin進(jìn)行指定。
everyone_role:所有用戶(hù)都默認(rèn)擁有的角色,擁有若干基礎(chǔ)操作權(quán)限。
developer_role:報(bào)告管理員,一般為報(bào)告制作人員,用戶(hù)優(yōu)先級(jí)會(huì)自動(dòng)降至較低

授權(quán)編輯模塊提供了另一種授權(quán)角度,即可以從資源層面進(jìn)行授權(quán)。當(dāng)系統(tǒng)新增了一個(gè)資源,涉及若干個(gè)角色的改動(dòng)時(shí),可以直接在資源上進(jìn)行調(diào)整。

繼承規(guī)則也是永洪BI權(quán)限系統(tǒng)的核心之一。在上文中也有提及,用戶(hù)可以繼承其所在父組的權(quán)限和角色,獲得相應(yīng)權(quán)限,也可以繼承其擁有角色的權(quán)限。
利用繼承規(guī)則,可以大大減少重復(fù)授權(quán)的操作,便于權(quán)限的更新與擴(kuò)展,因此需要管理員合理規(guī)劃系統(tǒng)組織架構(gòu),將權(quán)限的最小集合封裝為角色,然后賦予給相關(guān)的分組和用戶(hù)。對(duì)于個(gè)別用戶(hù)擁有額外權(quán)限,可以再單獨(dú)授權(quán)。
產(chǎn)品中通過(guò)頁(yè)面樣式的變化,也可以區(qū)分出權(quán)限的不同狀態(tài):

如果是灰色勾選,說(shuō)明權(quán)限是從分組或角色處繼承而來(lái)。

如果是綠色無(wú)勾選,說(shuō)明擁有文件夾下面某些子項(xiàng)的權(quán)限,但是沒(méi)有父項(xiàng)的權(quán)限。
如果是綠色勾選,說(shuō)明權(quán)限加在自身。
除了對(duì)資源和操作進(jìn)行權(quán)限管控外,數(shù)據(jù)安全管控也是B端產(chǎn)品極為重要的部分,企業(yè)數(shù)據(jù)往往有嚴(yán)格的業(yè)務(wù)等級(jí)劃分,例如銷(xiāo)售經(jīng)理可以查看整個(gè)部門(mén)的銷(xiāo)售數(shù)據(jù),而銷(xiāo)售組長(zhǎng)僅能查看本組的數(shù)據(jù)等。因此永洪BI設(shè)計(jì)支持了數(shù)據(jù)行級(jí)和列級(jí)權(quán)限管理。
行級(jí)權(quán)限可通過(guò)行過(guò)濾器配合內(nèi)置參數(shù)實(shí)現(xiàn)。舉例說(shuō)明:假設(shè)有一張業(yè)務(wù)表A,記錄了北京和上海地區(qū)咖啡和茶兩種商品的總銷(xiāo)量。小明是北京地區(qū)的銷(xiāo)售經(jīng)理,可以查看北京的全部銷(xiāo)售數(shù)據(jù),小紅是上海地區(qū)的銷(xiāo)售經(jīng)理,可以查看上海地區(qū)的全部銷(xiāo)售數(shù)據(jù)。我們可以設(shè)計(jì)權(quán)限表B,將用戶(hù)與地區(qū)一一對(duì)應(yīng)起來(lái),然后通過(guò)內(nèi)置參數(shù)?{_USER_}過(guò)濾出每個(gè)登錄用戶(hù)所對(duì)應(yīng)的地區(qū),在以此作為條件過(guò)濾業(yè)務(wù)表。

業(yè)務(wù)表A過(guò)濾條件:地區(qū) 是 其中一個(gè) ?{region},?{region}賦值為權(quán)限表B的地區(qū)列。

權(quán)限表B過(guò)濾條件:用戶(hù) 是 = ?{_USER_}
列級(jí)權(quán)限較行級(jí)權(quán)限更容易理解和設(shè)置,可以直接在元數(shù)據(jù)界面上添加過(guò)濾對(duì)象,支持過(guò)濾用戶(hù)、組、角色。此外還支持白名單過(guò)濾和黑名單過(guò)濾:黑名單為所選值不可見(jiàn)該字段,白名單則相反。

以上即為永洪BI權(quán)限管理系統(tǒng)設(shè)計(jì)的基本內(nèi)容,希望通過(guò)本文,能讓你對(duì)權(quán)限管控有更深刻的理解。
?