1 引言
數(shù)據(jù)資源作為企業(yè)的核心資產(chǎn),直接關(guān)系到企業(yè)的經(jīng)濟(jì)利益,因此對(duì)數(shù)據(jù)資源訪問(wèn)的安全性保障工作尤為重要。產(chǎn)品數(shù)據(jù)管理PDM(Product Dato Management)系統(tǒng)是設(shè)計(jì)生產(chǎn)型企業(yè)的重要信息系統(tǒng),管理著所有與產(chǎn)品相關(guān)的信息(包括產(chǎn)品的零部件信息、結(jié)構(gòu)配置、文件等)和所有與產(chǎn)品相關(guān)的過(guò)程(包括審批/發(fā)放、工程更改、一般流程、配置管理等)。
目前已有一些PDM系統(tǒng),如TeamCenter、Windchill、e-Matrix、SmartTeam,在航空、能源、船舶制造等領(lǐng)域有著廣泛的應(yīng)用。但是,實(shí)踐過(guò)程中發(fā)現(xiàn)這些系統(tǒng)中存在一個(gè)普遍的問(wèn)題,即文檔訪問(wèn)的速度慢,其主要原因在于大型企業(yè)對(duì)數(shù)據(jù)細(xì)粒度的訪問(wèn)控制造成了大量的計(jì)算。同時(shí),用戶層次多、產(chǎn)品數(shù)據(jù)量大也增加了權(quán)限配置管理上的難度。
本文針對(duì)這一問(wèn)題,結(jié)合在某企業(yè)PDM系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)中的實(shí)踐,給出了一種PDM-RBAC訪問(wèn)控制模型,并設(shè)計(jì)了基于權(quán)限位的訪問(wèn)控制算法,以在滿足訪問(wèn)控制需求的前提下減少計(jì)算時(shí)間,提高文檔訪問(wèn)效率。
本文第2節(jié)介紹了典型的訪問(wèn)控制模型,第3節(jié)結(jié)合某企業(yè)PDM系統(tǒng)對(duì)訪問(wèn)控制的需求,提出了一種PDM-RBAC(PDM Role-Based Access Control)模型;第4節(jié)在PDM-RBAC模型的基礎(chǔ)上給出了一種基于權(quán)限位的訪問(wèn)控制判斷算法,并通過(guò)對(duì)比實(shí)驗(yàn),說(shuō)明了本文算法和模型的有效性;最后對(duì)本文進(jìn)行了總結(jié)。
2 典型的訪問(wèn)控制模型
訪問(wèn)控制技術(shù)是保障信息系統(tǒng)安全的一種重要技術(shù),它是通過(guò)某種途徑顯式地準(zhǔn)許或限制主體對(duì)客體訪問(wèn)能力及范圍的一種方法,通過(guò)對(duì)資源的限制訪問(wèn),防止非法用戶侵入或因?yàn)楹戏ㄓ脩舻牟簧鞑僮鞫斐傻钠茐,從而保證系統(tǒng)資源受控地、合法地使用。
傳統(tǒng)的訪問(wèn)控制有自主訪問(wèn)控制DAC(Discretionary Access Control)和強(qiáng)制訪問(wèn)控制MAC(Mandatory Access Control)。自主訪問(wèn)控制是在確認(rèn)主體身份以及主體所屬組的基礎(chǔ)上對(duì)訪問(wèn)進(jìn)行限制的一種方法。DAC中具有某種訪問(wèn)權(quán)的主體能夠自行決定將其訪問(wèn)權(quán)直接或間接地授予其他主體,它具有很大的靈活性,但是,這種靈活性可能會(huì)導(dǎo)致權(quán)限的傳遞出現(xiàn)失控而導(dǎo)致信息泄露。強(qiáng)制訪問(wèn)控制是強(qiáng)加給主體的一種訪問(wèn)控制方式。MAC為所有的主體和客體分配了敏感標(biāo)簽,利用敏感標(biāo)簽來(lái)確定主體是否可以訪問(wèn)客體的特定信息,如只有當(dāng)主體的敏感等級(jí)高于或等于客體的敏感等級(jí)時(shí),才允許主體訪問(wèn)客體。MAC的主要缺點(diǎn)在于實(shí)現(xiàn)工作量較大,管理不便,對(duì)系統(tǒng)連續(xù)工作能力和授權(quán)的可管理性方面考慮不足;诮巧脑L問(wèn)控制RBAC是當(dāng)前應(yīng)用最為廣泛的訪問(wèn)控制模型,其中引入了角色的概念,用戶與權(quán)限通過(guò)角色相關(guān)聯(lián),使得授權(quán)管理變得簡(jiǎn)單。
企業(yè)的環(huán)境與需求不同,對(duì)訪問(wèn)控制的要求也不同,國(guó)內(nèi)外的計(jì)算機(jī)學(xué)者和技術(shù)人員不斷對(duì)訪問(wèn)控制模型進(jìn)行完善和擴(kuò)展,提出了一些新的模型,如UCON、Privacy-aware role-based access contro、WRPTAC等。其中,使用控制(UCON)模型基于授權(quán)、責(zé)任、條件三大決策因素及主客體屬性實(shí)現(xiàn)動(dòng)靜結(jié)合的授權(quán)策略,包含了DAC、MAC、RBAC、信任管理等,被稱為下一代訪問(wèn)控制模型;Privacy-aware role-based access control提出了一種支持隱私信息訪問(wèn)控制機(jī)制的框架,擴(kuò)展了RBAC模型;WRPTAC是RBAC在工作流中的具體應(yīng)用,是一種新工作流系統(tǒng)的帶權(quán)角色與周期時(shí)間訪問(wèn)模型;空間矢量數(shù)據(jù)細(xì)粒度強(qiáng)制查詢?cè)L問(wèn)控制模型針對(duì)敏感空間地理矢量數(shù)據(jù)形狀不規(guī)則、跨多級(jí)敏感區(qū)域分布的特點(diǎn),對(duì)強(qiáng)制訪問(wèn)控制模型進(jìn)行空間擴(kuò)展,將空間數(shù)據(jù)查詢與安全策略檢索相結(jié)合。本文將要介紹的PDM-RBAC訪問(wèn)控制模型也是對(duì)RBAC模型的一種擴(kuò)展。
3 PDM-RBAC訪問(wèn)控制模型
企業(yè)內(nèi)不同層次的用戶在同一個(gè)PDM集成環(huán)境下工作。產(chǎn)品過(guò)程的每一個(gè)步驟涉及到各種人員,他們?cè)诋a(chǎn)品生命周期中對(duì)數(shù)據(jù)文檔有不同的操作,需要被授予不同的權(quán)限。
結(jié)合在某企業(yè)的實(shí)踐,我們發(fā)現(xiàn),PDM系統(tǒng)訪問(wèn)控制需求的復(fù)雜性主要表現(xiàn)在以下三個(gè)方面:
(1)主體的復(fù)雜性:企業(yè)的用戶層次多、組織結(jié)構(gòu)龐大,導(dǎo)致用戶權(quán)限管理的難度大。
(2)客體的復(fù)雜性:企業(yè)的數(shù)據(jù)資源龐大,制造一個(gè)產(chǎn)品可產(chǎn)生幾十萬(wàn)個(gè)文檔,這些文檔具有多個(gè)屬性,如安全標(biāo)識(shí)、生命周期等。
(3)控制過(guò)程的復(fù)雜性:
①用戶和數(shù)據(jù)資源具有安全標(biāo)識(shí),且用戶不能訪問(wèn)高于自己安全等級(jí)的數(shù)據(jù)資源。
②用戶對(duì)數(shù)據(jù)資源的權(quán)限隨著數(shù)據(jù)資源的生命周期變化而變化,如文檔創(chuàng)建者可以修改處于創(chuàng)建狀態(tài)的文檔,但不能修改處于已發(fā)布狀態(tài)的文檔。
為了實(shí)現(xiàn)上述PDM系統(tǒng)訪問(wèn)控制的需求,本文在RBAC模型的基礎(chǔ)上,使用用戶組層次替代RBAC訪問(wèn)控制模型中的角色層次,并引入了權(quán)限層次結(jié)構(gòu)來(lái)組織權(quán)限,得到了PDM-RBAC模型。圖1和圖2分別展示了PDM-RBAC控制模型的結(jié)構(gòu)和權(quán)限的層次結(jié)構(gòu)。
圖1 PDM-RBAC訪問(wèn)控制模型
圖2 權(quán)限組織結(jié)構(gòu)
下面詳細(xì)描述PDM-RBAC模型的元素和元素間的關(guān)系:
(1)主體User。
用戶是具有某些屬性的實(shí)體,并且持有部分權(quán)限。用戶的屬性決定其是否具有訪問(wèn)某類資源的能力,如組名、角色、安全標(biāo)識(shí)等。
(2)客體Resource。
訪問(wèn)控制的核心功能是保護(hù)系統(tǒng)資源,在PDM系統(tǒng)中受保護(hù)的資源有系統(tǒng)功能和數(shù)據(jù)資源。系統(tǒng)功能有產(chǎn)品配置管理、產(chǎn)品文檔管理、電子倉(cāng)庫(kù)管理、權(quán)限管理等。PDM系統(tǒng)中的數(shù)據(jù)資源多種多樣,如設(shè)計(jì)圖紙、施工圖紙、財(cái)務(wù)文檔等,為了更好地管理如此種類繁多的數(shù)據(jù)資源,具有類似操作權(quán)限的數(shù)據(jù)資源客體可組織成文件夾。
(3)安全標(biāo)識(shí)Security Level。
PDM系統(tǒng)中的部分資源包含敏感信息。安全標(biāo)識(shí)用來(lái)標(biāo)識(shí)具有敏感信息的數(shù)據(jù)資源,用戶不能讀取高于其安全標(biāo)識(shí)的數(shù)據(jù)資源。數(shù)據(jù)資源的安全級(jí)別可分為絕密、機(jī)密、普通等級(jí)別。
(4)操作Operation。
PDM系統(tǒng)中的權(quán)限操作可以分為兩類:第一類操作為讀、寫(xiě)等基本操作,第二類操作為完全控制等組合操作。PDM-RBAC模型中引入了拒絕權(quán)限,例如“拒絕讀”、“拒絕寫(xiě)”等,它的優(yōu)先級(jí)最高,給權(quán)限的配置帶來(lái)了很多方便。例如,要實(shí)現(xiàn)某用戶組除用戶Bob外其他人都有A權(quán)限,安全管理員只需先簡(jiǎn)單地給Bob設(shè)定拒絕A權(quán)限,再設(shè)定組內(nèi)所有成員擁有A權(quán)限則可實(shí)現(xiàn)上述功能。如果不存在拒絕權(quán)限,那么就必須給組內(nèi)其他成員一一賦權(quán)才能實(shí)現(xiàn),由此可見(jiàn),引入拒絕權(quán)限簡(jiǎn)化了系統(tǒng)管理,減少了授權(quán)數(shù)據(jù)量。
(5)角色Role。
角色是一種有利于安全管理員組織權(quán)限的方式,如將一個(gè)用戶分配給另外一個(gè)項(xiàng)目,安全管理員可以簡(jiǎn)單地讓這個(gè)用戶分配到一個(gè)新的角色。PDM系統(tǒng)的角色有系統(tǒng)管理員、安全管理員、業(yè)務(wù)管理員、設(shè)計(jì)人員、總工程師等。
(6)用戶組User Group和用戶組層次結(jié)構(gòu)User Group Hierarchy。
用戶組依據(jù)企業(yè)的組織結(jié)構(gòu)劃分,用戶組層次結(jié)構(gòu)定義企業(yè)的職能繼承關(guān)系。如果用戶組u1包含了用戶組u2,則用戶組u2繼承用戶組u1的所有權(quán)限。采用用戶組層次結(jié)構(gòu)代替角色層次結(jié)構(gòu)有利于安全管理部門(mén)和人力資源部門(mén)的職責(zé)分離。例如,人力資源部門(mén)管理企業(yè)的組織結(jié)構(gòu),如果企業(yè)要建立一個(gè)新的部門(mén),人力資源部門(mén)負(fù)責(zé)部門(mén)的建立,安全管理員只需給該部門(mén)分配某些角色,而無(wú)需建立新的角色層次來(lái)體現(xiàn)企業(yè)結(jié)構(gòu)的變化。同時(shí),采用用戶層次結(jié)構(gòu)可以簡(jiǎn)化授權(quán)工作,PDM系統(tǒng)中包含大量的用戶和角色,如果給每個(gè)用戶分配角色,授權(quán)數(shù)據(jù)庫(kù)必須記錄每一條用戶角色關(guān)系數(shù)據(jù),而現(xiàn)在只需記錄一條用戶組和角色對(duì)應(yīng)的數(shù)據(jù),大大減少了授權(quán)數(shù)據(jù)量。
(7)權(quán)限Permission和權(quán)限層次結(jié)構(gòu)Permission Hierarchy。
權(quán)限是對(duì)PDM系統(tǒng)中受保護(hù)的一個(gè)或多個(gè)客體對(duì)象執(zhí)行操作的許可,由操作、客體以及客體屬性(包括生命周期、客體類型)組成。權(quán)限層次結(jié)構(gòu)定義了PDM系統(tǒng)中數(shù)據(jù)資源之間的繼承語(yǔ)義結(jié)構(gòu),如產(chǎn)品與產(chǎn)品設(shè)計(jì)文檔的關(guān)系。在權(quán)限分配時(shí),給上層權(quán)限賦權(quán)即針對(duì)該上層權(quán)限所有的子權(quán)限賦權(quán),而對(duì)子權(quán)限賦權(quán)只是針對(duì)子權(quán)限本身賦權(quán)。在PDM實(shí)際應(yīng)用中,對(duì)用戶賦權(quán)即指派用戶去完成一系列的組合權(quán)限,安全管理員可以給用戶分配上層權(quán)限,即可實(shí)現(xiàn)用戶對(duì)所有下層權(quán)限的配置,簡(jiǎn)化了授權(quán)工作。圖2是產(chǎn)品數(shù)據(jù)權(quán)限層次結(jié)構(gòu)的例子,產(chǎn)品包含了設(shè)計(jì)數(shù)據(jù)、財(cái)務(wù)數(shù)據(jù),項(xiàng)目、產(chǎn)品、產(chǎn)品設(shè)計(jì)文檔、CAD圖紙等,這些數(shù)據(jù)資源都處于不同的權(quán)限層次,項(xiàng)目對(duì)象的權(quán)限適用于下層各個(gè)對(duì)象,如產(chǎn)品、產(chǎn)品設(shè)計(jì)文檔等。
(8)會(huì)話SESSION。
會(huì)話(SESSIONS)是用戶與激活的角色集合之間的映射,一個(gè)用戶建立一個(gè)會(huì)話時(shí),可以激活不同的角色。
用戶組角色分配(UGA)、角色權(quán)限分配(PA)、用戶與用戶組分配、會(huì)話角色、用戶會(huì)話是PDM-RBAC模型元素間的重要關(guān)系。在PDM系統(tǒng)中,用戶組與角色,角色和權(quán)限是多對(duì)多的關(guān)系。例如,一個(gè)用戶組可以擁有一個(gè)或多個(gè)角色,而一個(gè)角色也可以被分配給一個(gè)或多個(gè)用戶組;一個(gè)角色可以訪問(wèn)一個(gè)或多個(gè)資源,而一個(gè)資源也可以被一個(gè)或多個(gè)角色訪問(wèn)。這種方式帶來(lái)了給角色分配權(quán)限和給角色分配用戶組時(shí)的靈活性和細(xì)粒度。
4 基于權(quán)限位的訪問(wèn)控制判斷算法
上述PDM-RBAC模型存在正負(fù)權(quán)限(賦予為正權(quán)限,拒絕為負(fù)權(quán)限),系統(tǒng)權(quán)限配置中會(huì)出現(xiàn)相同主體對(duì)客體具有互斥的權(quán)限。例如,某項(xiàng)配置要求主體執(zhí)行某項(xiàng)操作,而另一項(xiàng)配置卻禁止主體執(zhí)行此項(xiàng)操作。為了解決正負(fù)權(quán)限的策略沖突問(wèn)題,并實(shí)現(xiàn)某用戶各種角色權(quán)限的合并計(jì)算,本節(jié)給出權(quán)限操作位的定義和基于權(quán)限位的計(jì)算方法。
4.1 權(quán)限操作定義
PDM系統(tǒng)中可獨(dú)立賦予的數(shù)據(jù)權(quán)限操作有讀取、修改、刪除、設(shè)定安全標(biāo)識(shí)。每個(gè)權(quán)限操作有三種狀態(tài):有、無(wú)、拒絕。本文采用兩位二進(jìn)制編碼來(lái)表示操作狀態(tài)。由于“拒絕”權(quán)限具有優(yōu)先否決權(quán),在整個(gè)運(yùn)算過(guò)程中拒絕的狀態(tài)保持不變,二進(jìn)制代碼11與其它兩位二進(jìn)制碼(00,01,10)進(jìn)行按位或運(yùn)算后的結(jié)果仍然是11,狀態(tài)不發(fā)生改變,所以我們?nèi)?1為“拒絕”權(quán)限的狀態(tài)標(biāo)識(shí)。由此得出以下權(quán)限操作的狀態(tài)設(shè)置:
(1)11:拒絕操作權(quán)限狀態(tài);
(2)00:沒(méi)有配置操作權(quán)限狀態(tài);
(3)01:具有操作權(quán)限狀態(tài)。
表1列出了各種權(quán)限操作的二進(jìn)制代碼值。
表1 權(quán)限操作代碼
其中,“讀取”操作狀態(tài)為1、2位;“修改”操作狀態(tài)為3、4位;“刪除”操作狀態(tài)為5、6位;“設(shè)定安全標(biāo)識(shí)”操作狀態(tài)為7、8位。由此得出全部控制為01010101,拒絕設(shè)定安全標(biāo)識(shí)為11000000,設(shè)定安全標(biāo)識(shí)為01000000,讀取為00000001。
4.2 基于權(quán)限位的訪問(wèn)權(quán)限計(jì)算
PDM系統(tǒng)中一個(gè)用戶可以有多個(gè)角色,用戶所屬的用戶組又可能有新的角色分配,這些角色對(duì)某個(gè)資源可能都有權(quán)限配置,因此需要對(duì)這些權(quán)限配置進(jìn)行合并計(jì)算;谏鲜鰴(quán)限位操作定義下的某用戶訪問(wèn)權(quán)限計(jì)算方法,如算法1所示:
算法1基于權(quán)限位的訪問(wèn)權(quán)限計(jì)算
4.3 實(shí)驗(yàn)結(jié)果
基于PDM-RBAC模型和基于權(quán)限位的訪問(wèn)控制判斷算法,本文以某企業(yè)為例,設(shè)定PDM系統(tǒng)中用戶100 000個(gè)、用戶組1 000個(gè)、角色200個(gè),并參照企業(yè)的安全管理策略,就RBAC和PDM-RBAC兩種訪問(wèn)控制方法對(duì)PDM系統(tǒng)性能影響,實(shí)施了隨著數(shù)據(jù)資源的增加,授權(quán)數(shù)據(jù)量和訪問(wèn)時(shí)間變化的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖3和圖4所示。圖3顯示,隨著數(shù)據(jù)資源規(guī)模的增加,PDM-RBAC的授權(quán)數(shù)據(jù)量遠(yuǎn)小于RBAC中的授權(quán)數(shù)據(jù)量。圖4顯示,不同的訪問(wèn)控制方法所花費(fèi)的時(shí)間不一樣,其中PDM-RBAC隨著數(shù)據(jù)規(guī)模的增加,訪問(wèn)權(quán)限的計(jì)算時(shí)間趨向穩(wěn)定,且保持在3.5秒以下;RBAC模型中的計(jì)算時(shí)間隨著數(shù)據(jù)規(guī)模的增加線性增長(zhǎng)。由此可以看出,PDM-RBAC模型和基于權(quán)限位的訪問(wèn)權(quán)限計(jì)算在大型信息系統(tǒng)的權(quán)限管理中具有高效性。
圖3 授權(quán)數(shù)據(jù)量對(duì)比圖
圖4 運(yùn)行時(shí)間對(duì)比圖
5 結(jié)束語(yǔ)
本文分析了某企業(yè)的PDM訪問(wèn)控制需求,針對(duì)其復(fù)雜性,在已有的RBAC模型基礎(chǔ)上,提出了PDM-RBAC模型。該模型的用戶組層次有利于企業(yè)的職責(zé)分離,簡(jiǎn)化了安全管理員的管理工作;權(quán)限層次結(jié)構(gòu)可以有效地組織數(shù)據(jù)權(quán)限和減少授權(quán)數(shù)據(jù)量。同時(shí),針對(duì)系統(tǒng)中存在的正負(fù)權(quán)限沖突,引入了權(quán)限位的訪問(wèn)決策合并算法。實(shí)驗(yàn)結(jié)果表明,該模型和算法在大型信息系統(tǒng)的權(quán)限管理中具有高效性。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:一種面向PDM系統(tǒng)基于權(quán)限位的訪問(wèn)控制方法
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401938611.html