• 沒有找到結果。

第三章 架構在 RBAC 上的團隊委任模型

3.5 定義

本研究之相關定義主要分成團隊角色關係、團隊的委任、權限的授予和權限 的撤銷四個部份,定義一主要說明團隊角色與使用者、角色和權限之間的關係,

定義二、定義三和定義四在說明團隊角色如何委任給予使用者,定義五在說明團 隊角色之權限指派給團隊角色之條件,定義六和定義七在說明團隊角色的撤銷以 及團隊的解散。

定義1:

 Tr R where R is the total set of the roles in the organization information system;

 TrUA U x Tr is a many to many user to team role assignment relation;

 TrPA P x Tr is a many to many public permission to team role assignment relation;

 TrRA R x Tr is a many to many original role to team role assignment relation;

第一層委任

第二層委任

使用者 團隊角色 原始角色

U為組織內部能夠使用系統之使用者,R為組織內部所擁有的角色,P為組織內部 所擁有的權限,T為組織所需要完成某目標之形成的團隊,Tr為組織所形成的團 隊中所需要的原始角色集合即團隊角色,TrUA為團隊角色與使用者的指派,

TrRA為團隊角色與原始角色的指派,TrPA為團隊角色與公開權限的指派,U、R、

P、UA和PA為以角色為基礎的存取控制基本元件,UA為角色和使用者的指派關 係,PA為權限與角色的指派關係,UA和PA在以角色為基礎的存取控制中已經定 義好之間的關係。Tr、TrUA、TrPA和TrRA為本研究所提出的定義,Tr屬於角色,

Tr中的角色皆為企業組織中的角色,Tr是管理者依據團隊所需求的原始角色的集 合而形成,TrUA為使用者與團隊角色之間的指派,屬於多對多的關係,TrPA為 公開權限與團隊角色之間的指派,屬於多對多的關係,TrRA為原始角色與團隊 角色之間的指派,屬於多對多的關係。

在團隊為基礎的委任模型中,首先定義出使用者能夠擔任的角色,如定義 2。

定義 2:Uusers, o_roleiroles,

cando_role(U) = {o_role1, o_role2, …, o_rolen}

U 為使用者,cando_role(U)為一個使用者 U 所能夠擔任的角色集合,o_rolei為使 用者能夠擔任的其中之ㄧ的角色,一個使用者可以擔任多種 o_role 的角色,但是 同一個會期,使用者只能挑選其中一種角色擔任。

管理者開創一個新團隊時,需要先定義好一個團隊所需要的角色有哪些,如 定義 3。

定義 3:TTeams, o_roleiroles,

team_role(T) = {o_role1, o_role2, …, o_rolen}, n2

T 為一個團隊,team_role(T)表示 T 此團隊需要哪些角色,而一個團隊應包含兩 個以上的 o_role 角色,n2 即表示團隊中必頇要兩個角色以上的成員才能形成 一個團隊。

在執行階段,使用者選擇了一個其所能擔任的角色,如定義 2,且該角色為 一個團隊中所需要的角色,如定義 3,則此使用者能夠以該角色之身分加入此團 隊,如定義 4。

定義4:Uusers, TjTeams, o_roleiroles,

o_role icando_role(U) and o_roleiteam_role(Tj) Uteam_member(Tj) and URA(U, d_roleTj), where d_roleTj

=team_role(Tj)

o_rolei為一個使用者所能擔任的角色之ㄧ,且為團隊 Tj所需要的角色之一時,

則此使用者 U 即可加入團隊 Tj,表示使用者 U 為團隊 Tj中的一員,同時會將此 團隊角色 team_role(Tj)視為一個 d_roleTj,並將此 d_roleTj授權給使用者 U 擔任,

使用者往後將可利用 d_roleTj來執行團隊角色 team_role(Tj)的工作。

當團隊形成之後,就必頇把團隊中的權限定義完成,如定義 5。

定義 5:o_roleroles, PuPPermissions, PrP Permissions,

TjTeams,

o_roleteam_role(Tj) and perm(o_role)={PrPPuP}

PrPteam_perm(Tj)

當 o_role 為團隊 Tj中所需要的角色,且此 o_role 角色中的權限包含有私有權限

(PrP)和公開權限(PuP)的集合,則 o_role 的私有權限(PrP)將不能成為團 隊的權限,亦不能委任給其他團隊角色。

團隊的形成是由團隊管理員所組成,而團隊在進行中可能會針對團隊的需求 做角色的增減,所以當原有的團隊成員被迫離開團隊時,團隊名單中將會移除該 名使用者,而該使用者的所有 d_roleTj將會被撤銷,如定義 6。

定義 6:Uusers, TjTeams, o_roleiroles Uteam_member(Tj) and URA(U, d_roleTj) and

o_roleirevoke_role(Tj) revoke_user(Tj)= { U }, where o_roleid_roleTj

使用者為團隊 Tj 中的成員,且使用者所擔任的角色為團隊所需求的角色,當團 隊不再需要此角色時,則透過 revoke_role(Tj)把此角色從團隊中刪除,當使用者 所擔任的角色為從團隊中刪除的角色,則透過 revoke_user(Tj)刪除加入團隊之使 用者,撤銷其權限。

而團隊活動結束之後,管理者必頇把團隊解散,避免在團隊活動結束後,權 限還被其他使用者繼續使用,利用團隊的解散,可以不需要針對使用者逐一撤銷 權限,管理上較為方便,團隊的撤銷如定義 7。

定義 7:o_roleiroles, TTeams

If team T finished then revoke_role(T)={ o_role1, o_role2,...,o_rolen } 當團隊完成所要完成的工作或是因為某些因素必頇要管理者撤銷其團隊,透過 revoke_role(T),把團隊T中所有的原始角色撤銷,原始角色撤銷之後,團隊中所 有原始角色之公開權限也跟著移除,藉此解散團隊,使用者將無法再加入此團隊。

相關文件