一文详解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.图书管理系统流程图模板收集图书馆业务需求 图书信息管理功能测试 读者信息管理功能测试 用户验收测试 系统上线前检查 开发借阅管理模块后端 性能测试 预约管理功能测试 搭建后端开发环境 图书馆管理页面设计 集成测试 首页设计 架构设计 数据库表结构设计 开发图书信息管理前端 借阅管理功能测试 编写测试计划 功能测试 开发预约管理模块后端 组织图https://www.processon.com/view/676229c603fcbb26da14d085
2.读者借阅与归还图书明细查询方法指南通知公告通过借阅历史可以查询已归还图书和当年各月份借阅图书的明细。 中国图书馆分类法: 图书馆的书都是按照中图法的分类号排架的。《中国图书馆分类法》(原称《中国图书馆图书分类法》)是我国建国后编制出版的一部具有代表性的大型综合性分类法,是当今国内图书馆使用最广泛的分类法体系,简称《中图法》。https://www.luibe.edu.cn/tsg1/tzgg/91910.htm
3.国图管理登录用户名: 密码: 验证码: 该输入项为必输项http://app.nlc.cn/
4.图书管理系统的业务流程图数据库设计图书馆管理系统 ### 数据库设计图书馆管理系统 ### 一、系统概述与需求分析 图书馆管理系统是现代图书馆高效运作的核心工具,其设计旨在优化图书资源管理、借阅流程和用户服务体验。本系统覆盖了图书资料的基本管理和图书资料的借阅管理两大部分。 **1.1 图书资料基本管理** - **新书编号、登记、入库**https://wenku.csdn.net/answer/15wfoiry6s
5.图书馆管理系统业务流程图20230702.ppt精品第一层数据流图图书管理员图书P1,图书归档图书P2,借还书管理读者图书还书P3,读者管理借书证借书单读者资料读者借阅信息图书馆管理系统业务流程图全文共8页,当前为第2页。精品P1图书维护分解图图书管理员图书维护图书P1.1图书登记P1.2维护图书基本信息P1.3剔除旧书图书图书图书图书图书图书图书图书馆管理系统业务流程https://m.renrendoc.com/paper/279731340.html
6.图书馆管理系统业务流程图数据流程图ER图图书馆管理系统业务流程图-数据流程图-ER图.doc,图书馆管理系统业务流程图-数据流程图-ER图 图书馆管理系统开发设计方案 需求分析 目前图书馆管理系统存在问题 1)检索速度慢、效率低 因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往https://m.book118.com/html/2024/0423/8037063114006061.shtm
7.怎么画图书馆管理系统流程图?模板一键下载!图书馆管理系统流程图是一种用于表示和描述图书馆管理系统操作和流程的图形化工具。它由各种图形符号和文本说明组成,能够清晰地表示图书馆管理系统中各个环节之间的关系、数据的流动和处理过程。那么图书管理系统流程图怎么画呢?本文结合好用的流程图软件博思白板boardmix为大家进行分享,快来学习吧!在线流程图的类型有哪https://boardmix.cn/article/library-management-system-flowchart/
8.图书馆系统分析报告6篇(全文)读者遗失通知超期通知还书通知有关部门遗失申请表归还申请表遗失清单在库清单书库管理员归还清单在库报表遗失报表藏书清单注销通知遗失统计编码员藏书报表 图书归还(遗失归还、超期归还)业务流程图 新用户有关部门用户申请表不合格申请表新用户登录通知审核员读者清单读者清单合格申请表新用户清单读者管理员 读者入库业务流程https://www.99xueshu.com/w/filevz6ephn4.html
9.图书管理系统流程图图书管理系统流程图 下载积分: 800 内容提示: 图书管理系统 功能需求 经过以上详细的用户调查, 在现行业务流程和数据分析的基础上, 基本可以确定系统设计必须达到的目标。 以下是图书管理系统必须具备的功能: 1.新进图书的登记功能: 对于购进的新书, 系统必须具备图书信息资料的录入功能。 2.图书的查询修改功能: https://www.doc88.com/p-98537889512201.html
10.图书馆管理系统业务流程图数据流程图ER图经管图书馆管理系统业务流程图-数据流程图-ER图 https://bbs.pinggu.org/thread-13094115-1-1.html
11.管理信息系统案例分析报告1、根据所述系统功能需求,开展实地调查或通过Internet查阅相关资料或结合个人经验,进行系统分析。 2、明确管理业务调查过程和方法,包括所选管理系统典型组织机构、管理功能及业务流程,优化并以图形建模。 3、明确数据流程的调查与分析过程,绘制数据流程图,编制数据字典。 https://www.jy135.com/guanli/2180139.html
12.图书管理系统数据流程图.docx技术支持室:负责对图书馆的网络和计算机系统提供技术支持。 系统业务流程分析 系统的业务室系统要达到的业务目标,业务流程分析是系统分析的基础环节。图 书馆管 理信息系统的业务流程如图 1 - 2 所示。 图 1 - 2 图书馆管理信息系统的业务流程 通过业务流程调查,理清图书馆管理系统的主要业务和业务的流程。 图书https://doc.mbalib.com/m/view/65477b852a95d971cd8bcef898a96964.html
13.图书管理系统需求报告(通用5篇)a.所建设开发软件系统的名称:图书馆管理系统。 b.本项目的任务提出者:系统开发小组。 c.用户:图书馆工作人员及读者。 d.软件系统委托方:图书馆领导。 3、定义 数据流程图(DFD):为描述软件系统中的信息流提供了一个图形方法。箭头代表数据流,方框代表数据的源点或终点,圆框代表数据流的交换,双杠代表数据存储的https://www.ruiwen.com/baogao/6481699.html
14.图书管理系统项目总结(精选14篇)图书馆业务逐步增加、图书馆其他应用系统日益增多,图书馆管理系统又无法兼顾其他系统,那么要实现集成管理图书馆,就要使这一系统与其他的系统之间增强关联性,但现有系统显然无法满足这一条件,因此造成图书馆管理效率不足,资源消耗过多。 三、图书馆管理系统的发展趋势 https://www.hrrsj.com/gongzuozongjie/xiangmuzongjie/831296.html
15.业务流程图绘制(管理信息系统开发)利用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
16.java图书馆管理系统结果及分析mob64ca1411e411的技术博客系统的选题背景和意义 选题背景: 随着社会的发展和人们对知识的需求不断增长,图书馆作为知识传播和学习的重要场所,扮演着至关重要的角色。然而,传统的图书馆管理方式存在一些问题,如借还书流程繁琐、图书信息管理不便等。为了解决这些问题,基于Web的图书馆管理系统应运而生。该系统通过数字化和自动化的方式,实现了图书https://blog.51cto.com/u_16213690/12001111
17.计算机毕业设计15篇整个识别的流程通常是由以下几步完成的:系统的初始化、检测动作的状态是否开始、记录数据集、检测动作是否结束,模型对比和识别结果,实验的流程图如图所示。 识别动作时最重要的是准确判断手势的开始时刻,因为每一个手势动作通常可能会连续摆动来表达含义,所以在进行动作识别时需要采集传感器信息加速度的变化去判断是否为开https://www.fwsir.com/fanwen/html/fanwen_20230422093603_2738458.html
18.图书馆管理系统数据流程图及数据字典.docx该【图书馆管理系统数据流程图及数据字典 】是由【lajie】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【图书馆管理系统数据流程图及数据字典 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便https://www.taodocs.com/p-966032648.html
19.图书馆管理系统er图图书馆管理系统er图 1、要了解ER图的核心要素:实体,属性,关系,实体就是一个个对象,比如猫,属性就是实体所有的某个属性,比如猫的性别,关系就是实体和实体之间或者实体内部之间的关系。 2、要了解ER图中怎么表示1中描述的三个核心要素:在ER图中矩形代表实体,椭圆代表属性,菱形代表关系,各个形状之间用线段连接。 https://www.zboao.com/cgal/9078.html
20.图书借阅系统甘特图绘制(图书馆管理系统甘特图)今天给各位分享图书借阅系统甘特图绘制的知识,其中也会对图书馆管理系统甘特图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、干货笔记|项目管理之WBS 2、管理学基础的问题计划工作的方法和技术 3、软件工程各种图的区别 4、公司管理人员工作总结5篇 5、卖方建议书https://www.huoban.com/news/post/128575.html
21.软件工程腾讯云开发者社区15、系统流程图的主要作用(). A.描述系统的物理模型B.业务流程C.系统处理过程D.数据处理过程 16、PDL是一种()语言。 A.低级程序设计语言B.建模语言C.高级程序设计语言D.过程设计语言 17、结构化设计方法划分模块的原则是()。 A.模块扇出小于5 B.模块扇入小于5 C.低耦合,高内聚D.模块深度小于7 https://cloud.tencent.com/developer/news/373361
22.图书管理系统设计与实现设计图书馆的管理系统可以提高图书管管理的效率;降低工作人员的工作量;完善图书馆的各项功能。网上图书馆系统应该具有出借还子系统、查询子系统、电子图书下载子系统、留言板以及系统维护子系统等,这几个子系统包括了图书馆管理的主要业务工作,可以全面实现对图书馆的查询、借还、下载、留言等在线功能实现。考虑到图书馆https://www.360wenmi.com/f/file63vsn7c9.html