我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁(yè) > CAD新聞

PLM中工作流的訪問(wèn)控制模型

時(shí)間:2011-02-26 19:31:00 來(lái)源:

引言

產(chǎn)品生命周期管理(Product Lifecycle Management, PLM)系統(tǒng)貫穿于產(chǎn)品的整個(gè)生命周期,涉及產(chǎn)品的開發(fā)、生產(chǎn)、打包和分配等各種流程,在執(zhí)行業(yè)務(wù)流程時(shí),各種文檔和數(shù)據(jù)在流程中傳播,如何確保這些信息的安全就變得十分重要。

訪問(wèn)控制是保證 信息安全 的一種主要手段,目前應(yīng)用最廣泛的訪問(wèn)控制模式是基于角色的訪問(wèn)控制。1996年,文獻(xiàn)3提出了一系列的模型,形成了RBAC96標(biāo)準(zhǔn),RBAC被引人工作流管理系統(tǒng)領(lǐng)域后,由于并不能很好地適應(yīng)工作流環(huán)境,很多研究人員都提出了各自的改進(jìn)方案;文獻(xiàn)[4]提出用PetriNets來(lái)表示授權(quán)模型,強(qiáng)調(diào)了角色和任務(wù)兩個(gè)概念;文獻(xiàn)[5]總結(jié)了工作流管理系統(tǒng)中的各種約束和規(guī)范,并進(jìn)一步提出了相應(yīng)的語(yǔ)言算法來(lái)描述和驗(yàn)證。

PLM系統(tǒng)的訪問(wèn)控制一般偏向傳統(tǒng)的文檔管理和用戶管理,采用基于角色的訪問(wèn)控制。這種授權(quán)模式基本上是靜態(tài)的,用戶在登陸了系統(tǒng)后就被賦予了固定的權(quán)限,該權(quán)限在其退出系統(tǒng)之前都不會(huì)改變。但這種模式不能滿足工作流管理系統(tǒng)中動(dòng)態(tài)授權(quán)的要求。在流程中,權(quán)限和上下文相關(guān)聯(lián),在不同的上下文中,同一個(gè)角色的權(quán)限可能不同。

本文在 PLM系統(tǒng)原有的 RBAC基礎(chǔ)上,引人基于流程實(shí)例的對(duì)象組。通過(guò)用對(duì)象組管理在流程中使用的數(shù)據(jù)對(duì)象,不僅可以實(shí)現(xiàn)工作流中的動(dòng)態(tài)授權(quán),還可以增加授權(quán)的靈活性,細(xì)化授權(quán)粒度。下面將討論在 PLM 系統(tǒng)中,工作流管理系統(tǒng)的特殊訪問(wèn)控制需求,并以筆者開發(fā)的TiPLM系統(tǒng)為例,討論如何實(shí)現(xiàn)它的訪問(wèn)控制機(jī)制。

1PLM系統(tǒng)中工作流管理系統(tǒng)的訪問(wèn)控制需求

PLM系統(tǒng)需要管理整個(gè)企業(yè)的各種信息和數(shù)據(jù),包括員工信息、生產(chǎn)信息和產(chǎn)品信息等。而產(chǎn)品信息又包括文檔、圖紙、零件、工藝以及它們之間的各種關(guān)聯(lián)。這些信息只有參與到流程中,才能完全達(dá)到PLM在企業(yè)信息化中的目的。流程是為了完成某個(gè)目的而相互連接的活動(dòng)或任務(wù)的集合,流程中的數(shù)據(jù)對(duì)象將伴隨流程在企業(yè)各部門之間流動(dòng)。這樣,一方面加快了信息的流通,另一方面也引人了新的安全需求。本文將主要從 3個(gè)方面討論 PLM中工作流的訪問(wèn)控制。

(1)共同授權(quán)由于集成或內(nèi)嵌于 PLM 系統(tǒng),工作流管理系統(tǒng)需要和 PLM 系統(tǒng)共同完成授權(quán)。PLM系統(tǒng)在文檔管理等方面已經(jīng)很成熟了,它可以很好地控制每個(gè)用戶對(duì)不同類型數(shù)據(jù)的權(quán)限,還能區(qū)分文檔、圖表等對(duì)象所處的狀態(tài)。例如,如果對(duì)象處于檢人狀態(tài),就沒(méi)有修改、刪除等權(quán)限,而對(duì)象只有處于定版狀態(tài)才能進(jìn)行升版操作。如果完全摒棄PLM系統(tǒng)原有的授權(quán)體系,由工作流管理系統(tǒng)單獨(dú)授權(quán),將會(huì)極大地增加系統(tǒng)復(fù)雜度。因此,PLM系統(tǒng)分擔(dān)工作流管理系統(tǒng)部分授權(quán),兩者協(xié)同工作完成授權(quán),才是最好的辦法。

(2)動(dòng)態(tài)授權(quán) 隨著流程運(yùn)行到不同的任務(wù)節(jié)點(diǎn),流程參與者所擁有的權(quán)限是變化的。以一個(gè)典型的流程為例,如圖 1所示。圖中是一個(gè)審批流程模板,包括 4個(gè)任務(wù)節(jié)點(diǎn)和 1個(gè)路由節(jié)點(diǎn)。1個(gè)用戶擁有"設(shè)計(jì)員"這個(gè)角色,但其在執(zhí)行"設(shè)計(jì)圖編制"和"工藝圖編制"這兩個(gè)任務(wù)時(shí),能訪問(wèn)的對(duì)象應(yīng)該不一樣。而某個(gè)用戶在 PLM 系統(tǒng)中也許不具備訪問(wèn)"設(shè)計(jì)圖紙"的權(quán)限,但是如果被分配執(zhí)行"審核"這個(gè)任務(wù),就有權(quán)限訪問(wèn)設(shè)計(jì)圖紙,而且是只能在開始執(zhí)行這個(gè)任務(wù)時(shí)賦予訪問(wèn)權(quán)限,任務(wù)結(jié)束后就不再具備訪問(wèn)權(quán)限了。由此可以看出,流程中的授權(quán)是動(dòng)態(tài)的,即使同一角色,在不同的流程中擁有的權(quán)限也是不同的,甚至在同一流程的不同活動(dòng)節(jié)點(diǎn),擁有的權(quán)限也可能不一樣。

(3)最小授權(quán)指授予用戶的權(quán)限恰好能夠完成這個(gè)任務(wù)。例如,在該流程中,"審核"節(jié)點(diǎn)的執(zhí)行人只需要訪問(wèn)設(shè)計(jì)圖和工藝圖,而且由于只是審核圖紙,執(zhí)行人也不能擁有"修改"和"刪除"等權(quán)限。如果給客戶授予了過(guò)大的權(quán)限,就會(huì)造成權(quán)限的泄漏;如果權(quán)限過(guò)小,則用戶無(wú)法成功完成任務(wù),造成流程的死鎖。因此,最小授權(quán)是指用戶恰好能完成任務(wù)的最小權(quán)限。

newmaker.com

2 PLM系統(tǒng)中工作流管理系統(tǒng)的訪問(wèn)控制模型

2.1 PLM系統(tǒng)的訪問(wèn)控制

PLM系統(tǒng)采用的是基于角色的訪問(wèn)控制模式,對(duì)它的描述如下U為所有的用戶集合,u為一個(gè)具體的用戶。R為所有的角色集合,r為一個(gè)具體的角色。O為所有對(duì)象的集合,o為一個(gè)具體的對(duì)象,在PLM系統(tǒng)中,對(duì)象指系統(tǒng)管理的各種數(shù)據(jù),如數(shù)量龐大的文檔以及他們之間復(fù)雜的關(guān)系。C為所有類的集合。c為一個(gè)具體的類。PLM系統(tǒng)管理的對(duì)象雖然很多,但是他們可以按照類別來(lái)劃分,如分成組織、產(chǎn)品、文檔和圖表等不同大類;而這些大類又可以繼續(xù)劃分成更小的子類,如"產(chǎn)品"又可以繼續(xù)劃分成定制件、自制件等。P為所有權(quán)限的集合,p為某一項(xiàng)權(quán)限。

newmaker.com

2.2 基于流程實(shí)例的對(duì)象組

以圖1的流程為例,可以通過(guò)工作流管理系統(tǒng)(WorkflowManagement System, WfMS )中的流程定義工具把它構(gòu)建成一個(gè)流程模板。當(dāng)需要進(jìn)行審批任務(wù)時(shí),再把這個(gè)流程模板實(shí)例化,成為具體運(yùn)行的一個(gè)業(yè)務(wù)流程實(shí)例。每次要審批的對(duì)象是不一樣的,而且在審批過(guò)程中,需要用到的對(duì)象也是不一樣的。由于同一流程模板對(duì)應(yīng)的流程實(shí)例在運(yùn)行時(shí)用到的對(duì)象可能會(huì)不相同,無(wú)法在定義流程模板時(shí)將權(quán)限授予具體的對(duì)象。但是實(shí)際上,每個(gè)任務(wù)節(jié)點(diǎn)需要訪問(wèn)的類是可以知道的,如"設(shè)計(jì)圖編制"只需要訪問(wèn)"圖紙"類的對(duì)象即可知道。所以,在每個(gè)活動(dòng)中只能定義某一類的對(duì)象所能授予的權(quán)限,這樣,授權(quán)的粒度就會(huì)不夠,如 "圖紙"類包含了各種圖紙對(duì)象,在任務(wù)"工藝圖編制"中需要訪問(wèn)"圖紙"類中的工藝圖紙,卻不能訪問(wèn)設(shè)計(jì)圖紙,因此如果允許用戶在執(zhí)行"工藝圖編制"時(shí)訪問(wèn)"圖紙"類,則所給的權(quán)限過(guò)大,如果不允許訪問(wèn)"圖紙"類,又無(wú)法完成這個(gè)任務(wù),造成流程的死鎖。為了更進(jìn)一步地進(jìn)行權(quán)限控制,本文引人基于流程實(shí)例的對(duì)象組這個(gè)概念。

對(duì)象組是一個(gè)用來(lái)存放流程中用到對(duì)象(如文檔和圖紙等)的暫時(shí)容器(container),需要注意的是,對(duì)象的管理者還是 PLM系統(tǒng),對(duì)象組中添加的只是對(duì)象引用。每個(gè)對(duì)象組只能屬于一個(gè)流程,而一個(gè)流程內(nèi)可以定義多個(gè)對(duì)象組。真正直接和對(duì)象組相關(guān)聯(lián)的是流程中的任務(wù)節(jié)點(diǎn),可以定義每個(gè)任務(wù)節(jié)點(diǎn)允許使用這個(gè)流程中的哪幾個(gè)對(duì)象組。一個(gè)對(duì)象組允許在多個(gè)活動(dòng)節(jié)點(diǎn)被使用,一個(gè)對(duì)象組只在它屬于的流程實(shí)例內(nèi)有效,不同流程實(shí)例的對(duì)象組完全沒(méi)有關(guān)系。因此,對(duì)于不同流程實(shí)例,對(duì)象組相當(dāng)于一個(gè)局部變量,但是在流程實(shí)例的內(nèi)部,一個(gè)對(duì)象組又將貫穿于各個(gè)任務(wù)節(jié)點(diǎn),每一次往這個(gè)對(duì)象組里添加刪除對(duì)象,都將影響到下次對(duì)這個(gè)對(duì)象組的使用,這時(shí)對(duì)象組又相當(dāng)于一個(gè)全局變量。

每個(gè)對(duì)象組內(nèi)的對(duì)象可以按照類別授權(quán)。同一務(wù)節(jié)點(diǎn)的不同對(duì)象組可以有不同的權(quán)限,同一對(duì)象組在和它關(guān)聯(lián)的不同任務(wù)節(jié)點(diǎn)也可以有不同的權(quán)限。這樣,一個(gè)任務(wù)節(jié)點(diǎn)需要使用的對(duì)象,即使屬于同一個(gè)類,如果他們屬于不同的對(duì)象組,權(quán)限也可以不同。通過(guò)對(duì)象組,可以進(jìn)一步精細(xì)授權(quán)的粒度。

以上文中的場(chǎng)景為例,可以在流程中定義兩個(gè)對(duì)象組,命名為"工藝圖對(duì)象組"(dgo)和"設(shè)計(jì)圖對(duì)象組"dg2),分別容納流程中屬于"工藝圖紙"和"設(shè)計(jì)圖紙"這兩個(gè)類的對(duì)象。定義任務(wù)節(jié)點(diǎn)"設(shè)計(jì)圖編制"(t1)和對(duì)象組dg1關(guān)聯(lián),任務(wù)節(jié)點(diǎn)"工藝圖編制"(t2)和對(duì)象組 dg1,dg2關(guān)聯(lián)。在任務(wù)節(jié)點(diǎn) t1中,由于dg1中容納的是"設(shè)計(jì)圖紙"對(duì)象,定義任務(wù)t2的執(zhí)行人允許對(duì)dg1中的對(duì)象進(jìn)行創(chuàng)建、瀏覽、修改和刪除,而任務(wù)節(jié)點(diǎn)t:中,工業(yè)圖紙編制人員需要參考設(shè)計(jì)圖紙,但不能對(duì)其進(jìn)行修改,所以定義任務(wù)t2的執(zhí)行人允許對(duì)dg1中的對(duì)象擁有瀏覽的權(quán)限,對(duì)dg2中的對(duì)象擁有創(chuàng)建、瀏覽、修改和刪除等權(quán)限。這樣既保證了流程的執(zhí)行,又避免了權(quán)限泄漏。

2.3 流程中的訪問(wèn)控制

筆者在PLM系統(tǒng)原有的RBAC模型上加人和流程相關(guān)的信息,使之適用于工作流管理系統(tǒng)。下面對(duì)該訪問(wèn)控制模型進(jìn)行定義:R,U,C,P分別表示角色、用戶、類和權(quán)限;T為所有任務(wù)的集合,t為一個(gè)具體的任務(wù);DG為所有對(duì)象組的集體,dg為一個(gè)具體的對(duì)象組。

newmaker.com

人員組織管理和對(duì)象管理由PLM 系統(tǒng)負(fù)責(zé)所以用戶和角色的賦值關(guān)系為URA.

在流程中,授權(quán)可以表示成一個(gè)五元組:grant=(t,roleset(t),c,p,scope)。其中,t ∈ T表示一個(gè)任務(wù),roleset(t)={r|(task,r)∈RTA}∈Role表示允許執(zhí)行 t的最小角色集合;c∈Class表示一類對(duì)象;p ∈Privilege表示一種權(quán)限;Scope表示授權(quán)的適用范圍,有process,task和datagroup3個(gè)取值,分別表示這個(gè)授權(quán)的適用范圍是整個(gè)流程、一個(gè)任務(wù)或者一個(gè)對(duì)象組。這個(gè)五元組表示任務(wù) t的執(zhí)行人在執(zhí)行這個(gè)任務(wù)時(shí),對(duì) c類對(duì)象擁有權(quán)限p,它的有效范圍是整個(gè)流程、任務(wù)本身或者這個(gè)任務(wù)使用的某個(gè)對(duì)象組。

在該模型中,授權(quán)存在偏序關(guān)系:gp>ge>gd其中g(shù)p,gt和gd分別表示scope為process,task和datagroup的權(quán)限。因?yàn)間p適用于整個(gè)流程,所以如果這個(gè)流程中某個(gè)活動(dòng)節(jié)點(diǎn)或者對(duì)象組未被授權(quán),gp會(huì)自動(dòng)繼承給他們;但如果活動(dòng)節(jié)點(diǎn)或者對(duì)象組已經(jīng)授權(quán)了,則 gp就不會(huì)繼承給他們了。同理,gt適用于活動(dòng)以及活動(dòng)中允許使用的對(duì)象組,所以如果活動(dòng)關(guān)聯(lián)的某個(gè)對(duì)象組未被授權(quán),gt會(huì)自動(dòng)繼承給這個(gè)對(duì)象組。該模型的結(jié)構(gòu)如圖 2所示。

newmaker.com

以圖1的流程為例,假設(shè)已經(jīng)對(duì)流程建立了"工藝圖對(duì)象組"(dg1)和"設(shè)計(jì)圖對(duì)象組"(dg2)兩個(gè)對(duì)象組,并將它們分別與"工藝圖編制"和"設(shè)計(jì)圖編制"這兩個(gè)活動(dòng)節(jié)點(diǎn)關(guān)聯(lián)。當(dāng)用戶在執(zhí)行"設(shè)計(jì)圖編制"(t1)時(shí),對(duì)"設(shè)計(jì)圖對(duì)象組"中的一個(gè)對(duì)象"設(shè)計(jì)圖1"進(jìn)行"檢出"操作,對(duì)應(yīng)的權(quán)限檢驗(yàn)為:①通過(guò)對(duì)象和類從屬關(guān)系 OCB確定對(duì)象"設(shè)計(jì)圖 1"所屬于的類為"圖紙"(c1)o②查找是否存在{ti,u,c1,checkout,datagroup}。如果存在,則允許進(jìn)行操作并停止權(quán)限檢驗(yàn);如果不存在,則查找是否存在{t,u,c1,checkout,task)。③如果存在{t,,u,c,checkout,task),則允許進(jìn)行操作并停止權(quán)限檢驗(yàn);如果不存在,則查找是否存在{t,u,c,checkout,process},④ 如 果 存 在 {t, u,c, checkout,process},則允許進(jìn)行操作;如果不存在,則禁止用戶進(jìn)行"檢出"操作。

3 訪問(wèn)控制模型中的實(shí)體關(guān)系

圖3是工作流管理系統(tǒng)中和授權(quán)相關(guān)的主要實(shí)體的統(tǒng)一建模語(yǔ)言(UnitedModelingLanguage,UML)圖,大致可以分成兩個(gè)部分:①負(fù)責(zé)流程的運(yùn)行,包括流程定義(processdefinition)、活動(dòng)定義(activitydefinition)、流程實(shí)例(processinstance),活動(dòng)實(shí)例(activityinstance)和活動(dòng)參與者(participant)等。流程定義是對(duì)企業(yè)業(yè)務(wù)流程進(jìn)行抽象建立的模型,一個(gè)流程定義可以實(shí)例化(instance)成多個(gè)流程實(shí)例,流程實(shí)例才是企業(yè)中運(yùn)行的具體流程,而每個(gè)活動(dòng)是這個(gè)流程中要做的事情。② 負(fù)責(zé)流程中的權(quán)限控制,中樞是訪問(wèn)控制規(guī)則(accesscontrolrule),負(fù)責(zé)聯(lián)系權(quán)限的主體(subject)和客體。(object)。授權(quán)的主體是流程中的參與者(participant),包括整個(gè)流程的監(jiān)控人和每個(gè)活動(dòng)實(shí)例的執(zhí)行人,授權(quán)的客體是有 PLM 系統(tǒng)管理的各種數(shù)據(jù)對(duì)象(object)。流程實(shí)例、活動(dòng)實(shí)例和對(duì)象組向訪問(wèn)控制規(guī)則提供上下文相關(guān)的信息。

newmaker.com

4 實(shí)現(xiàn)

本文的訪問(wèn)控制模型已在 TiPLM 系統(tǒng)上實(shí)現(xiàn)。該系統(tǒng)是國(guó)家 863計(jì)劃支持的項(xiàng)目,已在廈門金龍的多家大型企業(yè)成功實(shí)施,圖4是系統(tǒng)的結(jié)構(gòu)圖,主要包括和授權(quán)相關(guān)的模塊。

newmaker.com

從圖4中可以看出,工作流管理系統(tǒng)的授權(quán)并不是完全獨(dú)立的,它需要參考 PLM 系統(tǒng)的人員組織管理模塊和文檔對(duì)象模塊。由PLM系統(tǒng)管理用戶和文檔,這是考慮到 PLM 系統(tǒng)本身就擅長(zhǎng)管理數(shù)量龐大的文檔以及它們之間復(fù)雜的關(guān)系,而PLM的用戶管理也完全適用于工作流中的用戶管理。PLM系統(tǒng)中的文檔和用戶,通過(guò)映射關(guān)系變成工作流中的實(shí)體,參與工作流的運(yùn)行和授權(quán)。一個(gè)對(duì)流程的用戶請(qǐng)求將提交工作流引處理,工作流引擎中的授權(quán)模塊通過(guò)訪問(wèn)控制規(guī)則基確定用戶請(qǐng)求是否有效,如果有效則生成任務(wù)實(shí)體進(jìn)程。

5 結(jié)束語(yǔ)

本文分析了現(xiàn)有 PLM 系統(tǒng)授權(quán)的優(yōu)點(diǎn)和缺點(diǎn),針對(duì)工作流系統(tǒng)授權(quán)的一些特殊要求,結(jié)合PLM系統(tǒng)原有的RBAC機(jī)制,引入基于流程實(shí)例的對(duì)象組,很好地解決了這些需求。