王偉,石綏祥,李四海,劉振民,顧云娟
(1. 國家海洋信息中心數(shù)字海洋實驗室,天津 300171;2. 江蘇省海洋與漁業(yè)局信息中心,江蘇 南京 210003)
基于代理機制的“數(shù)字海洋”授權(quán)模型研究
王偉1,石綏祥1,李四海1,劉振民1,顧云娟2
(1. 國家海洋信息中心數(shù)字海洋實驗室,天津 300171;2. 江蘇省海洋與漁業(yè)局信息中心,江蘇 南京 210003)
“數(shù)字海洋”用戶授權(quán)系統(tǒng)建設(shè)是整個信息基礎(chǔ)框架構(gòu)建的基礎(chǔ),是實現(xiàn)框架內(nèi)數(shù)據(jù)與應(yīng)用資源整合的前置條件。在對框架構(gòu)建授權(quán)需求進行深入分析的基礎(chǔ)上,結(jié)合目前網(wǎng)絡(luò)授權(quán)方案的發(fā)展以及基于角色的用戶訪問控制技術(shù),本文給出了用于實現(xiàn)框架授權(quán)的基于代理機制的授權(quán)模型,有效解決了節(jié)點用戶授權(quán)的復(fù)雜需求。
數(shù)字海洋;代理;授權(quán);服務(wù)
依據(jù)中國近?!皵?shù)字海洋”信息基礎(chǔ)框架(以下簡稱框架)構(gòu)建總體實施方案,項目建設(shè)的最終目標是要在“數(shù)字海洋”專網(wǎng)的基礎(chǔ)上,實現(xiàn)國家海洋局局屬單位、沿海省市共 23個節(jié)點上的各類海洋數(shù)據(jù)與業(yè)務(wù)應(yīng)用的集成與共享。然而,出于對數(shù)據(jù)與應(yīng)用資源安全性的考慮,運行在節(jié)點上的各類系統(tǒng)實際上都會有自己相對獨立的用戶認證和授權(quán)機制,這使得用戶必須面對安全機制的多樣性和異構(gòu)性,從而導(dǎo)致:存放在“數(shù)字海洋”專線網(wǎng)節(jié)點上的數(shù)據(jù)與應(yīng)用資源很難實現(xiàn)真正意義上的整合與共享,因為如果某個節(jié)點欲將自己的某些資源共享,必須要知道其他所有節(jié)點的授權(quán)信息;一個用戶訪問其他節(jié)點共享資源時,他在節(jié)點安全區(qū)將會擁有多個登錄密碼和訪問權(quán)限,因而記住每個安全區(qū)的密碼成為困難,在實際操作中也很難實現(xiàn);節(jié)點在開展各類特色系統(tǒng)開發(fā)的時候,必須要重復(fù)開發(fā)用戶管理、功能授權(quán)等功能模塊,這在一定程度上沒有很好實現(xiàn)“數(shù)字海洋”建設(shè)成果的可繼承性與可復(fù)用性,造成開發(fā)資源的浪費。
因此,在面向整個“數(shù)字海洋”各級節(jié)點整體的分布式系統(tǒng)平臺內(nèi),需要有一個統(tǒng)一的、具有較高安全控制能力的用戶認證和授權(quán)系統(tǒng),一方面保證數(shù)據(jù)安全和用戶操作方便,另一方面也可完全達到“數(shù)字海洋”建設(shè)的最終目標。針對“數(shù)字海洋”信息基礎(chǔ)框架構(gòu)建項目的用戶認證和授權(quán)問題,在對目前國內(nèi)外 IT廠商提供的代表性解決方案與技術(shù)進行深入研究的基礎(chǔ)上,依據(jù)數(shù)字海洋授權(quán)具體需求,提出了一種基于代理機制的網(wǎng)格環(huán)境下對用戶集中認證、分散授權(quán)的解決方案,從而實現(xiàn)了“數(shù)字海洋”集成框架真正意義上的單點登陸。
“數(shù)字海洋”用戶是指一個可以獨立訪問集成到“數(shù)字海洋”信息基礎(chǔ)框架中的計算機系統(tǒng)中的數(shù)據(jù)或者用數(shù)據(jù)表示的其它資源的主體,用戶分布在國家海洋局局屬單位、沿海省市等 23個節(jié)點上。角色由用戶自行定義,是指一個組織或任務(wù)中的工作或位置,它代表了一種資格、權(quán)利和責任。在“數(shù)字海洋”節(jié)點中,每一個節(jié)點都可以根據(jù)本節(jié)點的具體業(yè)務(wù)需求,指定用于該節(jié)點的用戶角色。根據(jù)用戶業(yè)務(wù)崗位不同,一個用戶可以擁有多個角色。
為實現(xiàn)框架建設(shè)目標,“數(shù)字海洋”任意節(jié)點上的任何用戶都要放到整體框架中來分析,在整個框架中由一個唯一的USERID來標識;框架必須為用戶提供一個統(tǒng)一的入口,采用單點登錄的方式,通過全局登錄界面(Portal)登錄節(jié)點系統(tǒng),能夠通過加密算法驗證用戶身份和判斷用戶是否已經(jīng)登錄系統(tǒng),并可通過代理機構(gòu)來保存用戶的登錄狀態(tài);由于“數(shù)字海洋”節(jié)點職能、對國家建設(shè)系統(tǒng)的需求、特色系統(tǒng)建設(shè)情況各異,節(jié)點能夠利用國家主中心節(jié)點分配的管理員賬戶進行組織機構(gòu)、角色的定義。機構(gòu)與角色編號在數(shù)字海洋全局中也都是唯一的。
在菜單控制方面,框架應(yīng)具有管理節(jié)點各類系統(tǒng)業(yè)務(wù)功能菜單的能力。依據(jù)用戶的角色,用戶在成功登錄系統(tǒng)后,框架中的授權(quán)模型能夠為節(jié)點系統(tǒng)提供菜單數(shù)據(jù)信息服務(wù),為用戶加載與之角色相對應(yīng)的確切菜單元素。
為實現(xiàn)需求描述中的菜單控制功能,框架中的授權(quán)模型應(yīng)達到以下幾點具體要求:
a) 為了方便用戶進行權(quán)限組織管理,框架中需要建立一張業(yè)務(wù)功能列表。任意節(jié)點中的任一業(yè)務(wù)系統(tǒng)菜單信息,都保存在業(yè)務(wù)功能列表中,這在用戶界面上表示為樹狀分層結(jié)構(gòu)。
b) 業(yè)務(wù)功能模塊以用戶定制菜單來體現(xiàn),仍然采用編號分層方式,編號的每兩位為一個層次。并標明一個層次是子菜單還是業(yè)務(wù)模塊,子菜單只有一種可否被訪問的權(quán)限設(shè)置,業(yè)務(wù)模塊權(quán)限由系統(tǒng)管理員或授權(quán)用戶進行設(shè)置。對每個業(yè)務(wù)模塊設(shè)置它的對象控制、記錄增刪改控制和記錄集控制。當用戶擁有對業(yè)務(wù)模塊的某一權(quán)限時,必需對處于它上級的子菜單有可被訪問的權(quán)限。刪除某一級子菜單時將提示用戶他的下級菜單與功能模塊都將被刪除掉。
c) 當用戶同時充當多個角色并且權(quán)限重復(fù)時,重復(fù)的權(quán)限僅一次有效,用戶擁有他充當?shù)乃薪巧臋?quán)限的并集。
對象是指應(yīng)用系統(tǒng)窗口中的可視對象,如菜單項、按鈕、下拉列表框、數(shù)據(jù)編輯控件及數(shù)據(jù)編輯控件的字段等。對象控制通過角色與用戶授權(quán)來實現(xiàn),包括對對象屬性的控制以及數(shù)據(jù)編輯控件中的數(shù)據(jù)記錄的維護等。對象屬性指對象的使能/禁止、可視/屏蔽;記錄維護指對記錄的增加、刪除、修改。
將每個業(yè)務(wù)模塊可進行屬性設(shè)置的對象由程序員事先設(shè)定或由售后技術(shù)支持工程師指導(dǎo)用戶加入。在系統(tǒng)管理員或授權(quán)用戶進行設(shè)置業(yè)務(wù)模塊的各種權(quán)限時,設(shè)置用戶在擁有該業(yè)務(wù)模塊這種權(quán)限時的對象屬性。沒有設(shè)置屬性的對象在保存對象信息的時候,用戶權(quán)限信息中不被保存。
通過條件設(shè)置,用戶可以將特定記錄集中的全部或部分記錄與其他用戶共享。因此,框架授權(quán)模型必須能夠為數(shù)據(jù)的所有者提供條件設(shè)置功能,確保數(shù)據(jù)只為已授權(quán)的用戶訪問。具體要求如下:
a) 在對用戶設(shè)置業(yè)務(wù)模塊權(quán)限時,同時在過濾表中設(shè)置本模塊的數(shù)據(jù)編輯控件的數(shù)據(jù)篩選條件,篩選條件是組成SQL語句的WHERE條件子句迫使當前訪問的模塊根據(jù)篩選條件對數(shù)據(jù)編輯控件的SQL語句進行重組,并檢索數(shù)據(jù)。
b) 當存在需要從數(shù)據(jù)庫中多個表取數(shù)據(jù)的情況時,過濾表中存在多條記錄,每一條記錄記錄一個數(shù)據(jù)編輯控件取數(shù)的篩選條件。
c) SQL語句的WHERE子句的生成與校驗可以通過SQL語法分析服務(wù),利用對象所提供的函數(shù)分析SQL語句,截取WHERE條件子句,校驗新組合的SQL語句的合法性。
框架構(gòu)建是在服務(wù)總線的基礎(chǔ)上展開的,基于總線的服務(wù)發(fā)布與獲取都需要進行必要的審批與控制。
上述提到的權(quán)限管理內(nèi)容應(yīng)該滿足既可集中管理,也可分散管理的目標:
a) 權(quán)限管理由系統(tǒng)管理員集中管理,系統(tǒng)管理員工作負擔過大,難對所有節(jié)點、所有崗位的分工有全面和具體的了解。對權(quán)限做出標準細致的劃分,對于“數(shù)字海洋”這樣大型的綜合系統(tǒng)適合于把一部分設(shè)置權(quán)限交由一些比較高級的用戶來進行,有利于各崗位細致協(xié)調(diào)的工作。這就是權(quán)限的分散管理。
b) 要實現(xiàn)權(quán)限的分散管理,就須對授權(quán)模塊進行一些授權(quán)管理,這要求整個系統(tǒng)的授權(quán)安全管理工作要做到細致,不要出現(xiàn)權(quán)限的漏洞使一些高級用戶擁有過大的權(quán)限。
c) “數(shù)字海洋”權(quán)限管理采用分級授權(quán)的方式實現(xiàn)。所謂分級授權(quán),是指國家主中心節(jié)點超級管理員向其他局屬節(jié)點、省級節(jié)點分配管理員權(quán)限;局屬、省級節(jié)點進一步向市級節(jié)點分配管理員權(quán)限。任一節(jié)點的管理員不對節(jié)點內(nèi)部業(yè)務(wù)權(quán)限進行分配,而是通過將管理員角色附加到節(jié)點內(nèi)部高級用戶的形式,來實現(xiàn)對節(jié)點具體業(yè)務(wù)權(quán)限的管理。
為了滿足基于網(wǎng)絡(luò)的授權(quán)要求,各大軟件廠商、研究機構(gòu)都提出了自己的解決方案。微軟提出的Passport方案[1],是由微軟運行的一種web服務(wù),是.Net戰(zhàn)略的一部分。借助于瀏覽器Cookie以及URL攜帶認證憑證的方式,能夠?qū)崿F(xiàn)用戶一次登錄,就可訪問多個聯(lián)盟網(wǎng)站的功能。然而,由于 Cookie以及URL攜帶認證信息的限制,passport方案雖然能夠解決應(yīng)用系統(tǒng)“用戶是誰”的問題,但對解決登錄用戶在系統(tǒng)內(nèi)“能做什么”的問題卻顯得無能為力。
基于管理信息系統(tǒng)的要求,研究機構(gòu)提出了一種“基于角色”的授權(quán)模型(role-based access control,RBAC)。在該模型中,用戶與權(quán)限通過建立用戶與角色的關(guān)系、角色與權(quán)限的關(guān)系聯(lián)系起來,通過分配和取消角色來完成用戶權(quán)限的授予和取消。這樣整個系統(tǒng)分為兩個部分,即訪問權(quán)限與角色相關(guān)聯(lián),角色在與用戶關(guān)聯(lián),從而實現(xiàn)了用戶與訪問權(quán)限的邏輯分離[2,3]。其簡要模型圖如圖1所示。
基于角色的授權(quán)模型解決了Who,What,How問題,即哪一個用戶(who)對系統(tǒng)中的什么對象(what)做如何(How)操作的問題。然而,在“數(shù)字海洋”框架建設(shè)中,部署在節(jié)點的系統(tǒng)是異構(gòu)的,RBAC可以很好的解決一個節(jié)點的授權(quán)問題,但如果應(yīng)用到整個“數(shù)字海洋”全局,還不能滿足框架的要求。
圖1 基于角色的授權(quán)模型Fig. 1 Role-based authorization model
由框架對授權(quán)模型的復(fù)雜需求以及目前授權(quán)方案的研究狀況來看,無論是微軟的passport還是基于角色的授權(quán)模型RBAC都不能很好的解決框架對授權(quán)的需求。但是,Passport中基于網(wǎng)絡(luò)的服務(wù)授權(quán)模式以及RBAC的靈活性,卻為框架基于代理機制的授權(quán)模型的研究提供了極為有意義的參考。
代理(Agency)的概念最早由簡森(Jensen)和梅克林(Meckling)于 1976年提出[4],但是主要應(yīng)用在商業(yè)上。代理機制在商業(yè)上的成功應(yīng)用以及該機制內(nèi)涵思想的普遍適用性,使得代理理念很快在計算機領(lǐng)域得到了廣泛的應(yīng)用。所謂的代理就是利益雙方為達成某種目的需求,依據(jù)一定的規(guī)約而委托第三方行使一定權(quán)利的行為。
運行在“數(shù)字海洋”上的各類系統(tǒng)是異構(gòu)的,有國家建設(shè)的,也有地方依據(jù)本身的特色需求而自行開發(fā)建設(shè)的,如何使這些系統(tǒng)在框架下安全、高效的運行,實現(xiàn)“數(shù)字海洋”框架構(gòu)建的數(shù)據(jù)共享、應(yīng)用共享、服務(wù)海洋決策之目的,首先必須要構(gòu)建一套高效、合理、安全的授權(quán)模型。國家節(jié)點為系統(tǒng)建設(shè)創(chuàng)建用戶管理與授權(quán)的代理,為節(jié)點系統(tǒng)建設(shè)提供包括用戶與角色管理、菜單管理、對象控制、記錄集控制、服務(wù)控制等代理服務(wù),在底層為實現(xiàn)框架構(gòu)建目標提供基礎(chǔ)保障。
圖2 授權(quán)代理服務(wù)框架示意圖Fig. 2 Diagram of authorized agent service framework
3.2.1 代理框架 借鑒Passport面向服務(wù)的分布式解決方案與基于角色授權(quán)模型的靈活性,“數(shù)字海洋”授權(quán)模型采用集中部署代理,節(jié)點分散定義相結(jié)合的方式,實現(xiàn)框架的授權(quán)。模型主要包含節(jié)點部門定義、對象定義、用戶定義、用戶組定義、角色定義、權(quán)限定義、權(quán)限配置、用戶委派、用戶加入到組等軟件構(gòu)件。這些構(gòu)件以服務(wù)的形式,部署在“數(shù)字海洋”主節(jié)點上,供其他各級節(jié)點管理員用戶調(diào)用。授權(quán)代理服務(wù)發(fā)布功能框架如圖2所示。
授權(quán)代理將信息化建設(shè)中的用戶授權(quán)模塊抽象出來,并以標準的WebService接口的形式,供節(jié)點信息化建設(shè)重用。采用這種方式,可以有效解決“數(shù)字海洋”眾多節(jié)點系統(tǒng)異構(gòu)、需求復(fù)雜而給總集成造成極大困難的問題,通過授權(quán)組件以服務(wù)的形式提供,使得節(jié)點精通業(yè)務(wù)人員能夠自由定義本節(jié)點業(yè)務(wù)系統(tǒng)的授權(quán)邏輯,解決了軟件功能單一與用戶需求多樣性的矛盾,實現(xiàn)了軟件產(chǎn)品的開發(fā)與用戶需求的無縫結(jié)合。
3.2.2 授權(quán)模型的運行 總體上,代理框架分為授權(quán)代理預(yù)定義以及用戶的操作界面動態(tài)生成兩個部分。其中在授權(quán)代理的預(yù)定義中,為用戶產(chǎn)生主體能力表,是授權(quán)模型的核心。授權(quán)模型的運行流程如圖3所示。
節(jié)點用戶首先利用授權(quán)代理在代理服務(wù)器上創(chuàng)建節(jié)點的部門信息,在此基礎(chǔ)上完成本部門用戶的創(chuàng)建、可控對象的定義、角色定義以及角色配權(quán)、用戶委派等操作,其中可控對象的定義為節(jié)點系統(tǒng)建設(shè)的系統(tǒng)開發(fā)人員。授權(quán)模型依據(jù)用戶的定義數(shù)據(jù)生成節(jié)點用戶的主體能力表,供用戶登錄界面的初始化之用。
集成在“數(shù)字海洋”框架中的任何系統(tǒng),用戶的訪問均需通過統(tǒng)一的入口(Portal)登錄。用戶鑒別機構(gòu)通過對用戶提供的用戶名/密碼或者CA證書的甄別,判斷用戶是否是“數(shù)字海洋”框架的合法用戶。如合法,則通過調(diào)用該用戶的主體能力表,在總集成框架內(nèi)形成針對于該用戶的操作界面,完成該用戶的授權(quán)。
3.2.3 主要功能組件職責 a) 節(jié)點部門定義工具:“數(shù)字海洋”節(jié)點包括局屬節(jié)點、沿海省市等共 23個節(jié)點,為了使節(jié)點間的授權(quán)信息不會相互影響,造成授權(quán)紊亂,必須要首先進行節(jié)點的部門定義。按照行政隸屬以及業(yè)務(wù)指導(dǎo)關(guān)系,數(shù)字海洋節(jié)點可采用樹狀結(jié)構(gòu)進行管理,根節(jié)點為國家主節(jié)點。
圖3 基于代理機制的授權(quán)模型功能框架Fig. 3 Functional framework of agent-based authorization model
授權(quán)模型中的其他構(gòu)件,都是在部門基礎(chǔ)上展開的。比如,可控對象的定義、用戶的定義、角色的定義等都是針對于某一個特定部門的。部門內(nèi)的資源(包括角色、可控對象)分為公有和私有兩種,標有公有屬性的,可以被下級部門使用,標有私有屬性的資源只能為本部門所用。
b) 對象定義工具:節(jié)點系統(tǒng)中的各種功能模塊、數(shù)據(jù)、界面元素等對象,依據(jù)節(jié)點的具體業(yè)務(wù)情況,對象的機密程度是不一樣的,受到的保護程度亦有差別。系統(tǒng)中的對象均由程序員通過主節(jié)點授權(quán)代理提供的對象定義工具事先定義好,系統(tǒng)也只能控制這些事先已定義好的對象。因此,對象定義是整個系統(tǒng)的核心步驟,直接影響后面的各個安全控制環(huán)節(jié)。對象定義由系統(tǒng)開發(fā)程序員進行初始化配置,包括如下幾步:
(1) 功能模塊定義:系統(tǒng)中除部分公用的界面、公用功能模塊外,其它均為業(yè)務(wù)功能模塊,是用戶完成各自不同業(yè)務(wù)功能的主要途徑,也是我們安全管理要保護的重點對象,所以我們必須對業(yè)務(wù)功能模塊定義。只有對功能模塊對象在代理上進行定義,授權(quán)代理才能依據(jù)用戶需要完成用戶業(yè)務(wù)功能菜單的授權(quán)。
(2) 界面元素控制:除了功能模塊菜單要受到控制外,如要控制功能模塊里面的界面元素,這些界面元素也需定義。大部分界面元素均包含有相關(guān)的業(yè)務(wù)功能操作,所以對相應(yīng)操作的界面元素進行定義是有必要的。
(3) 數(shù)據(jù)信息控制:業(yè)務(wù)功能模塊的大部分界面元素是顯示和操作數(shù)據(jù)內(nèi)容的基礎(chǔ),也是用戶對讀取數(shù)據(jù)和操作數(shù)據(jù)的主要途徑,為了數(shù)據(jù)信息的安全有必要對這些界面元素的操作數(shù)據(jù)采取安全保密措施。這就需要對這些界面元素定義相關(guān)的數(shù)據(jù)約束條件。
c) 權(quán)限定義:在定義好系統(tǒng)對象的前提下,基于不同情況的用戶安全需求,還需要定義不同的訪問類型,也就是要定義對象的權(quán)限。定義權(quán)限包括對象訪問控制和數(shù)據(jù)訪問控制兩方面。為了表述方便我們對權(quán)限用一個三元組符號來形式表示為:P(O,T,P),其中O表示訪問對象;T表示訪問類型;P表示謂詞。表示在謂詞P為真時對于對象O可進行T類型的訪問。權(quán)限定義是系統(tǒng)安全管理基礎(chǔ)步驟之一,只有給各種對象定義好訪問權(quán)限,才能給角色配置權(quán)限,基于角色管理才能成為可能。
d) 角色定義:基于代理機制的授權(quán)模型吸收了基于角色的訪問控制方法的思想,把對用戶的授權(quán)分成兩部份,用角色來充當用戶行使權(quán)限的中介。這樣,用戶與角色之間以及角色與權(quán)限之間就形成了兩個多對多的關(guān)系。授權(quán)代理提供角色定義工具允許用戶根據(jù)自己的需要(職權(quán)、職位以及分擔的權(quán)利和責任)定義相應(yīng)的角色。
圖4 角色的繼承Fig. 4 Inheritance of roles
角色之間有相應(yīng)繼承的關(guān)系,當一個角色R1繼承另一個角色R2時,R1就自動擁有了R2公用的訪問權(quán)限。角色繼承關(guān)系自然的反映了一個組織內(nèi)部權(quán)利和責任的關(guān)系,為方便權(quán)限管理提供了幫助。角色繼承關(guān)系提供了對已有角色的擴充和分類的手段,使定義新的角色可以在已有角色的基礎(chǔ)上進行,擴充就是通過增加父角色的權(quán)限去定義子角色,分類通過不同子角色繼承同一父角色來體現(xiàn)。另外還允許多繼承,即一個角色繼承多個父角色,多繼承體現(xiàn)對角色的綜合能力。
“數(shù)字海洋”節(jié)點總體結(jié)構(gòu)呈樹狀分布,在授權(quán)初始化時,國家根節(jié)點管理員只向其他節(jié)點分配管理員角色,由節(jié)點管理員對本節(jié)點的具體角色情況進行二次定義。換言之,各級節(jié)點管理員角色呈樹狀繼承關(guān)系(如圖 4所示),有效實現(xiàn)了“數(shù)字海洋”權(quán)限的分散管理。
e) 角色配置:角色是一組訪問權(quán)限的集合,一個用戶可以是很多角色的成員,一個角色也可以有很多個權(quán)限,而一個權(quán)限也可以重復(fù)配置于多個角色。權(quán)限配置工作是組織角色的權(quán)限的工作步驟之一,只有角色具有相應(yīng)的權(quán)限后用戶委派才能具有實際意義。
f ) 用戶與用戶組的定義:系統(tǒng)的最終使用者是用戶,因此必須建立用戶的鑒別機構(gòu),登記用戶的身份信息。任一用戶在“數(shù)字海洋”授權(quán)模型內(nèi)都有一個唯一標識,節(jié)點具有管理員角色的用戶可利用授權(quán)代理進行本節(jié)點用戶的創(chuàng)建?!皵?shù)字海洋”用戶鑒別機構(gòu)利用用戶名/密碼或者CA認證的方式來確定登錄用戶是否合法。
為了實現(xiàn)代理授權(quán)模型滿足分散式權(quán)限管理的需要,加入了用戶組(指一群用戶的集合)的概念。用戶組也可以委派角色,當用戶被加入用戶組時,自動對用戶所在用戶組擁有的角色進行了委派。為了便于分散式權(quán)限管理,授權(quán)模型還同時支持對部分組的權(quán)限進行下發(fā)方式處理,授權(quán)特定的用戶對用戶組的用戶權(quán)限進行管理。
通過對基于代理機制的數(shù)字海洋授權(quán)模型功能框架的描述,該模型具有以下優(yōu)點:
(1) 實現(xiàn)了框架內(nèi)用戶的統(tǒng)一管理,為框架內(nèi)實現(xiàn)數(shù)據(jù)資源、應(yīng)用資源的分發(fā)與共享創(chuàng)建了必備的基礎(chǔ)條件。實現(xiàn)數(shù)據(jù)的分發(fā)與共享,首要的前提條件是安全、簡便,用戶在全局的唯一性使得用戶可以將資源準確的分發(fā)給指定用戶或群,更可以簡便獲取到其他用戶共享過了的資源。
(2) 實現(xiàn)了框架內(nèi)所有節(jié)點運行系統(tǒng)在授權(quán)管理上的統(tǒng)一??蚣軆?nèi)的用戶只要記住自己的登錄密碼,或者是保管好自己的認證證書,就可以訪問框架內(nèi)任何授權(quán)的資源或應(yīng)用,再不會因為進入不同的安全區(qū)而必須適應(yīng)不同的認證策略而發(fā)愁。
(3) 實現(xiàn)了資源重用,減少重復(fù)建設(shè),大大降低節(jié)點特色系統(tǒng)建設(shè)成本,提高開發(fā)建設(shè)效率。代理授權(quán)模型以標準 webservie形式發(fā)布功能構(gòu)件,在框架內(nèi)是開放的。節(jié)點業(yè)務(wù)特色系統(tǒng)的建設(shè)者可以將主要精力放在本節(jié)點的業(yè)務(wù)功能實現(xiàn)上,直接利用框架授權(quán)模型。
(4) 實現(xiàn)了節(jié)點分級授權(quán)。由于各個節(jié)點的業(yè)務(wù)情況不同,需求各異,主節(jié)點管理員不可能為其他節(jié)點定制適用角色與權(quán)限。通過角色繼承的方式,主節(jié)點向下級節(jié)點分配管理員角色,節(jié)點管理員依據(jù)自身需求客戶化本地管理員角色,有效解決了主節(jié)點功能一般性與下級節(jié)點需求特殊性的矛盾。
(5) 實現(xiàn)了節(jié)點整體特殊性與框架內(nèi)一致性的統(tǒng)一。代理授權(quán)模型的使用是基于節(jié)點部門的,這就有效的保證了節(jié)點整體的特殊性。節(jié)點對代理授權(quán)模型的使用又是在統(tǒng)一的規(guī)約下進行的,這又在框架內(nèi)維持了安全機制的一致性,使框架內(nèi)的資源分發(fā)與共享成為可能。
(6) 基于角色授權(quán)機制的引用與擴充,使得基于代理機制的授權(quán)模型能夠輕松實現(xiàn)“數(shù)字海洋”眾多節(jié)點復(fù)雜的權(quán)限管理。
“數(shù)字海洋”信息基礎(chǔ)框架內(nèi)的各類海洋產(chǎn)品數(shù)據(jù)以及業(yè)務(wù)應(yīng)用數(shù)據(jù)的整合都離不開高效靈活的授權(quán)模型的支持,基于代理機制的授權(quán)模型為框架的構(gòu)建提供了一個開放的、靈活的、可定制的用戶授權(quán)環(huán)境,很好的解決了因節(jié)點眾多而使用戶管理與授權(quán)需求復(fù)雜化的問題。代理授權(quán)模型的可繼承、可復(fù)用性極大降低了信息管理系統(tǒng)的開發(fā)難度與建設(shè)成本,有效規(guī)范了框架內(nèi)的用戶管理,為未來框架內(nèi)節(jié)點特色信息系統(tǒng)建設(shè)提供了有力的系統(tǒng)用戶管理模型支撐。
[1] 蔣黎峰, 趙保華. 一種靈活的認證授權(quán)系統(tǒng)的設(shè)計與實現(xiàn) [J]. 計算機工程與應(yīng)用, 2006, 18: 221-223.
[2] Epstein P, Sandhu R. A UML Based Approach to Role Engineering [C]. In Proceedings of the 4th ACMWorkshop on Role-Based AccessControl,Fairfax, VA, October 28-29, 1999: 135-142,
[3] Mohammed I, Dilts D M. Design for dynamic user-role-based security [J]. Computers & Security, 1994, 13(8): 661-671.
[4] 陳漢文. 審計理論 [M]. 北京: 機械工業(yè)出版社, 2009: 10-11.
Research on agent-based authorization model in “digital ocean”
WANG Wei1, SHI Sui-xiang1, LI Si-hai1, LIU Zhen-min1, GU Yun-juan2
(1. National Marine Data and Information Center, Tianjin 300171, China;2. Ocean and Fisheries Information Center of Jiangsu Province, Nanjing 21000, China)
The building of authorization system is not only the foundation of building “Digital Ocean” information infrastructure framework, but also the pre-condition for integrating data and application resources within the framework. Base on the in-depth analysis of authority needs, combined with the development of network authorization solution as well as role-based user access control technology, an agent-based authorization model has been given.
digital ocean; agent; authorization; service
TP392; P7
A
1001-6932(2010)02-0206-07
2009-03-10;
2009-10-26
國家海洋局908專項(908-03)
王偉 (1976-),男,河北寬城人,工程師,碩士研究生,主要研究方向為計算機軟件與理論。電子郵箱:wangwei@mail.nmdis.gov.cn