基于PBAC的统一权限管理平台设计与实现

基于PBAC的统一权限管理平台设计与实现电虾机电路图
作者:郭甜莉 谢晶 龙海辉
来源:《中国教育信息化·高教职教》2020年第05期
        摘 要:為了解决高校院系信息化过程中出现的问题,文章基于RBAC的权限控制体系,
提出了PBAC的设计理念,引入岗位和部门概念,给出了一整套权限管理解决方案。文章阐述了授权系统总体架构和详细设计,同时将授权功能细化,建设统一授权系统和分级授权系统。用户可以从两条路径获取应用系统的操作权限,通过为应用和岗位设置管理岗,实现了岗位和角的再分级。
        关键词:角;岗位;部门;统一权限管理;分级授权
        中图分类号:TP311.1 文献标志码:A 文章编号:1673-8454(2020)09-0040-04
        一、背景和需求
        为了进一步提高院系管理信息化程度,更好地实现“院为实体”的理念,为学校“双一流”建设提供有力支撑,上海交通大学网络信息中心为校内业务系统提供接入上海交通大学统一身份认证服务(以下简称“jAccount服务”),允许校内新开发业务系统通过jAccount进行身份认证。当前各个业务系统为了实现对登录用户的访问控制,各自开发独立的访问控制模块,这带来了以下两个问题:
        1.访问控制模块重复开发,安全性无法保障
        访问控制是业务系统的基本组成之一,且校内各业务系统用户访问权限需求存在共性,是可以作为公共逻辑模块使用的。而且由于各个开发团队经验差异,访问控制模块开发安全性没有保障。这不但增加了业务系统开发成本,也增加了校内安全小组监控风险。
音频切换器
        2.用户的访问权限分散管理,增加运维难度
钟鼎邦        各个业务使用独立的访问控制模块,则无法共享一些用户的访问权限。而各个院系作为交大的组成部分,用户权限关联性是全校性的,重复配置增加了管理成本。同时,分散的访问权限管理,让在全校范围管理一个用户访问权限无法实现。
        随着院系信息化的继续推进,上述问题越发突出,已经成为校内信息化安全问题主要隐患。为了解决上述问题,加快推进院系信息化,设计和实现一个高性能、高可用的统一权限管理平台势在必行。
勺铲        二、设计与实现
        为了增强各个业务系统用户访问权限管理的安全性,提高用户权限管理效率和降低业务系统开发成本,本文提出了构建校内统一权限管理平台,为校内各个业务系统提供权限
管理服务支持。
        1.关联系统
        jAccount统一认证服务。jAccount是上海交通大学网络信息中心开发的用户认证体系。通过就Account认证体系,可以在Web应用中实现单点登陆,同时也可以为校内第三方应用提供统一身份认证和单点登陆服务[1]。
        2.基于PBAC(policy-based access control)的权限管理架构
        高校业务系统常用的授权系统是基于角的权限访问控制(Role-Based Access Control),简称RBAC。在RBAC中,权限与角相关联,用户通过成为适当角的成员而得到这些角的权限。但是在实际应用中,仅仅对可以执行的操作进行限制是不够的,比如在校级系统/应用中,不同院系的用户,同一个操作可操作的对象是有不同的,而这种限制往往是基于用户所处的院系部门的不同而存在差异的。RBAC访问控制体系是无法满足此需求的。
        因此本方案采用了基于PBAC体系的权限架构,使用院系部门(以下简称部门)作为
权限的策略,限制权限可以访问的数据范围。
        (1)术语定义
        ①权限(Rights)
        权限管理的最小单位,定义了业务系统/应用的最小需要管理的操作集合,比如删除信息操作,指定菜单查看权限等[2]。
        ②角(Roles)
网联网        权限的集合,是权限分配的最小单位[2]。比如系统管理员。角是系统/应用隔离的,即本系统/应用的角仅本系统内可用。
        ③岗位(Posts)
        跨系统/应用的角,即允许多个系统/应用共用一个岗位配置。在我们的实践中,“岗位”和现实高校中实际的岗位概念通常也是对应的,比如,我们可以定义一个“岗位”为“教务员”或者“设备管理员”等[3]。目前岗位的常用应用场景为“一门式”流程平台中各类流程应用
的审批人配置。
        ④部门(Department)
        权限管理采用部门限制策略,以实现权限可以操作的数据范围限定。部门是树形层级关系,限定数据最小范围依赖于部门树叶子节点。
        ⑤全局角(GlobalRoles)[3]
        岗位往往是有部门限制的,本文将岗位、组织机构的二维映射关系称为全局角。当组织机构为空时,二维的全局角退化为一维的岗位,在实际情况中,表示为不属于任何组织机构的全局性岗位[3]。
        ⑥用户(User)
        业务系统的用户。通过给用户分配角/岗位来实现用户的访问权限配置。
        (2)权限管理设计六氢吡啶
        本文提出的权限管理框架采用角、部门、用户三元组结构来管理权限。如图1所示,岗位和部门的关系称为全局角,是二元组关系(岗位,部门);角和全局角的关系称为角的全局角,是三元组关系(角,岗位,部门);我们通过给用户设置岗位,即设置(用户,岗位,部门)三元组关系,从而使用户拥有相关角。
        3.系统架构和实现
        (1)系统总体架构和数据库设计
        Spring Boot开源框架可以简化Spring 开发框架的开发、配置、调试、部署工作,同时在项目内集成了大量易于使用且实用的基础框架[4-5]。授权系统后端基于Spring Boot和Spring Data JPA框架来实现,前端使用了Vue.js,采用前后端分离的开发模式。后端系统包括应用层、服务层、持久层和公共服务类等。应用层包括控制器和视图模型等内容,服务层包括服务接口和实现类,持久层包括Dao接口和实现类。除此之外,还有统一登录、权限检查、统一异常处理、日志服务、、工具包等公共类。授权系统代码保管到git仓库,可以多人同时开发系统,方便检查代码质量和控制项目版本。测试环境和生产环境采用Jenkins持续部署,简化发布流程。

本文发布于:2024-09-23 06:32:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/100556.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:l详解
标签:权限   系统   用户   角色
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议