權(quán)限體系是所有BI產(chǎn)品都會(huì)涉及的一個(gè)重要組成部分,目的是對(duì)不同的人訪問(wèn)資源進(jìn)行權(quán)限控制,避免因權(quán)限控制缺失或操作不當(dāng)引發(fā)的風(fēng)險(xiǎn),如隱私數(shù)據(jù)泄露等問(wèn)題。有數(shù)BI權(quán)限體系設(shè)計(jì)的初衷,希望它既能滿足實(shí)際業(yè)務(wù)中的復(fù)雜場(chǎng)景,又能簡(jiǎn)潔易用,今天我們將詳細(xì)介紹有數(shù)BI的權(quán)限體系!
角色模型
對(duì)于權(quán)限管理,最簡(jiǎn)單的辦法就是給每個(gè)用戶配不同的權(quán)限,但這樣的設(shè)計(jì)在用戶較多時(shí)維護(hù)起來(lái)就顯得非常力不從心。于是很多人想到在用戶和權(quán)限之間增加一個(gè)角色,也就是迄今為止最為普及的權(quán)限設(shè)計(jì)模型,即RBAC(Role Based Access Control,基于角色的權(quán)限訪問(wèn)控制)權(quán)限模型。
RBAC模型認(rèn)為權(quán)限授權(quán)實(shí)際上是Who、What、How的問(wèn)題。在RBAC模型中,Who、What、How構(gòu)成了訪問(wèn)權(quán)限三元組,也就是“Who(權(quán)限的擁用者或主體)對(duì)What(權(quán)限針對(duì)的對(duì)象或資源)進(jìn)行How(具體的權(quán)限)的操作”。換句話講,在RBAC模型中,是通過(guò)控制“Who對(duì)What進(jìn)行How的操作”來(lái)實(shí)現(xiàn)讓不同的用戶/用戶組對(duì)不同的資源擁有不同的操作/數(shù)據(jù)權(quán)限的目的。
我們的權(quán)限體系即是依據(jù)RBAC模型思想所設(shè)計(jì)的,相關(guān)概念包括權(quán)限,角色和用戶。角色與權(quán)限綁定,即項(xiàng)目中用戶的權(quán)限與其被賦予的角色相關(guān)。一個(gè)用戶可以擁有多個(gè)角色,一個(gè)角色也可以被添加給多個(gè)用戶,每個(gè)角色可以被賦予多個(gè)權(quán)限。以下圖所示的結(jié)構(gòu)為例,用戶1只擁有角色1的權(quán)限,即對(duì)資源1進(jìn)行操作1;而由于用戶3擁有3個(gè)角色全部的權(quán)限,因此該用戶可以對(duì)資源1和資源2分別進(jìn)行操作1和操作2。
現(xiàn)在,有數(shù)BI的權(quán)限體系已經(jīng)擁有了基礎(chǔ)的RBAC模型思想,但還遠(yuǎn)遠(yuǎn)不夠。通過(guò)市場(chǎng)分析,我們發(fā)現(xiàn)企業(yè)在使用權(quán)限體系的過(guò)程中,大多繞不開三大難題:
組織規(guī)模達(dá)到一定程度后,需要管理的資源數(shù)量龐大,同時(shí)對(duì)權(quán)限要求又很高時(shí),需設(shè)置非常細(xì)粒度的權(quán)限,導(dǎo)致整個(gè)權(quán)限體系顯得十分零散和無(wú)序,產(chǎn)生大量的維護(hù)成本;
而為了保證數(shù)據(jù)安全,這樣的權(quán)限體系往往是由權(quán)限最高的少數(shù)管理員來(lái)配置組織內(nèi)部全體成員的權(quán)限,給管理員帶來(lái)巨大的工作量;
同時(shí),在設(shè)置針對(duì)個(gè)人的不同數(shù)據(jù)權(quán)限時(shí),其復(fù)雜程度更是呈幾何增長(zhǎng),且當(dāng)人員變更時(shí),針對(duì)每個(gè)數(shù)據(jù)集需要重新配置行級(jí)權(quán)限,造成大量的權(quán)限重復(fù)配置操作。
那么為了解決這些難題,有數(shù)BI的權(quán)限體系是如何設(shè)計(jì)的呢?接下來(lái),本文將圍繞這些難題,給出我們的解決方案!
資源權(quán)限
1.基于角色,統(tǒng)一管理
不同于市面上其他的BI產(chǎn)品,有數(shù)BI中資源權(quán)限的設(shè)置和賦予完全通過(guò)角色來(lái)實(shí)現(xiàn),這樣的設(shè)計(jì)可以幫助用戶基于角色來(lái)實(shí)現(xiàn)權(quán)限的統(tǒng)一管理,極大降低企業(yè)設(shè)置權(quán)限體系的復(fù)雜程度。例如,企業(yè)內(nèi)各人員的資源權(quán)限往往是根據(jù)企業(yè)組織架構(gòu)來(lái)對(duì)應(yīng)設(shè)置的,當(dāng)組織人員變動(dòng)時(shí),在權(quán)限體系中只需將該用戶所擁有的角色變更為對(duì)應(yīng)組織架構(gòu)角色,就能一鍵實(shí)現(xiàn)資源權(quán)限的變更。
通過(guò)對(duì)資源權(quán)限和數(shù)據(jù)權(quán)限的組合設(shè)置,簡(jiǎn)單勾選即可創(chuàng)建角色,并將對(duì)應(yīng)成員添加到該角色下面,輕松搭建靈活、簡(jiǎn)潔的權(quán)限體系!
2.分級(jí)授權(quán),靈活應(yīng)用
現(xiàn)實(shí)場(chǎng)景中,當(dāng)企業(yè)發(fā)展到一定程度時(shí),往往擁有多層組織架構(gòu),而在傳統(tǒng)的RBAC模型中,往往都只能由一個(gè)權(quán)限最高的用戶(一般為管理員)來(lái)創(chuàng)建所有角色,對(duì)所有用戶進(jìn)行權(quán)限的授予,進(jìn)行權(quán)限體系的維護(hù)工作,這樣導(dǎo)致管理員工作量過(guò)大。同時(shí),企業(yè)里不同的業(yè)務(wù)線,或者不同的業(yè)務(wù)部門都有數(shù)據(jù)分析需求,如果無(wú)法將不同業(yè)務(wù)線或部門資源分隔開,將對(duì)資源的整理和權(quán)限配置帶來(lái)巨大挑戰(zhàn)。
基于上述情況,有數(shù)BI提供了“項(xiàng)目+二級(jí)管理員”的多項(xiàng)目結(jié)合分級(jí)授權(quán)體系。首先,企業(yè)可以為不同的業(yè)務(wù)部門建立不同的項(xiàng)目,通過(guò)“項(xiàng)目列表”在不同的項(xiàng)目前切換,項(xiàng)目管理員擁有該項(xiàng)目?jī)?nèi)所有資源的所有權(quán)限。其次,通過(guò)二級(jí)管理員的設(shè)置來(lái)實(shí)現(xiàn)二級(jí)授權(quán),項(xiàng)目管理員可以將部分資源的授予權(quán)限賦予該二級(jí)管理員,由二級(jí)管理員來(lái)管理對(duì)應(yīng)的資源。多租戶結(jié)合分級(jí)授權(quán)體系可以幫助用戶創(chuàng)建非常豐富立體的權(quán)限分配體系。
具體來(lái)看,有數(shù)BI將角色分成三類:系統(tǒng)角色、一級(jí)角色和二級(jí)角色。
系統(tǒng)角色包括:項(xiàng)目管理員、二級(jí)管理員、編輯者、閱覽者,系統(tǒng)角色無(wú)法編輯、修改和刪除。編輯者可以查看或編輯所有的資源;閱覽者僅可以查看所有資源。
一級(jí)角色和二級(jí)角色由項(xiàng)目管理員和二級(jí)管理員創(chuàng)建,一級(jí)角色可以擁有編輯權(quán)限,二級(jí)角色只能擁有閱覽權(quán)限。
數(shù)據(jù)權(quán)限
1.行列權(quán)限,精準(zhǔn)定位
數(shù)據(jù)安全對(duì)于企業(yè)的重要性不言而喻。數(shù)據(jù)權(quán)限解決的便是用戶能看到多少數(shù)據(jù)量和什么數(shù)據(jù)的問(wèn)題。現(xiàn)實(shí)場(chǎng)景中,企業(yè)往往有大量業(yè)務(wù)數(shù)據(jù)和權(quán)限需求,在設(shè)置數(shù)據(jù)權(quán)限時(shí),如何實(shí)現(xiàn)數(shù)據(jù)權(quán)限的精準(zhǔn)定位,是有數(shù)BI在設(shè)計(jì)數(shù)據(jù)權(quán)限時(shí)所考慮的重要方面。因此,有數(shù)BI提供行和列級(jí)別的數(shù)據(jù)權(quán)限控制粒度,通過(guò)對(duì)同一張表進(jìn)行行權(quán)限和列權(quán)限的配置,就可以精準(zhǔn)實(shí)現(xiàn)數(shù)據(jù)權(quán)限的高效配置。
假設(shè)這樣一個(gè)場(chǎng)景:小王的公司在“東北、華北、華東、華南”四個(gè)大區(qū)都有銷售人員,他希望不同大區(qū)的銷售訪問(wèn)同一張報(bào)告時(shí)候,都只能看到自己所屬大區(qū)的數(shù)據(jù),在有數(shù)BI中,用“數(shù)據(jù)行級(jí)權(quán)限”可以實(shí)現(xiàn)這樣的需求:我們可以創(chuàng)建4個(gè)“數(shù)據(jù)行級(jí)權(quán)限”,每個(gè)“數(shù)據(jù)行級(jí)權(quán)限”只能訪問(wèn)一個(gè)大區(qū)的數(shù)據(jù),然后給不同大區(qū)的銷售人員分配對(duì)應(yīng)的“數(shù)據(jù)行級(jí)權(quán)限”。如東北大區(qū)的銷售人員只能看到“東北”地區(qū)的數(shù)據(jù),我們可以建立一個(gè)“數(shù)據(jù)行級(jí)權(quán)限”,然后設(shè)置數(shù)據(jù)訪問(wèn)權(quán)限,只允許該角色成員訪問(wèn)“東北”地區(qū)的數(shù)據(jù),然后將該“數(shù)據(jù)行級(jí)權(quán)限”賦予東北大區(qū)的銷售人員即可。
2.屬性對(duì)應(yīng),動(dòng)態(tài)匹配
使用上述方法時(shí),當(dāng)我們存在多少個(gè)大區(qū),我們就需要?jiǎng)?chuàng)建對(duì)應(yīng)數(shù)量的“數(shù)據(jù)行級(jí)權(quán)限”。當(dāng)組織人員規(guī)模達(dá)到一定程度后,管理復(fù)雜度往往呈幾何增長(zhǎng),這樣的設(shè)置方式必然需要大量的時(shí)間成本和人力成本來(lái)維護(hù)。同時(shí),考慮到組織內(nèi)不同人員所能擁有的數(shù)據(jù)權(quán)限往往與TA所在的部門、崗位或地區(qū)有一定的映射關(guān)系,那么,能否提供一種簡(jiǎn)便的設(shè)置路徑,能夠直接對(duì)不同部門的用戶匹配不同的行級(jí)權(quán)限呢?
基于此,我們?cè)跀?shù)據(jù)權(quán)限的創(chuàng)建頁(yè)提供了固定值和屬性值的配置選項(xiàng),當(dāng)選擇屬性值時(shí),就可以通過(guò)設(shè)置屬性值與對(duì)應(yīng)字段的匹配,例如將“屬性值-地區(qū)”與字段“地區(qū)匹配”,就能讓不同地區(qū)的成員只能看到對(duì)應(yīng)地區(qū)的數(shù)據(jù),從而極大提高行級(jí)授權(quán)的管理效率。
1. 首先,企業(yè)域管理-人員信息-屬性列表-設(shè)置一個(gè)屬性值“地區(qū)”,在對(duì)應(yīng)用戶后輸入東北或其他地區(qū)。
2. 創(chuàng)建一個(gè)“數(shù)據(jù)行級(jí)權(quán)限”,選擇要設(shè)置權(quán)限的數(shù)據(jù)連接,設(shè)置方式選擇“動(dòng)態(tài)值”,選擇要設(shè)置權(quán)限的表跟字段,選擇要匹配的用戶屬性,在本例中,即將“地區(qū)”字段匹配“地區(qū)”屬性。
3. 保存后,將該“數(shù)據(jù)行級(jí)權(quán)限”分配給所有用戶,則每個(gè)用戶訪問(wèn)報(bào)告時(shí)會(huì)根據(jù)該用戶所在大區(qū)來(lái)篩選數(shù)據(jù),只能看到自己大區(qū)的數(shù)據(jù)。
(未設(shè)置數(shù)據(jù)權(quán)限)
(設(shè)置了數(shù)據(jù)權(quán)限)
結(jié)語(yǔ)
為了應(yīng)對(duì)更多復(fù)雜各異的組織架構(gòu)和管理體系,我們?nèi)匀辉诓煌5靥剿髦小>唧w來(lái)說(shuō),目前的分級(jí)授權(quán)體系僅支持對(duì)資源的分級(jí)授權(quán),還無(wú)法做到對(duì)數(shù)據(jù)權(quán)限的分級(jí)授權(quán),我們正在積極尋找更完美的解決辦法,在保持用戶低使用成本和高數(shù)據(jù)安全的同時(shí),實(shí)現(xiàn)更高的靈活性。
編輯:jq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7145瀏覽量
89591 -
RBAC
+關(guān)注
關(guān)注
0文章
44瀏覽量
9989
原文標(biāo)題:權(quán)限體系設(shè)計(jì) : 網(wǎng)易有數(shù) BI 功能品鑒
文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
linux權(quán)限管理詳解
華納云:設(shè)置RBAC權(quán)限的方法
Linux文件權(quán)限詳解
Linux用戶身份與進(jìn)程權(quán)限詳解
![Linux用戶身份與進(jìn)程<b class='flag-5'>權(quán)限</b>詳解](https://file1.elecfans.com/web2/M00/0A/EE/wKgaomcYcOeAOFTIAAAlR6hIpxM398.png)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):聲明權(quán)限
![鴻蒙開發(fā)Ability Kit程序框架服務(wù):聲明<b class='flag-5'>權(quán)限</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)組件:DataAbility權(quán)限控制
![鴻蒙開發(fā)組件:DataAbility<b class='flag-5'>權(quán)限</b>控制](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開發(fā)應(yīng)用權(quán)限列表三
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開發(fā)應(yīng)用權(quán)限列表二
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開發(fā)應(yīng)用權(quán)限列表一
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開發(fā)等級(jí)和類型
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開發(fā)場(chǎng)景與權(quán)限聲明
BI數(shù)據(jù)分析軟件:行業(yè)趨勢(shì)與功能特點(diǎn)剖析
![<b class='flag-5'>BI</b>數(shù)據(jù)分析軟件:行業(yè)趨勢(shì)與功能特點(diǎn)<b class='flag-5'>剖析</b>](https://file1.elecfans.com/web2/M00/C1/52/wKgaomXVWGCAPENrAAL7DKnKwVM480.png)
Domo與Tableau和Power BI?前Tableau工程師建議最大化BI工具潛能
![Domo與Tableau和Power <b class='flag-5'>BI</b>?前Tableau工程師建議最大化<b class='flag-5'>BI</b>工具潛能](https://file.elecfans.com/web2/M00/3F/D7/poYBAGJqPMKAEXjWAAAOpepuZJ8475.jpg)
AWTK 開源串口屏開發(fā)(9) - 用戶和權(quán)限管理
![AWTK 開源串口屏開發(fā)(9) - 用戶和<b class='flag-5'>權(quán)限</b>管理](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評(píng)論