• 沒有找到結果。

第三章 以角色為基礎的存取控制於跨組織工作流程

3.1 工作流程分析

根據工作流程管理聯盟所定義之工作流程,整體或部份工作流程在執行前,

會有一定義階段,定義出此工作流程中的各個工作、規則及管理工作流程之相關 控制資料。在本研究中,跨組織的工作流程亦是如此,組織之間不僅會共同定義 出此跨組織工作流程中的各個工作,也會定義出能夠執行各個工作的角色集合。

以角色為基礎的存取控制於跨組織工作流程包含「使用者」、「虛擬角色」及「工

作」三個元素與「使用者取得虛擬角色階段」及「使用者取得虛擬角色執行工作 階段」兩個階段的限制條件,各項元素及限制條件分述如下。

3.1.1 使用者

在跨組織的合作中,參與的使用者可能來自不同的企業,因此,在進入跨組 織工作流程取得適當角色執行工作之前,本身還只是代表著各自的企業及角色職 務,其中,企業內部角色職務之定義是根據企業之規則,包括人員資歷、能力…

等因素決定;而企業規模的定義,我們參考經濟部中小企業處所定義之中小企業 認定標準[4],如表 3.1 所示,可將企業分類為中小、小型規模。

表 3.1 中小企業認定標準表[4]

規模 中小企業

行業別 原則 例外 小企業

製造業 營造業 礦業 土石採取業

實收資本額在新臺 幣八千萬元以下

經常僱用員工 數未滿二百人

經常僱用員工 數未滿二十人

農林漁牧業 水電燃氣業 批發及零售業 住宿及餐飲業 運輸倉儲及通信業

金融及保險業 不動產及租賃業 專業科學及技術服務業

教育服務業

醫療保健及社會福利服務業 文化運動及休閒服務業

其他服務業

前一年營業額在新 臺幣一億元以下

經常僱用員工 數未滿五十人

經常僱用員工 數未滿五人

由於企業內部的角色職務名稱繁多且不易比較,所以我們以數字型式的分數 來代表角色職務,又稱為角色分數,分數愈大,代表該角色職務之層級與所擁有

之權限也愈大;而在不同規模的企業間可能發生角色職務名稱相同之情形,在角 色職務名稱相同之情形下,較大規模企業之人員資歷、能力…等因素,往往高於 較小規模之企業,且權限也愈大。因此,我們採用使用者所屬企業之規模(Business Scale)及原始角色(Original Role)兩個條件來決定使用者的原始角色分數

(Original Role Score),而使用者所擔任角色之原始角色分數是由參與跨組織工 作流程之各組織高階人員,經過彼此會議協商決定,以解決各組織角色結構的不 同。如表 3.2 所示,為一中小規模企業與一小規模企業進行跨組織合作之使用者 原始角色分數結構範例,因為彼此角色的組織結構不同,所以共同定義出來的角 色分數也不同;而在此範例中,中小企業廠長角色之使用者與小企業副總經理角 色之使用者分數相同,代表能夠取得跨組織工作流程中的角色之集合亦相同。有 關使用者之定義如下所述:

【使用者】u = (bs, or, ors)

代表使用者 u 由企業規模 bs、原始角色 or,及原始角色分數 ors 組成。

U = {u1, u2, …},代表使用者的集合。

BS = {bs1, bs2, …},代表企業規模的集合。

OR = {or1, or2, …},代表原始角色的集合。

ORS = {ors1, ors2, …},代表原始角色分數的集合。

表 3.2 跨組織工作流程原始角色分數結構範例表

角色分數 中小企業 小企業

總經理 10 8

副總經理 8 7

廠長 7 N/A

處長 5 N/A

經理 3 2

副理 2 N/A

職員 1 1

3.1.2 虛擬角色

使用者在參與跨組織工作流程之前,僅擔任各自企業之原始角色職務,稱之 為「原始角色」,由於水平式的跨組織合作之目標並非每次皆相同,且所使用的 角色亦非相同。因此,我們定義在跨組織工作流程內執行工作的角色為「虛擬角 色」(Virtual Role),代表使用者在進入跨組織工作流程時取得之角色只是暫時 的,當跨組織工作流程結束時,使用者會卸下此虛擬角色,回復成原本企業之原 始角色。在跨組織的工作流程中,使用者欲取得角色進入跨組織工作流程並非使 用原本在企業裡的角色,而是根據限制條件取得能夠擔任的虛擬角色之集合。本 研究所定義之虛擬角色包含三個屬性,各屬性之定義如下:

虛擬角色分數:代表此虛擬角色的分數,分數愈大,相對著角色層級愈高,

而虛擬角色分數也符合角色階層的概念,如在一專案中,專案經理能繼承程 式設計師的權限,而在此專案中的虛擬角色分數定義中,專案經理的虛擬角 色分數必定會大於程式設計師的虛擬角色分數,當使用者的原始角色分數足 以擔任專案經理,亦代表其虛擬角色分數能繼承程式設計師的權限。

使用者數量:如同以角色為基礎的存取控制之使用者數量(Cardinality)限 制條件[35],代表著此虛擬角色能夠分派給使用者的數量,虛擬角色授予給 使用者的數量應予以限制,特別是一些權限特殊的虛擬角色,如專案經理、

系統管理員…等角色需要有使用者數量的限制。

可擔任時間:代表著此虛擬角色分派給使用者所限制的開始與結束時間,如 將可擔任時間設定為上班時間,以免使用者取得虛擬角色時間過長,執行完 工作後卻還有時間使用該虛擬角色執行其他工作,獲得其他權限存取資源,

而造成舞弊事件發生。

【虛擬角色】vr = (vrs, UC, [Tvr-str

, T

vr-end

])

代表虛擬角色 vr 由虛擬角色分數 vrs、可分派給使用者之數量 UC,及可擔

任時間[Tvr-str, Tvr-end]組成。

VR = {vr1, vr2, …},代表虛擬角色的集合。

VRS = {vrs1, vrs2, …},代表虛擬角色分數的集合。

UC,代表虛擬角色可分派給使用者的數量,為一自然數。

[Tvr-str, Tvr-end],代表虛擬角色能夠分派給使用者的開始與結束時間。

3.1.3 使用者取得虛擬角色階段之限制條件

當使用者欲取得虛擬角色執行跨組織工作流程之工作前,會經過此限制條件 篩選階段,決定出使用者在跨組織工作流程中能夠擔任的虛擬角色之集合。以下 是使用者取得虛擬角色階段限制條件介紹:

原始角色分數大於等於虛擬角色分數:在本研究中,跨組織工作流程在定義 階段時,組織間會定義出能夠執行跨組織工作流程中之各個工作的虛擬角色 和該虛擬角色的分數。而在此虛擬角色分數限制條件下,使用者根據原始角 色分數,取得大於所需之虛擬角色分數下所有虛擬角色集合。

已分派此虛擬角色給使用者的數量小於所定義能分派給使用者的數量:此使 用者數量應在虛擬角色定義階段時所決定。當使用者請求擔任虛擬角色時,

已分派此虛擬角色給使用者的數量,必須小於此虛擬角色定義能分派給使用 者的數量。

取得虛擬角色的時間需在所定義之時間區間內:在虛擬角色定義階段時,會 定義此虛擬角色能分派給使用者的開始與結束時間,而使用者請求擔任虛擬 角色的時間,必須在此虛擬角色定義之可擔任時間區間內。

【使用者取得虛擬角色階段限制條件規則】∃ui

∈ U, ∀vr

j

∈ VR: (ors

i

≥ vrs

j

) and (Count(vr

j

) < UC

vrj

) and (T

app

∈ [T

vr-str

, T

vr-end

]) ⇒ UVRA(u

i

) = {vr

j

}

使用者 u 由企業規模 bs、原始角色 or,及原始角色分數 ors 組成,虛擬角色

vr 由虛擬角色分數 vrs、可分派給使用者之數量 UC,及可擔任時間[Tvr-str, Tvr-end] 組成,存在一個屬於使用者集合 U 的使用者 ui,對於所有屬於虛擬角色集合 VR 的虛擬角色 vrj,若使用者 ui的原始角色分數 orsi大於等於虛擬角色分數 vrsj,且 虛擬角色已分派給使用者的數量 Count(vrj)小於所定義能分派給使用者之數量 UCvr,且使用者請求擔任虛擬角色的時間 Tj app包含在所定義能分派給使用者之時 間區間內[Tvr-str, Tvr-end],則此使用者 ui之使用者、虛擬角色分派關係(User-Virtual Role Assignment)UVRA(ui)的虛擬角色為{vrj}集合。

orsi ≥ vrsj,代表使用者的原始角色分數大於或等於此虛擬角色之分數,即使 用者可以擔任此虛擬角色或小於此虛擬角色分數的所有虛擬角色集合。

Count(vrj) < UCvrj,代表已分派此虛擬角色給使用者的數量,必須小於此虛 擬角色定義分派給使用者的數量限制。

Tapp ∈ [Tvr-str, Tvr-end],代表使用者請求擔任虛擬角色的時間,必須在此虛擬

角色定義之可擔任時間區間內。

3.1.4 工作

跨組織工作流程內的每個工作,皆有詳細的定義,包括所能執行此工作的虛 擬角色集合、可執行日期、互斥角色集合及工作執行紀錄。詳細定義如下:

虛擬角色集合:代表能夠執行此工作的虛擬角色集合,由所有組織在定義階 段共同定義。

可執行日期:代表某些工作是有期間性的,如資料庫管理師進行企業資料庫 之備份工作需要花上幾天的時間、資產管理師對企業內部進行資產盤點之工 作亦是如此,配合使用者請求擔任虛擬角色的時間限制,形成一個完整的日 期、時間限制,讓使用者能在某一特定日期內的某個時間區間擔任虛擬角色 執行工作。

互斥角色集合:包含了能執行此工作而有角色衝突關係的角色集合,如請款

的工作可分為準備支票與核准支票,前者能夠執行的角色可為經理或職員,

而後者能夠執行的角色只有經理,因此,無法由同一使用者擔任經理及職員 兩個角色執行請款的工作。

工作執行紀錄:為使用者執行工作的紀錄,用以產生能再執行此工作之合法 角色(Legal Role),包含了執行此工作的使用者、執行日期、所擔任之虛擬 角色及合法角色,合法角色是根據使用者在最近時間內執行此工作所擔任之 虛擬角色,與此工作所定義出有角色互斥關係的虛擬角色集合比對後,剩餘 無互斥關係的虛擬角色集合。

【工作執行紀錄】reca

= (u, T

exe

, vr, LR)

reca代表工作 a 的工作執行紀錄,是由執行此工作之使用者 u、執行日期 Texe虛擬角色 vr,及合法角色集合 LR 組成。

LR = {lr1, lr2, …},代表未與執行工作 a 之虛擬角色互斥的合法角色集合。

如表 3.3 所示,假設能執行請款工作的虛擬角色包含會計部經理、會計部職 員、採購部經理及採購部職員,而經理與職員為互斥角色,當張三已擔任會計部 經理執行請款工作,而在此請款工作內,與會計部經理互斥之角色為會計部職員 與採購部職員,因此,其他可再執行請款工作之合法角色集合,只剩會計部經理 與採購部經理角色。有關工作執行紀錄與工作之定義如下所述:

表 3.3 工作執行紀錄表

工作 使用者 執行日期 擔任角色 合法角色

張三 2007/5/21 會計部經理 會計部經理 採購部經理 請款

李四 2007/5/25 採購部職員 採購部職員 會計部職員

【工作】a = (CVR, [Tact-str

, T

act-end

], MER, rec)

代表工作 a 由虛擬角色集合 CVR、可執行日期[Tact-str, Tact-end]、互斥角色集

相關文件