摘要:根據(jù)工作流執(zhí)行的特點,在基于任務(wù)角色訪問控制模型的基礎(chǔ)上,提出了用戶基本分配策略、用戶負(fù)載均衡、用戶職責(zé)分離、用戶基數(shù)約束等分配方案,有效地提高了資源的利用率和工作流的執(zhí)行效率。
關(guān)鍵詞:工作流; 訪問控制; 負(fù)載均衡; 職責(zé)分離; 基數(shù)約束
中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)01-0238-03
工作流技術(shù)[1]在近年來得到了越來越多的關(guān)注,被廣泛應(yīng)用于電子商務(wù)和電子政務(wù)等領(lǐng)域中,其安全問題也日益突出。 WfMC在其安全白皮書中提及工作流中的安全服務(wù)包括認(rèn)證、授權(quán)、訪問控制、審計、數(shù)據(jù)保密性、數(shù)據(jù)完整性、不可否認(rèn)和安全管理[2]。訪問控制是其中的一個重要組成部分,已成為近年研究的熱點。研究者提出了很多適合工作流的訪問控制模型,如基于角色的訪問控制(RBAC)[3]、基于任務(wù)的訪問控制(TBAC)[4,5]和基于任務(wù)角色的訪問控制模型(TRBAC)[6]等。然而這些訪問控制模型均沒有考慮工作流執(zhí)行的特點,即企業(yè)業(yè)務(wù)流程完全或部分的自動化,它根據(jù)一定的過程規(guī)則集把業(yè)務(wù)所需的文檔、信息或任務(wù)從一個參與人傳遞到下一個參與人。如果由于用戶的分配不當(dāng),使得具有執(zhí)行該任務(wù)權(quán)限的用戶繁忙或工作流中某一任務(wù)暫時沒有相應(yīng)權(quán)限的用戶執(zhí)行,工作流執(zhí)行處于掛起狀態(tài)或夭折,從而降低了工作流的執(zhí)行效率。針對這一情況,本文在基于任務(wù)角色訪問控制模型的基礎(chǔ)上,根據(jù)工作流執(zhí)行的特點,提出了一些新的用戶分配策略,有效地提高了資源的利用率和工作流的執(zhí)行效率。
1TRBAC模型及其元素
TRBAC模型(圖1)基于TBAC和RBAC模型。它將角色的概念引入到TBAC 模型中,每個角色具有一定的權(quán)限,用戶通過扮演某個角色而獲得相應(yīng)的權(quán)限。但TRBAC模型中的角色與RBAC 模型中的角色語義不同。在TRBAC模型中,用戶通過扮演某個角色而擁有某個任務(wù)的執(zhí)行權(quán)限,當(dāng)任務(wù)執(zhí)行結(jié)束或掛起時,角色所擁有的權(quán)限將被收回或凍結(jié)。而在RBAC模型中,用戶扮演某個角色后就能夠隨時使用該角色所擁有的權(quán)限。由于在TRBAC模型中對用戶的權(quán)限是通過角色和任務(wù)來進(jìn)行分配和管理的,通過角色實現(xiàn)了用戶與訪問權(quán)限的邏輯分離,基于角色的策略極大地方便了權(quán)限管理,消除了用戶變化(包括添加新用戶、刪除已有用戶等)對工作流程的影響,有利于工作流程的標(biāo)準(zhǔn)化并增強了可重用性;同時通過任務(wù)實現(xiàn)了對訪問權(quán)限的動態(tài)控制,實現(xiàn)了對用戶訪問行為的時間關(guān)聯(lián)約束,保證了控制權(quán)安全一致的傳遞[7,8]。
2TRBAC用戶分配策略
TRBAC模型根據(jù)工作流任務(wù)的執(zhí)行順序,由TRA激活具有執(zhí)行當(dāng)前任務(wù)權(quán)限的角色,然后通過URA查詢到能夠承擔(dān)該角色的所有用戶,選擇其中一個用戶來承擔(dān)該角色執(zhí)行相應(yīng)的任務(wù)。然而TRBAC模型并沒有給出承擔(dān)角色的用戶如何選擇,如果選擇不當(dāng),將會使工作流后續(xù)任務(wù)無法執(zhí)行,造成工作流在執(zhí)行中途掛起或夭折。如圖2所示,一個簡單的業(yè)務(wù)流程中包含兩個并發(fā)的任務(wù)T1、T2,分別需要角色R1、R2執(zhí)行。當(dāng)前有兩個用戶U1、U2,且用戶U1能夠承擔(dān)角色R1、R2,可以執(zhí)行任務(wù)T1、T2,用戶U2只能承擔(dān)角色R1,可以執(zhí)行任務(wù)T1。如果在執(zhí)行任務(wù)T1時,URA將用戶U1分配給角色R1,那任務(wù)T2就沒有用戶能夠承擔(dān)角色R2來執(zhí)行,使得這一業(yè)務(wù)流程中途夭折;反之,如果用戶U2承擔(dān)角色R1執(zhí)行任務(wù)T1,用戶U1承擔(dān)角色R2執(zhí)行任務(wù)T2,則業(yè)務(wù)流程能夠順利執(zhí)行。
圖1TRBAC訪問控制模型圖2簡單的業(yè)務(wù)流程
針對上述問題,根據(jù)TRBAC訪問控制的特點,提出了用戶基本分配策略、用戶負(fù)載均衡、用戶職責(zé)分離、用戶基數(shù)約束等分配方案,能夠更好地滿足工作流的執(zhí)行特點。
2.1基本分配策略
策略1充分發(fā)揮每一個用戶的特長。一個用戶通常能夠執(zhí)行大量種類的任務(wù),其中某些種類的任務(wù)可以是他的專長。例如,一個查稅人員具備評估各種納稅申報資格,尤其擅長建筑承包商的納稅。如果遇到建筑承包商的納稅,就應(yīng)該盡量交給這個查稅人員。
策略2讓一個用戶連續(xù)做類似的任務(wù)。任何用戶開始執(zhí)行新任務(wù)時,都需要額外的預(yù)熱時間,即開始一項新的任務(wù)需要準(zhǔn)備時間,如打開一個新任務(wù)使用的應(yīng)用程序時間。通過一個接一個地執(zhí)行類似的任務(wù),可以縮短預(yù)熱時間。此外,重復(fù)性工作可以按部就班,有效降低平均處理時間。
策略3為將來盡可能預(yù)留彈性資源。如果必須在兩個用戶間進(jìn)行選擇,而他們在執(zhí)行該工作項上是相等的,最好是選擇那個相對只能夠處理少量其他種類工作的資源;即當(dāng)還有其他資源可以選擇時,盡量讓通用性好的資源空閑。
2.2用戶負(fù)載均衡
定義1用戶在執(zhí)行任務(wù)的過程中,每個用戶執(zhí)行的任務(wù)數(shù)是相對均衡,稱為面向用戶的任務(wù)負(fù)載均衡。
在TRBAC模型中,任務(wù)是通過角色分配給用戶的,可以實現(xiàn)面向角色的任務(wù)負(fù)載均衡,很難達(dá)到用戶的層面上。它通過TRA將任務(wù)分配給角色。URA遵循用戶承擔(dān)角色均衡的條件,通過日志表查找,尋求充當(dāng)角色少的用戶。當(dāng)找到用戶U承擔(dān)的角色少時,便將角色R分配給用戶U,而實際上用戶U雖然承擔(dān)的角色少,可在實際的任務(wù)分配上,他已經(jīng)通過某個角色獲得許多任務(wù)要執(zhí)行。這樣使得用戶U超負(fù)載地執(zhí)行任務(wù),而其他用戶在分配的過程中執(zhí)行很少的任務(wù),甚至一直空閑,造成了資源的浪費,降低了工作流的執(zhí)行效率。提出用戶負(fù)載均衡的分配策略,通過查詢URA日志表,查詢用戶U當(dāng)前的任務(wù)分配情況是否在超負(fù)載執(zhí)行。如果用戶U在超負(fù)載執(zhí)行任務(wù),URA可以將該任務(wù)分配給其他擁有執(zhí)行該任務(wù)權(quán)限的用戶來執(zhí)行,提高了資源的利用率。
如果選擇合理的用戶分配策略,表2表示的每一個工作項均可以轉(zhuǎn)換為活動。第一個工作項需要一個資源類employee和finances交集中的資源來執(zhí)行,Liz和Jack都具備這樣的資格;第二個工作項只能夠被資源類assessor和complaints交集中的資源執(zhí)行,因為Mandy 正忙于執(zhí)行案例2的評估任務(wù),Carl是惟一能夠執(zhí)行這個工作項的資源;其他兩個工作項需要一個來自資源類employee和complaints交集的資源。
4結(jié)束語
TRBAC模型通過任務(wù)把角色與權(quán)限聯(lián)系在一起,實現(xiàn)了權(quán)限的動態(tài)分配,在執(zhí)行任務(wù)時只給執(zhí)行任務(wù)的角色分配所需的權(quán)限,未執(zhí)行任務(wù)或任務(wù)終止后該角色不再擁有所分配的權(quán)限;并且通過角色實現(xiàn)了用戶與訪問權(quán)限的邏輯分離;同時在TRBAC模型優(yōu)點的基礎(chǔ)上,本文提出了工作流執(zhí)行過程中資源分配的解決方案,提高了工作流執(zhí)行效率和資源利用率,使其更好地滿足工作流執(zhí)行的特點。
參考文獻(xiàn):
[1]范玉順.工作流管理技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2001:10-12.
[2]洪帆,羅煒.工作流管理系統(tǒng)安全模型[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2003,31(12):4-6.
[3]SANDHU R, COYNE E, FEINSTEIN H. Role based access control models[J]. IEEE Computer, 1996,29(6):38-47 .
[4]THOMAS R K, SANDHU R. Task based authentication controls (TABC): a family of models for active and enterprise oriented authentication management[C]//Proc of the IFIP WG11.3 Workshop on Database Security. London: Chapman Hall, 1997:166-181.
[5]鄧集波,洪帆. 基于任務(wù)的訪問控制模型[J].軟件學(xué)報, 2003,14(1):76-81.
[6] SEJONG O H, SEOG P. Task role based access control model[J]. Information Systems, 2003,28(6):533-562.
[7]陳偉鶴,殷新春,茅兵,等. 基于任務(wù)和角色的雙重Web訪問控制模型[J].計算機研究與發(fā)展,2004,41(9):1465-1473.
[8]MILLER J A, FAN Mei, SHETH A P, et al. Security in Web based workflow management systems[C]// Proc of ACM Trans on Information and System Security. 2002.
[9]AALST W van der, HEE K van.Workflow management[M].北京:清華大學(xué)出版社,2004:56-76.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”