一文详解ToB权限设计rbac流程图

这是”一文”系列的第二篇。本篇主要介绍基于RBAC模型权限设计的方法。

01什么是RBAC模型权限?

我们先看下边一个小场景:

小明同学想晚上10点后进入图书馆学习,就在晚上10点准备进入图书馆时被保安王大叔给拦住了,理由是只有图书馆管理员10点以后才能进入图书馆。1.怎么样才能让小明同学在10点以后进入图书馆学习?

“让小明同学偷偷溜进去?”“给保安王大叔给好处?”

“还是让小明同学去“某组织”申请成为“图书馆管理员”?”

看来还是申请成为“图书馆管理员”比较靠谱,虽然需要写申请书,找老师签字等走一系列的流程,虽然麻烦,但是这是晚上10点以后进入图书馆的正规途径。

2.进图书馆小场景和RBAC模型有什么联系?

首先我们先看下百度百科的介绍

“RBAC(Role-BasedAccessControl):基于角色的访问控制(RBAC)是实施面向企业安全策略的一种有效的访问控制方式。”“其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。”

看了百度百科介绍是不是感觉一脸懵?我们结合上边的小场景去看:

通过小场景,我们简单的理解了RBAC的基本概念,用“角色”将“用户”与“权限”进行分割,实现“用户”与“权限”的解耦。只要是小明同学属于图书馆管理员角色,他就可以进入晚上10点后图书馆,其他同学如果也申请了图书馆管理角色,同理也是可以在晚上10点以后进入图书馆的。

有人问会有疑问,为什么要设置“角色”,直接把权限赋予给“用户”就行啦,不需要这么麻烦呀。咱们接着往下看。

3.RBAC模型的特点

如果图书馆出了新规定,晚上10点禁止任何人进入图书馆。图书馆只需要将“图书馆管理员”角色下晚10点后进入图书馆权限关闭即可(如下图)。反之,试想如果没有“图书馆管理员”角色,直接将晚上10点以后进入图书馆权限赋给小明和其他同学。要取消权限就要对每个有权限的同学进行取消权限,大大增加了工作量。

适用企业管理变化

图书馆又发出新规定“图书馆出了新规定,晚上10点禁止任何人进入图书馆不合理,应该让“保安”可以在晚上10点进入图书馆进行巡逻。”通过RBAC模型方式,直接将“保安”角色赋予“晚上10点以后进入图书馆”的权限就可以了。

02RBAC模型权限设计方法模型1:RBAC0

RBAC0是RBAC的基础,RBAC1,RBAC2,RBAC3模型都是从RBAC0模型拓展而成。

RBAC0模型中用户,角色,权限都是多对多关系。例如:实际中企业可能由于各种原因会出现一人承担多个角色。比如担任人力岗位同时,也会承担行政的工作。

模型2:RBAC1

RBAC1在RBAC0的基础上,加入角色继承的概念。将角色下分成各个等级的小角色(如图),子级权限继承父级。如下图,根据子级等级不同来分配更细粒度的权限。

例如:公司的财务总监可以看到整个公司所有部门的财务报表数据,而销售部财务经理只能看到销售部财务报表数据,在销售部财务经理下可能还会设立其他岗位,比如财务专员,财务专员可能只有查看销售部具体某个报表的权限。

模型3:RBAC2

RBAC2是对RBAC0在角色,权限上增加了限制条件,例如:公司规定有人被赋予了财务角色,就不能再赋予他审计角色。这样可以在一定程度上防止在年总审计时候,审计人与被审计人是同一个人。这就是角色互斥。

用户拥有的角色数,角色可以被赋予给多少用户数,角色拥有的权限数都是可以被限制的,这就是基数限制。

还有先决条件限制,比如想拥有高级产品经理,就必须先拥有产品经理角色。

模型4:RBAC3

RBAC3=RBAC1+RBAC2

RBAC3集成了RBAC1的角色分级继承,同时也包括RBAC2中的各种限制。如下图

03实例复盘1.前期分析

A系统(企业内部营销域平台)是我最近在参与项目之一,主要职责一部分是设计后台功能,这其中就包含了权限设计。

对于A系统的权限设计,我是从下边三个点出发进行分析:

什么人用?

用户从哪来?

什么身份(角色)

在找到“人”之后就要进行开始“身份”调研了。“身份”调研阶段是跟进在整个业务调研阶段中,例如在调研中会梳理到实际业务组织架构。虽然已经确认有了人力系统组织架构,但是根据实际经验往往人力架构与实际业务中架构会有一些差异。

通过前期业务调研后我们整理出组织架构,在组织架构梳理中明确了组织中父子级对应关系,在前期调研中也许明确出岗位角色中是否有“限制条件”,例如岗位角色是否有唯一性限制,如下图所示中每个分公司里只有一个运营总监,销售总监等等。(RBAC2中基数限制)

用什么功能(权限)

功能权限分为功能权限与数据权限。

功能权限指的角色在系统内操作范围,例如角色A可以点击报表导出按钮或者管理员角色在系统中可以看到后台管理菜单并可以对其进行操作。

数据权限指的角色在系统中可操作的数据范围,例如报表中只显示该角色的数据范围内数据,比如上海公司的运营总监查看数据权限只是上海分公司内的,同时筛选数据条件范围也只限于其权限内。

2.设计阶段

在梳理了用户,角色,权限(功能&数据)关系后,就要着手进行功能设计了。

根据用户流向策略,绘制出了如下后台业务流程图(初版)。

基于初版流程图,先整体设计出后台功能架构。

用户中心:账号管理数据管理角色中心:角色管理角色功能管理角色组织岗位管理角色数据管理组织管理:组织对接

用户心中:账号管理主要功能为账号创建,查看,删除,导出,修改,账号状态修改(停用/冻结).针对供应商账号可以该功能模块进行创建,其他操作可以对所有账号进行。数据管理主要展示用户的数据权限查看,导出,删除。

角色中心:角色管理主要功能为角色创建,查看,删除,导出,修改。角色功能管理是角色与功能权限进行配置。角色组织岗位管理为角色与组织岗位关系的查看、导出。角色数据管理可为角色进行数据模板配置,用户在提报角色数据权限时,只能根据数据模板设置进行相应权限提报。

组织管理:组织对接功能与人力系统进行组织对接。

3.场景演练

下图为新员工角色数据权限流程图。

后记

由于该项目暂时还未正式上线,所以复盘的时隐藏了大部分信息,例如原型图。可能会导致大家阅读起来比较困难,后续我会根据实际情况不断更新项目实例。

给大家一点建议:整体权限设计应该在项目开始时就要贯穿其中,优秀的后台权限设计方案,必定是依靠着前台清晰的功能设计而生成的。所以尽量多参与项目调研阶段与需求分析阶段,最好整体都参与其中。

在整个项目权限设计中思想都是基于RBAC模型去设计的,RBAC模型的特点之一也是可以灵活多变的支持企业组织架构的伸缩,同时也提高了运维管理的效率。遗憾点是在设计初期并未考虑到分公司自行运营A系统的长远需求(近几年并不会实际落地),没有在设计时提出“租户”或者“用户组”概念。

本文由@Sean原创发布于人人都是产品经理。未经许可,禁止转载

THE END
1.图书管理系统的业务流程图数据库设计图书馆管理系统 ### 数据库设计图书馆管理系统 ### 一、系统概述与需求分析 图书馆管理系统是现代图书馆高效运作的核心工具,其设计旨在优化图书资源管理、借阅流程和用户服务体验。本系统覆盖了图书资料的基本管理和图书资料的借阅管理两大部分。 **1.1 图书资料基本管理** - **新书编号、登记、入库**https://wenku.csdn.net/answer/15wfoiry6s
2.图书馆管理系统业务流程图20230702.ppt精品第一层数据流图图书管理员图书P1,图书归档图书P2,借还书管理读者图书还书P3,读者管理借书证借书单读者资料读者借阅信息图书馆管理系统业务流程图全文共8页,当前为第2页。精品P1图书维护分解图图书管理员图书维护图书P1.1图书登记P1.2维护图书基本信息P1.3剔除旧书图书图书图书图书图书图书图书图书馆管理系统业务流程https://m.renrendoc.com/paper/279731340.html
3.图书馆管理系统的数据流程图.pptx图书管理系统顶层数据流图读者图书管理系统借书证还书条码可以借书信息不可以借书信息逾期罚款信息还书成功信息交款信息图书馆管理后台图书借书时长标准逾期罚款标准第一页,共四页。 1层数据流程图1.借书处理系统2.还书处理系统借书证可以借书信息不可以借书信息图书条形码还书成功信息逾期罚款信息图书馆库存记录学生档案逾https://m.book118.com/html/2023/0114/6023225014005040.shtm
4.怎么画图书馆管理系统流程图?模板一键下载!图书馆管理系统流程图是一种用于表示和描述图书馆管理系统操作和流程的图形化工具。它由各种图形符号和文本说明组成,能够清晰地表示图书馆管理系统中各个环节之间的关系、数据的流动和处理过程。那么图书管理系统流程图怎么画呢?本文结合好用的流程图软件博思白板boardmix为大家进行分享,快来学习吧!在线流程图的类型有哪https://boardmix.cn/article/library-management-system-flowchart/
5.图书馆借阅管理的数据流程图和业务流程图求图书馆借阅管理系统的数据流程图和业务流程图!!!谢谢 扫码或添加微信号:坛友素质互助 「经管之家」APP:经管人学习、答疑、交友,就上经管之家! 免流量费下载资料---在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。 涵盖https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_1295181_1.html
6.管理系统业务流程图(全文)第一篇:管理系统业务流程图图书管理系统的业务流程图1 知识管理的含义知识管理的概念起源于20世纪80年代的美国,是知识经济时代的产物。对知识管理各国各界人士有着多种不同的认识,有的人将知识管理https://www.99xueshu.com/w/rbnth6hg0vnf.html
7.图书管理系统需求分析报告范文(精选10篇)采用JAVA和SQL开发,即使遇到困难,也能从丰富的参考书中找到解决方案。开发出的系统具有库存图书管理功能,能高效管理师生借阅信息,统计每年、每月、某天的图书借入借出情况,对财务信息进行统计、分析等。 6.2处理流程和数据流程 a.系统能对书籍信息进行管理。 https://www.ruiwen.com/baogao/6437442.html
8.管理信息系统案例分析报告实验二:管理信息系统系统分析实验 一、实验目的 1、能够正确运用系统分析的过程与方法,结合一个自选MIS项目,复习、巩固MIS分析的目的、MIS分析的内容、MIS分析方法和工具,提高系统分析实践能力。 2、熟悉业务流程图、数据流程图、数据字典的绘制。 3、熟悉Rational Rose工具的使用, 熟悉UML在MIS分析中的应用。 https://www.jy135.com/guanli/2180139.html
9.业务流程图绘制(管理信息系统开发)利用Visio绘制网上书店系统的数据流图.pdf 上传者:qq_58157133时间:2021-11-09 毕业设计数据流程图、业务流程图、ER图等 毕业设计 数据流程图 业务流程图 ER图等 上传者:wyx919392时间:2009-05-10 图书馆管理系统业务流程图数据流程图ER图.doc 图书馆管理系统业务流程图数据流程图ER图.doc https://www.iteye.com/resource/qq_34514415-10033314
10.图书馆管理系统数据流图图书馆管理系统数据流图 1.1 系统分析 1.1.1 图书馆管理信息系统的基本任务 “图书馆管理信息系统”是一个面向具有万人以上用户,位于某中型企事业单位内的图书馆管理系统,藏书规模约100 多万册,每天的借阅量近万册。在手工操作方式下,图书的编目和借阅等工作量大,准确性低且不易修改维护,读者借书只能到图书馆手工https://www.mayiwenku.com/p-7109762.html
11.数据库图书馆实例ER图及业务流程数据库图书馆实例ER图及业务流程_数据库管理系统er图实例,图书馆数据库er图 Ke**in上传140.23 KB文件格式rar数据库数据库管理系统er图实例 数据库图书馆实例,有ER图,业务流程图等文件级SQL程序语句。 (0)踩踩(0) 所需:1积分https://www.coder100.com/index/index/content/id/1066926
12.学习信息管理心得体会(精选11篇)一连为期五天的管理信息系统实训结束了,从E—R图的绘制到业务流程图绘制,再到数据流程图绘制,最后到判断树、判断表绘制,我们似乎在名为管理信息系统的这座大学城里的外环绕了一圈,但系我又深知,这么一个想法其实只是在五十步笑百步,E—R图、业务流程图、数据流程图、判断树和判断表只是信息管理系统基础中的一https://www.yjbys.com/xuexi/xinde/2016876.html
13.图书管理系统层次结构图流程图模板图书管理系统层次结构图主要包括用户界面层、业务逻辑层和数据访问层。用户界面层负责与用户进行交互,接收用户的输入和展示系统的输出。业务逻辑层处理用户请求,实现系统的核心功能,如图书的增删改查、借阅还书等。数据访问层负责与数据库进行通信,实现数据的存储和检索。这三层之间通过接口进行通信,保证了系统的模块化https://www.processon.com/view/5a45f627e4b0849f8ffad393
14.软件工程腾讯云开发者社区A.快速原型化模型B.瀑布模型C.软件成熟度模型D.系统化模型 23、可行性分析研究的费用大约是项目总经费的()。 A.2% B.6% C.20% D.5‰ 24、业务需求描述的是()。 A.功能需求B.用户需求C.用户的具体业务流程D.软件的目标、规模和范围 25、一个数据流程图中的图形符号有且仅有()种。 https://cloud.tencent.com/developer/news/373361
15.组织设计方案流程图(通用9篇)3.1.2?关键技术。整个需求围绕对客户资质审核过程的管理和监督, 无其他数据管理和业务管理要求, 采用工作流技术即可实现。 3.1.3解决思路。优先考虑基于现有工作流系统实现流程信息化;现有系统无法满足的情况下, 进行新系统开发。 3.2?信息化实现。客户资质管理流程确定基于业务流程管理系统实现, 只需要考虑流程的https://www.360wenmi.com/f/file00r6inyy.html
16.java图书基础信息管理子系统业务流程图java图书基础信息管理子系统业务流程图,#Java图书基础信息管理子系统业务流程分析在当今信息化社会,图书管理系统成为学校、图书馆以及书店等机构中不可或缺的工具。Java因为其跨平台及强大功能,常用于开发这样一类应用系统。本文将探讨一个基础的图书信息管理子系统的业https://blog.51cto.com/u_16213434/12113559