摘要:現代高等職業物流專業信息管理教學系統是隨著現代物流的發展而同步進行的。現代物流企業不斷地將新技術引入管理系統中來,對于系統權限安全策略最為熱門的是RBAC角色訪問控制,這里討論的是角色訪問控制在3PL信息管理教學系統中的應用,解決用戶在系統中的權限問題。
關鍵詞:角色;訪問控制;3PL信息管理系統
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)33-9135-02
Role-Based Access Control in 3PL Information Management Education System Applied Research
YU Jian-hai
(Zhejiang University of Technology,Hangzhou 310000,China)
Abstract: Modern higher vocational logistics information management education system developed with the development of modern logistics synchronized. Modern logistics enterprises to continuously bring new technology into the management system. System access security policy is the most popular RBAC Role Based Access Control. It discussed here about the Role-Based Access Control in 3PL Information Management Education System and resolve the permissions issue.
Key words: role; Access control; 3PL information management system
3PL信息管理教學系統是高職物流專業的核心課程之一,由于該系統的角色十分豐富,所以在用戶進入系統實驗后,會發現權限混亂的問題,在教師對3PL信息管理系統教學帶來了很多的麻煩,許多軟件對于用戶權限的劃分不明確,為了解決這個權限的問題,可以引入RBAC模型,給用戶分配角色,通過角色來得到相應的權限,這樣來用戶在系統內操作實訓的權限。
1 RBAC角色訪問控制的定義
基于角色的訪問控制(RBAC)是在DAC與MAC的基礎之上提出的。其策略是根據用戶在組織內部的角色制定的。用戶不能任意的將訪問權限傳遞給其他用戶。它通過分配和取消角色來完成用戶權限的授予和取消,并且提供角色分配規則。安全管理人員根據需要定義各種角色,并設置合適的訪問權限,而用戶根據其責任和資歷再被指派為不同的角色。這樣,整個訪問控制過程就分成兩個部分,即訪問權限與角色相關聯,角色再與用戶關聯,從而實現了用戶與訪問權限的邏輯分離。
基于角色訪問控制(RBAC)的定義已經在第十五屆國際計算機安全會議上以集合的形式給出。對于每一主體,激活角色是當前使用的主體:
AR(s:subject)={主體s的激活角色}
每一主體可被授權扮演一個或更多角色:
RA(s:subject)={主體s的授權角色}
每一角色可被授權執行一個或更多事務:
TA(r:role)={授權給角色r的事務}
主體可以執行事務。如果主體s可以在當前時間執行事務t,則預測exec(s,t)是真,否則為假:exec(s: subject, t: tran) =true。
2 RBAC參考模型
2.1 RBAC0模型
RBAC0為基本模型,規定了任何RBAC系統所必須的最小需求,其中包用戶-角色分配,權限-角色分配,它包含三個實體: 用戶(USERS)、角色(ROLES)和許可(PRMS)。其中許可由操作(OPS)和對象(OBS)組成。許可被分配到角色,用戶作為角色的成員,角色層作為兩者的間接層,扮演系統實際領域中的角色(如圖1:RBAC0模型)。
2.2 RBAC1模型
RBAC1模型在RBAC0的基礎上加入了角色層次(Role Hierarchies)的概念, 可以根據組織內部權力和責任的結構來構造角色與角色之間的層次關系。一般用偏序≥來描述角色層次。Role1≥Role2表示Role1繼承了 Role2 的所有許可。偏序滿足自反、傳遞和非對稱性質。有時為了實際應用的需要,應該限制角色間繼承的范圍。如果某個角色不希望別人獲得自己的某些許可,此時它就可以分離出自己的私有角色(Private Roles)。私有角色中的權利是不能被繼承的。利用私有角色機制可以實現某些權限的屏蔽。
2.3RBAC2模型
RBAC2模型在 RBAC0 的基礎上增加了約束( Constraints) 概念,規定各種操作是否可被接受。與角色有關的約束有:
1) 基數限制:在同一時間,一個用戶可擁有的角色數目受限;同樣,一個角色對應的許可數目也應受限。
2) 互斥角色:同一用戶僅可分配到一互斥角色集合中至多一個角色或者用戶雖然分配到一互斥角色集合中多個角色,但是在會話時用戶至多能激活其中的某一個角色。前者是靜態互斥,約束發生在用戶分配階段;后者是動態互斥,發生在會話選擇 ARS時,即運行時刻。
3) 先決條件角色:可以分配角色給用戶僅當該用戶已擁有另一角色; 同樣, 可以分配許可給該角色僅當該角色已擁有另一種操作許可。
4) 時間頻度限制 規定特定角色或許可的使用時間和頻度。
3 數據庫設計
3PL信息管理教學系統所有的用戶、角色和許可都是通過數據庫來實現的。該系統內的所有用戶必需在數據庫內的能夠查詢得到,否則說明該用戶不存在,需要建立用戶,用戶由實驗室管理員、教師和學生三者組成,這組成了角色訪問控制的用戶模塊,進入系統實訓時用戶被給予角色,獲得系統使用權限。
本系統采用的是SQL SEVER2000數據庫,數據庫用戶表由管理員信息表、教師信息表和學生信息表,數據庫角色表由有總經理信息表、客服經理信息表、倉儲部經理信息表、運輸部經理信息表、商務部經理信息表、客服信息表、倉管員信息表、理貨員信息表、司機信息表、車輛調度信息表、搬運工信息表、會計信息表等組成。
3.1 用戶表設計
管理員員信息表、教師信息表和學生信息表主要記錄的是用戶名、登錄密碼、姓名、教師或學生編號、系統實訓角色和注冊時間等信息,這里表以用戶名作為主鍵,同時也是外鍵,通過這個字段與其他關聯表進行通信,如表1管理員信息表。
3.2 角色表設計
總經理信息表、客服經理信息表、倉儲部經理信息表、運輸部經理信息表、商務部經理信息表、客服信息表、倉管員信息表、理貨員信息表、司機信息表、車輛調度信息表、搬運工信息表、會計信息表是被給予用戶的角色信息,在系統內以這一角色所進行的所有操作的表,此表包括人員編號、姓名、學號或教師編號、進入各子系統的權限、修改、查詢和注冊時間等信息,以角色人員編號為主鍵,通過這個字段與其他關聯表進行通信,如表2總經理信息表所示。
4 角色權限實現
用戶被分配角色后,以角色進入系統,例如作為倉管員角色進入系統,可對基礎管理子系統和倉儲管理子系統進行相關表的操作實訓,具有這些表的修改和查詢權限。如圖2所示與倉儲管理員角色相關各表的示意圖。
有關倉儲管理員角色在SQL 2000中的實現可由如下語句來完成:用到GRANT、CREATE等。
GRANT CREATE TABLE TO teacher
create role 倉儲管理員;--建立倉儲管理員角色
--grant insert入庫單信息表 to 倉儲管理員; 將錄入單權限
--revoke insert出庫單信息表 from 倉儲管理員; 收回權限
--grant 倉儲管理員 to student1
CREATE VIEW waremanagement
AS SELECT S.SNAME, P.PNAME
FROM 派工單信息表 s, 倉庫信息表 p, 倉儲管理員信息表
WHERE S.SNO = SE.SNO AND
P.PNO = SE.PNO AND
S.CITY = 'London';
5 結論
通過RBAC角色訪問控制模型能夠解決用戶在3PL信息管理教學系統內權限分配的問題,在專業教學上能夠讓學生以不同的角色進行實驗,得到不同與實際物流企業內各崗位或職務的仿真訓練,使學生深刻了解其扮演角色的操作權限和任務。也希望通過本文的研究能對國內高職物流專業3PL信息管理教學系統的發展有所幫助,3PL信息管理系統研究會向著更高的自動化系統集成應用發展,將會有更多的計算機技術應用于3PL信息管理系統中去。
參考文獻:
[1] 杜詩軍.基于角色的訪問控制應用研究[D].2006:6-14.
[2] 王景光,信息系統開發方法[M].北京:機械工業出版社.2003.
[3] 曾毅.基于角色訪問控制模式的學生信息管理系統的開發[D].2006:10-28.
[4] http://www.blogjava.net/zpuser/archive/2007/07/04/128062.html.[z].基于角色的訪問控制.2007年4月.
[5] 陳俊源.SQL SERVER 2000 建置與管理手冊[M].北京.北京大家出版社,2001.
[6] 李波,王謙.物流信息管理系統[M].北京.清華大學出版社.2008.
[7] 田宇.第三方物流項目管理[M].中山大學出版社.2006.
[8] 邢光林,洪帆.基于角色和任務的工作流訪問控制模型[J].計算機工程與應用,2005,2:210-213.
[9] 高燕.基于角色的訪問控制的設計與實現[J].中國高新技術企業,2008,15:11,110.