国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種靈活的小顆粒權限管理方法及其實踐

2019-06-19 02:33王博郝羽
現(xiàn)代電子技術 2019年11期
關鍵詞:細粒度角色

王博 郝羽

摘 ?要: 權限管理是應用軟件的重要組成部分,它關系到應用系統(tǒng)安全性和可靠性。當前的軟件管理者和用戶的多樣性為權限管理提出了挑戰(zhàn)。傳統(tǒng)粗粒度的權限管理系統(tǒng)權限粒度較粗,較難適用于用戶復雜多樣的管理系統(tǒng),故提出一種基于“位示權限”和“權限矩陣”的細粒度權限管理的方法(Flex?RBAC),實現(xiàn)了相應的權限分配算法,減小了權限分配的粒度,增加了權限管理的靈活性。提出的細粒度、配置靈活的權限管理方法及設計的原型系統(tǒng),為應用軟件的細粒度權限管理提出一種切實可行的方法。Flex?RBAC方法的創(chuàng)新點在于權限管理的粒度細小、配置靈活、算法實現(xiàn)簡單,具有較高的通用性。

關鍵詞: Flex?RBAC; 細粒度; 權限管理; 角色; 位示權限; 權限矩陣

中圖分類號: TN911?34 ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)11?0153?05

Abstract: Permission management as an important part of application software is critical to the security and reliability of the software system, which is challenged by diversity of software managers and users. The traditional coarse?grained permission management system is difficult to apply to the management system with complex and diverse users. Therefore, a flexible role?based access control (Flex?RBAC) method based on bit map for permission and permission matrix is proposed, which can realize the corresponding permission assignment algorithm, reduce the granularity of permission distribution, and increase the flexibility of permission management. A permission management method with fine granularity and flexible configuration, and its prototype system are proposed, which provides a feasible method for fine?grained permission management of application software. The Flex?RBAC method has the innovation points of fine granularity and flexible configuration of permission management, easy algorithm implementation, and high universality.

Keywords: flexible role?based access control; fine grit; permission management; role; bit map for permission; permission matrix

0 ?引 ?言

權限管理和訪問控制是管理系統(tǒng)的重要組成部分,它關系到整個系統(tǒng)的安全性和資源訪問的級別[1]。當前無處不在的軟件應用,尤其是云計算[2]、Web系統(tǒng)[3?4]和移動應用系統(tǒng)[5]的大量涌現(xiàn),使用者級別的多樣性[6],為軟件開發(fā)中的安全性和可靠性提出了更高的要求[7?8]。更進一步,隨著社會的飛速發(fā)展,軟件的開發(fā)周期要求非常短,因為若不如此,一個新的創(chuàng)新成果很快被復制。其次,軟件開發(fā)成本也被急劇壓縮。一個良好的權限管理系統(tǒng)應該可以獨立于其他的功能需求和非功能需求。因此,提出一種非侵入式的、獨立的權限管理框架,尤其是一種小粒度[9]、靈活的權限管理方法,對于提高軟件開發(fā)的效率、降低軟件的開發(fā)成本,提高軟件的靈活性和安全性是非常有必要的。

針對這種情況,本文提出一種靈活可行的權限管理方法Flex?RBAC(Flexible Role?based Access Control),可以有效地解決上述問題,該方法的主要特點和創(chuàng)新點如下:

1) 靈活性。靈活性是本方法的主要特點,通過配置,可以非侵入原有系統(tǒng),對操作和功能進行權限管理。

2) 小粒度[9]。針對某一功能塊和某一事件的小粒度權限,該方法適用面廣。

3) 高效簡單。對權限可以采用一種位權限的方法標識該權限,對權限進行簡單的位運算可以快速配置或者取得權限,方法簡單有效。

4) 通用性[7]??梢赃m用各類軟件,如果稍加修改可以適用各類CS、BS系統(tǒng)。

5) 安全性[1]。對用戶的密碼使用SHA加密,因此,即使后臺工作人員看到了密碼,也無法破解密碼而侵入系統(tǒng)。

1 ?Flex?RBAC方法的設計思想

在應用系統(tǒng)的開發(fā)中,常見的訪問控制方法有如下三種形式:自主訪問控制(DAC)、強制訪問控制(MAC)和基于角色的訪問控制(RBAC)[10]。本文所提出的新的權限管理模型是在RBAC基礎模型之上做的一種擴充和改進,并設計了一種原型。該方法具有較高的靈活性和較細的訪問控制粒度,本文稱之為Flex?RBAC。

1.1 ?Flex?RBAC設計思想

RBAC是基于角色的權限管理方法,RBAC基礎權限具有如下三個核心元素:用戶、角色和權限。這個基礎模型可以用圖1表示。

圖1 ?RBAC基礎權限模型

圖1中RBAC基礎權限模型的元素包括[5]:

1) URPS分別代表用戶USER、角色ROLE、權限PERMISSION和會話SESSION;

2) PA?[P×R],多對多的權限指派關系;

3) UA?[U×R],多對多的用戶角色指派關系;

4) User:[S→U],映射每一個用戶到會話;

5) Role:[S→2R]映射每一個會話到一組角色。

上述權限設計和權限分配粒度較粗,在Flex?RBAC方法中,對權限的設計和分配做了較細粒度的調(diào)整,把權限分成兩個部分:一部分是應用的基礎權限BP(Base Permission),基礎權限對系統(tǒng)的基礎操作做了分離;另一部分是特殊操作權限SP(Specific Permission),特殊權限分配比如上傳下載,郵件發(fā)送等功能。如圖2所示。

圖2 ?細粒度權限分配方案

這種權限的設計思想是:基礎權限在訪問控制的粒度上更小,游離于整個系統(tǒng)中,特殊共有功能權限被獨立分離提取,可以總體上被配置和控制。通過這種方法,使得總的權限控制粒度變得比較細小,權限分配更加靈活。

1.2 ?權限分配

下面Flex?RBAC從權限分配的幾個難點和重點上給出設計思路和方案。這幾個重難點包括細粒度基礎權限分配、特殊功能權限分配和加密策略。

1.2.1 ?Flex?RBAC細粒度基礎權限分配

Flex?RBAC的權限分配包括兩部分,即基礎權限分配和特殊權限分配。在這兩個權限分配中采用不同的方法,前者采用“位示權限”,所謂“位示權限”,就是用一個二進制數(shù)的每一位來表示每一種角色是否具有該權限,0和1分別表示具有和不具有該訪問權限;后者采用“權限矩陣”的分配方式,所謂“權限矩陣”就是用二維矩陣表示角色和特殊功能之間的具有關系,二維矩陣中的值true和false分別代表該角色是否具有該權限。

為了靈活簡單地表示基礎權限,在這里,把每一個權限用[0~n]的整數(shù)來表示,不同的整數(shù)表示一種不同的權限,在該位上設置1或者0分別表示具有該基礎操作的訪問權限或者不具有訪問權限。那么所有的權限就可以用一個大整數(shù)表示該角色擁有的權限。再結(jié)合該角色是否擁有“分離的細粒度操作”[ζ]來確定是否具有細粒度的操作。如圖3所示。

圖3 ?基礎權限分配的“位示權限”

1.2.2 ?特殊功能權限矩陣

在一個系統(tǒng)中有眾多的共有功能,比如郵件發(fā)送、上傳下載、短消息發(fā)送等子功能,這些功能需要根據(jù)不同的角色權限,分配不同的功能權限。由于這些功能離散在應用系統(tǒng)的各部分,因此在設計時,需要通盤考慮,把這些功能權限剝離出來,設計成角色功能矩陣[?]。FunRight[=?(i,j)],[?]為權限功能矩陣,見表1。

表1 ?特殊功能權限矩陣

2 ?Flex?RBAC的系統(tǒng)設計

前面給出了Flex?RBAC的設計思想,微小粒度的基礎權限和特殊權限劃分的方案和設計思想。采用何種數(shù)據(jù)結(jié)構、如何建模是在Flex?RBAC微小粒度權限管理系統(tǒng)中實現(xiàn)的關鍵問題。下面從Flex_RBAC的功能結(jié)構、數(shù)據(jù)庫設計和算法實現(xiàn)方面一一闡述。

2.1 ?Flex?RBAC系統(tǒng)功能結(jié)構

Flex?RBAC權限管理中,主要包含如下功能:系統(tǒng)用戶管理、角色管理、功能管理、基礎權限分配、功能權限分配。其中,用戶管理負責對不同用戶的注冊、刪除、更新和用戶基本信息管理,為用戶分配角色;角色管理負責建立不同的角色,并對角色進行基本管理;基礎權限管理負責創(chuàng)建基礎權限;基礎權限分配功能通過位示權限為角色分配基礎權限功能和微小權限控制權限;功能權限分配通過權限矩陣為用戶角色分配功能權限。圖4是Flex?RBAC的功能結(jié)構圖。

圖4 ?Flex?RBAC的功能結(jié)構圖

2.2 ?Flex?RBAC數(shù)據(jù)庫設計

圖5是Flex?RBAC的實體關系圖,主要涉及系統(tǒng)用戶sys_user,系統(tǒng)角色表sys_role,基礎權限表sys_baseRight,特殊權限表sys_specificRight,角色?特殊功能權限表sys_role_specificRight。

圖5 ?Flex?RBAC的實體關系圖

2.3 ?Flex?RBAC權限分配算法

表2 ?系統(tǒng)用戶表sys_user

表3 ?角色表sys_role

表4 ?基礎功能表sys_baseRight

表5 ?特殊功能表sys_specificRight

表6 ?角色?特殊功能權限表sys_role_specificRight

3 ?Flex?RBAC的系統(tǒng)實現(xiàn)

根據(jù)上述設計思想和設計方案,本節(jié)給出Flex?RBAC的一種設計實現(xiàn)原型。本方案采用Web方式的Apache Shiro框架[11]。Apache Shiro是一個強大且易用的Java安全框架,執(zhí)行身份驗證、授權、密碼學和會話管理[12]。

3.1 ?總體Shiro配置

此部分配置了ShiroRealm的實現(xiàn)類和訪問路徑的配置。其中,在Shiro Filter中配置的Shiro Filter的filterChainDefinitions取值有兩種,分別是anno和authc。anno代表不需要授權即可訪問,對于靜態(tài)資源,訪問權限都設置為anno,authc表示需要授權才可訪問。

3.2 ?基礎權限實現(xiàn)

基礎權限的分配由基礎功能和微小控制權限構成。權限分配的截圖如圖6所示。

圖6 ?基礎權限分配

在選擇功能權限中,是一個樹形的功能權限截圖,如圖7所示。

圖7 ?基礎功能權限樹

3.3 ?特殊功能權限實現(xiàn)

特殊功能權限是對離散于整個系統(tǒng)中的特殊功能的一種提取。圖8的矩陣是設計的角色?特殊功能權限矩陣,其中,橫向是特殊功能,縱向是用戶角色。圖中的按鈕是一種開關按鈕,點擊該按鈕,該特殊功能權限可以在設置和取消間反轉(zhuǎn)。

圖8 ?特殊功能權限矩陣可視化

4 ?結(jié) ?語

本文針對應用系統(tǒng)中的權限管理做了仔細分析,提出一種細粒度的權限管理方案,并給出設計原型。在基礎功能權限和特殊功能權限上給出權限設計的思路和算法,相比其他的權限管理方案,具有粒度細小、配置靈活和功能簡單高效的特點。在多種應用軟件中已經(jīng)實踐了該方案,同時也證明了Flex?RBAC是一種行之有效的細粒度權限管理方法。

該方法尚有一些不足之處,對特殊功能權限沒有做進一步的細分。比如,資源上傳和下載的功能,該用戶可以對某些資源具有上傳和下載的權限,但對另外的一些資源不具備該權限。對這類特殊權限的超細粒度尚未做深入的考慮。希望能在后續(xù)的研究和開發(fā)中,進一步完善這部分的工作。

參考文獻

[1] CHEN A, XING H, SHE K, et al. A dynamic risk?based access control model for cloud computing [C]// 2016 IEEE International Conferences on Big Data and Cloud Computing. Atlanta: IEEE, 2016: 579?584.

[2] HAN D J, ZHUO H K, XIA L T, et al. Permission and role automatic assigning of user in role?based access control [J]. Journal of Central South University, 2012, 19(4): 1049?1056.

[3] JIANG L, ZHU A. The permission management of access and control based on role in monitoring platform [C]// 2016 International Conference on Advances in Mechanical Engineering and Industrial Informatics. [S.l.]: Atlantis, 2016: 2219?2226.

[4] 陳宮浩,卿粼波,滕奇志,等.RBAC權限管理模型在油田管理系統(tǒng)中的應用[J].微型機與應用,2017,36(2):87?89.

CHEN Gonghao, QING Linbo, TENG Qizhi, et al. Application of RBAC authority management model in oilfield management system [J]. Microcomputer and its applications, 2017, 36(2): 87?89.

[5] 鄧盛源,盧建朱,楊菁菁,等.一種基于角色的WSN訪問控制改進方案[J].計算機工程,2014,40(5):129?133.

DENG Shengyuan, LU Jianzhu, YANG Jingjing, et al. An improved role?based access control scheme in wireless sensor network [J]. Computer engineering, 2014, 40(5): 129?133.

[6] 湯文亮,李科.基于RBAC模型的權限管理改進研究與實現(xiàn)[J].計算機工程與設計,2015(5):1181?1186.

TANG Wenliang, LI Ke. Research and implementation of improved authority management based on RBAC model [J]. Computer engineering and design, 2015(5): 1181?1186.

[7] 趙君,熊燕妮.基于角色和顆粒操作的自定義通用權限管理模型研究[J].軟件導刊,2016,15(12):14?16.

ZHAO Jun, XIONG Yanni. Research on custom universal permission management model based on role and particle operation [J]. Software guide, 2016, 15(12): 14?16.

[8] 卜質(zhì)瓊,鄭波盡.一種改進的云存儲平臺權限管理機制設計[J].現(xiàn)代電子技術,2016,39(21):1?6.

BU Zhiqiong, ZHENG Bojin. Design of an improved privilege management mechanism for cloud storage platform [J]. Modern electronics technique, 2016, 39(21): 1?6.

[9] 涂小琴,吳晟.基于細粒度權限質(zhì)檢管理系統(tǒng)的研究與設計[J].軟件,2017(12):87?89.

TU Xiaoqin, WU Sheng. Research and design of fine grained permission based quality inspection management system [J]. Computer engineering & software, 2017(12): 87?89.

[10] 郭巍.基于RBAC的測井數(shù)據(jù)權限管理模塊的設計與實現(xiàn)[D].北京:北京大學,2008.

GUO Wei. Design and implementation of RBAC based access management module for logging data [D]. Beijing: Peking University, 2008.

[11] 許滔.基于Shiro的移動應用權限控制系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代計算機,2016(6):97?100.

XU Tao. Design and implementation of mobile permission control system based on Shiro [J]. Modern computer, 2016(6): 97?100.

[12] 劉全飛,周相兵.基于Apache Shiro的站群角色管理[J].計算機系統(tǒng)應用,2015,24(6):177?182.

LIU Quanfei, ZHOU Xiangbing. Station group role management based on Apache Shiro [J]. Computer system & applications, 2015, 24(6): 177?182.

猜你喜歡
細粒度角色
細粒度云數(shù)據(jù)自適應去重方法研究
融合判別性與細粒度特征的抗遮擋紅外目標跟蹤算法
細粒度的流計算執(zhí)行效率優(yōu)化方法
基于SVM多分類的超分辨圖像細粒度分類方法
基于雙線性卷積網(wǎng)絡的細粒度圖像定位
支持細粒度權限控制且可搜索的PHR云服務系統(tǒng)
小議戲曲中角色的發(fā)展趨勢
《冰雪奇緣》開啟迪士尼劇本角色新模式
人力資源開發(fā)與智力資本提升的關系探析
普通高等學校思想政治教育輔導員角色問題研究