每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks

          訪問控制背景

          ??? 訪問控制技術(shù)是由美國國防部(Department of Defense, DoD)資助的研究和開發(fā)成果演變而來的。這一研究導(dǎo)致兩種基本類型訪問控制的產(chǎn)生:自主訪問控制(Discretionary Access Control, DAC)和強(qiáng)制訪問控制(Mandatory Access Control, MAC)。最初的研究和應(yīng)用主要是為了防止機(jī)密信息被未經(jīng)授權(quán)者訪問,近期的應(yīng)用主要是把這些策略應(yīng)用到為商業(yè)領(lǐng)域。

          ??? 自主訪問控制,允許把訪問控制權(quán)的授予和取消留給個體用戶來判斷。為沒有訪問控制權(quán)的個體用戶授予和廢除許可。自主訪問控制機(jī)制允許用戶被授權(quán)和
          取 消訪問其控制之下的任何客體(object),換句話說,用戶就是他們控制下的客體的擁有者。然而,對于多數(shù)組織來說,最終用戶對所訪問的信息沒有擁有 權(quán)。對于這些組織,公司或代理機(jī)構(gòu)是事實上的系統(tǒng)客體和處理他們的程序的擁有者。訪問優(yōu)先權(quán)受組織控制,而且也常常基于雇員功能而不是數(shù)據(jù)所有權(quán)。

          ?? 強(qiáng)制訪問控制,在美國國防部 Trusted Computer Security Evaluation Criteria (TCSEC) 中定義如下:“一種限制訪問客體的手段,它以包含在這些客體中的信息敏感性和訪問這些敏感性信息的主體的正式授權(quán)信息(如清除)為基礎(chǔ)”。
          ??
          ?? 以上訪問控制策略對于處理一些無需保密但又敏感的信息的政府和行業(yè)組織的需求并不是特別的適合。在這樣的環(huán)境下,安全目標(biāo)支持產(chǎn)生于現(xiàn)有法律、道德規(guī)范、 規(guī)章、或一般慣例的高端組織策略。這些環(huán)境通常需要控制個體行為的能力,而不僅僅是如何根據(jù)信息的敏感性為其設(shè)置標(biāo)簽從而訪問這一信息的個人能力。
          ????


          什么是基于角色訪問控制(Role-Based Access Control, RBAC)?NIST 有如下定義。
          ??
          ?? 訪問是一種利用計算機(jī)資源去做某件事情的的能力,訪問控制是一種手段,通過它這種能力在某些情況下被允許或者受限制(通常是通過物理上和基于系統(tǒng)的控 制)。基于計算機(jī)的訪問控制不僅可規(guī)定是“誰”或某個操作有權(quán)使用特定系統(tǒng)資源,而且也能規(guī)定被允許的訪問類型。這些控制方式可在計算機(jī)系統(tǒng)或者外部設(shè)備 中實現(xiàn)。
          ??
          ??? 就基于角色訪問控制而言,訪問決策是基于角色的,個體用戶是某個組織的一部分。用戶具有指派的角色(比如醫(yī)生、護(hù)士、出納、經(jīng)理)。定義角色的過程應(yīng)該基于對組織運轉(zhuǎn)的徹底分析,應(yīng)該包括來自一個組織中更廣范圍用戶的輸入。
          ???
          ??? 訪問權(quán)按角色名分組,資源的使用受限于授權(quán)給假定關(guān)聯(lián)角色的個體。例如,在一個醫(yī)院系統(tǒng)中,醫(yī)生角色可能包括進(jìn)行診斷、開據(jù)處方、指示實驗室化驗等;而研究員的角色則被限制在收集用于研究的匿名臨床信息工作上。
          ???
          ??? 控制訪問角色的運用可能是一種開發(fā)和加強(qiáng)企業(yè)特殊安全策略,進(jìn)行安全管理過程流程化的有效手段。
          ?????


          用戶(User)和角色(Role)

          ??? 用戶指訪問系統(tǒng)中的資源的主體,一般為人,也可為 Agent 等智能程序。角色指應(yīng)用領(lǐng)域內(nèi)一種權(quán)力和責(zé)任的語義綜合體,可以是一個抽象概念,也可以是對應(yīng)于實際系統(tǒng)中的特定語義體,比如組織內(nèi)部的職務(wù)等。針對角色 屬性的不同,某些模型中將角色進(jìn)一步細(xì)分為普通角色和管理員角色(可理解為全局角色)。

          ?

          許可(Permissions)和權(quán)限(Permission)

          ??? 許可描述了角色對計算機(jī)資源的訪問和操作所具有的權(quán)限,其反映的是授權(quán)的結(jié)果。比如授予某個角色對計算機(jī)資源有讀的權(quán)限,則代表了一個許可的存在,這個許 可表示:角色獲取了對計算機(jī)資源的讀許可。針對操作來說,其描述的是許可和操作之間的一種關(guān)聯(lián)關(guān)系,而這層關(guān)系則表示了某一角色對某一操作所具有的權(quán)限及 權(quán)限狀態(tài)。


          ?????
          角色和指派(Assignment)

          ??? 指派包含兩個方面,用戶指派和許可指派。用戶指派表示的是,將用戶指派給特定的角色。許可指派表示的是為角色指派計算機(jī)資源的訪問和操作許可。

          ?

          會話(session)

          ??? 會話表示的是用戶和角色之間的關(guān)系。用戶每次必須通過建立會話來激活角色,得到相應(yīng)的訪問權(quán)限。

          ?

          角色和角色等級(Role Hierarchies)

          ??? 角色本身僅僅只是一個名詞,其本身并不能代表權(quán)限的大小。比如,我們可以定一個“Director”的角色,也可以定一個“Project Leader”的角色。對于現(xiàn)實中我們來說,看到這樣兩個角色,就清楚 DIR 的權(quán)限要比一個 PL 的權(quán)限級別高。但是對計算機(jī)來說,這兩個角色僅僅是兩個“詞語”,是等同的。可以采用分等級角色,在角色上實現(xiàn)層次化來解決這些問題。也可以采用復(fù)合角色 (其表示的就是一個角色組的概念),對角色實現(xiàn)一定的分組和復(fù)合,以便于權(quán)限指派。在一些 OA 產(chǎn)品中經(jīng)常出現(xiàn)分等級角色。
          ???


          限制(Constraints)
          ???
          ??? 模型中的職責(zé)分離關(guān)系(Separation of Duty),用于控制沖突(Conflict)。靜態(tài)職責(zé)分離(Static SD)指定角色的互斥關(guān)系,用于用戶指派階段。避免同一用戶擁有互斥的角色。實現(xiàn)簡單,角色互斥語義關(guān)系清楚,便于管理不夠靈活,不能處理某些實際情況。 動態(tài)職責(zé)分離(Dynamic SD)指定角色的互斥關(guān)系,用于角色激活階段。允許同一用戶擁有某些互斥的角色,但是不允許該用戶同時激活互斥的角色。更靈活,直接與會話掛鉤,適應(yīng)實際 管理需要,實現(xiàn)復(fù)雜,不易管理。

          ?????????????

          ?

          ?

          參考文獻(xiàn)

          《AN INTRODUCTION TO ROLE-BASED ACCESS CONTROL》 NIST

          《工作流授權(quán)控制模型》??????? 胡長城

          《基于角色的權(quán)限管理綜述》 俞詩鵬

          ?

          ?

          最后,感謝宏云博士對本文翻譯提供的指導(dǎo)。???


          請注意!引用、轉(zhuǎn)貼本文應(yīng)注明原作者:Rosen Jiang 以及出處:http://www.aygfsteel.com/rosen

          posted on 2006-10-26 21:31 Alex 閱讀(494) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 营山县| 冕宁县| 邵武市| 宜兴市| 中超| 中西区| 吉林市| 开江县| 梨树县| 郎溪县| 荆州市| 石渠县| 峨山| 嵊州市| 奉化市| 虞城县| 阿拉尔市| 潞西市| 侯马市| 屯留县| 夏邑县| 东平县| 巴彦淖尔市| 丹巴县| 双峰县| 荣成市| 仪陇县| 襄汾县| 新乡市| 武邑县| 扬州市| 股票| 彭阳县| 抚州市| 喀喇| 望奎县| 息烽县| 鸡泽县| 榆树市| 临澧县| 惠东县|