AI导航网站
产品邦1.0
新人领火力
用户须知
总版规
账号
自动登录
找回密码
密码
登录
我要注册
只需一步,快速开始
快捷导航
首页
Portal
AI大全
精心筛选并汇聚全网优质 AI 资源链接,涵盖 AI 工具、科研平台、创意生成、效率辅助、行业解决方案等多元场景
AI实战手册
产品经理
人工智能
DeepSeek,AIGC
行业黑话
专业研报
职场必备
论坛
BBS
Axure原型
Axure元件
需求文档
大厂资料
产品进阶
白皮书
解决方案
研究报告
搜索
搜索
热搜:
Axure
部件库
PRD
产品经理
解决方案
本版
文章
帖子
用户
AI产品邦
»
论坛
›
产品经理论坛专区
›
需求文档
›
RBAC基于角色的用户权限管理 产品经理必修知识点 ...
返回列表
发新帖
查看:
4882
|
回复:
1
RBAC基于角色的用户权限管理 产品经理必修知识点
[复制链接]
产品邦V大
产品邦V大
当前离线
积分
5601
发表于 2023-8-17 13:18
|
显示全部楼层
|
阅读模式
美国国家标准与技术研究院(The National Institute Of Standards And Technology,NIST)标准RABC(Role-based policies Access Control)基于角色的访问控制模型由4个部件模型组合成,这4个部件模型分别是基本模型RBAC0(Core RABC)、角色分级模型RBAC1(Hierachal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RABC)。
RBAC0模型如下图:
(1)RBAC0定义了能构成一个RBAC控制系统最小的元素集合。
在RBAC中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素
,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限、会话session是用户与激活角色之间的映射、RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。
(2)RBAC1引入角色间的继承关系,角色间的继承关系可以分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。
(3)RBAC2模型添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限的关系一起决定了RBAC2模型中用户的访问许可。
(4)RBAC3包含了RBAC1和RBAC2,既提供了角色间的继承关系,又提供了责任分离关系。
事实上,RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,Who、What、How构成了访问权限的三元组,也就是“Who对What(Which)进行How的操作”。
Who:
权限的拥有者或主体(User、Group、Role、Actor)。
What:
权限针对的对象或资源(Resource),资源具体有层次关系。例如,网页是资源,网页上的按钮、文本框等对象也是资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。资源应该是一个树形结构。
How:
具体的权限(Privilege,正向授权与负向授权),这个权限是绑定在特定的对象上的。比如说教师评测系统新闻的发布权限,叫做“部门新闻发布权限”。这就表明,该Privilege是一个发布权限,而且是针对部门新闻这种资源的一种发布权限。权限,包括系统定义权限和用户自定义权限,用户自定义权限之间可以指定排斥和包含关系(如:读取、修改、管理三个权限,管理权限包含前两种权限)。
Operator:
操作。表明对Waht的How操作。也就是Privilege+Resource的集合。
Role:
角色,一定数量的权限的集合,是粗粒度和细粒度(业务逻辑)的接口。一个基于粗粒度控制的权限框架软件,对外的接口应该是Role,具体业务实现可以直接继承或拓展丰富Role的内容,Role不是如同User或Group的具体实体,它是接口概念,抽象的统称。Role的继承通过Group来体现,所以不考虑Role的继承关系。但是Role可以与相关的Group相关联,便于授权。
Group:
用户组,权限分配的单位和载体,直接映射组织关系。权限不考虑分配给特定的用户。组可以包括组(以实现权限的继承)。组可以包含用户,组内用户继承组的权限。Group要实现继承。即在创建时必须要指定该Group的ParentGroup是什么Group。在粗粒度控制上,可以认为,只要某用户直接或间接的属于某个Group那么它就具备这个Group的所有操作许可。细粒度控制上,在业务逻辑判断中,User仅应关注其直接属于的Group,来判断是否“同组”。
User:
纯粹的用户,与权限分离,只能通过Role关联响应的权限。
根据RBAC模型的权限设计思想,简历权限管理系统的数据库模型,如图:
该模型的主要关系有:
分配资源操作RA(Resource Assignment)、分配角色权限PA(Privilege Assignment)、分配用户组角色GA(Group Assignment)
,描述如下:
(1)分配资源访问RA:实现资源和操作之间的关联关系映射
(2)分配角色权限PA:实现操作和角色之间的关联关系映射
(3)分配用户组角色GA:实现用户组和角色之间的关联关系映射。
权限管理系统的操作模式主要分为一下三个步骤:
(1)创造资源、权限:用户创建一个资源(Resource)的实例的时候指定相关的权限以及权限分配、比如学生评测只能创建者有修改的权限,同Group的人员只能拥有查看的权限。
(2)分配权限:系统管理员指定相关资源(Resource)的权限分配,创建Role,创建Group,给Role分配权限,给Group分配User,给Group赋予某个Role等等
(3)使用权限:User使用管理员分配的角色去使用相应的系统功能。
权限管理系统服务器端:提供集中管理权限的服务、负责提供用户的鉴别、用户信息、用户组信息,以及权限关系表的计算,如下图所示:
系统根据用户、用户组、角色、操作、访问方式和资源之间的关联关系,同时考虑权限的正负向授予,计算出用户的最小权限。采用代理Proxy模式,集中控制来自应用系统的所要访问的权限计算服务,并返回权限关系表,即二元组{ResourceId, OperationId}。
在表现层:可以通过访问能力表CL和访问控制表ACL两种可选的访问方式访问权限管理系统。以教师评测系统为例:
(1)首先采用基于表单的验证。考虑到需要鉴别的实体是用户,采用基于ACL访问方式,用户登录时调用权限管理系统的用户鉴别服务,如果鉴别成功,调用权限计算服务,并返回权限关系表,以HashTable的方式存放到登录用户的全局Session中;如果没有全局Session或者过期,则被导向登录页面,重新获取权限。
(2)直接URL资源采用基于CL访问方式进行的访问控制。如果用户直接输入URL地址访问页面,哟偶两种方式控制访问:1、通过权限标签读取CL进行控制;2、采取页面载入判断权限模式,进行权限控制,如果没有权限,则重定向到登录页面。
权限控制机制
(1)权限标识:利用页面标签来标识该页面上所有的权限访问控制对象
(2)权限控制:应用系统用户登录系统时,从权限管理中获得权限关系表后,一方面,权限标签控制页面展示;另一方面,利用权限控制组在业务逻辑中进行相关的权限控制,尤其是和业务逻辑紧密联系的控制对象实例的权限控制
来源:
OSCHINA IIIThSoul
RBAC
,
产品经理
,
用户权限管理
,
RBAC权限设计
,
RBAC权限管理
相关帖子
•
用户移情图:洞察用户需求,理解用户需求,优化产品设计
•
URL 中的 UTM:产品经理的秘密武器
•
产品邦社群分享资料 超完整规范的登录注册产品需求文档案例
•
Axure RP 11 官方下载链接 更快的功能性原型设计
•
某在线学院产品经理从入门到进阶实战课程
•
AI 时代风暴来袭:互联网人如何抢占新机遇? 人人都能听懂的Al课程
•
一站式AI人工智能助手 AG智能助手
•
Axure RP 宝藏组件库:23 大核心组件 引领高效设计
•
让我效率倍增的小工具 人人都用得上 你不会错过吧
•
爆款标题万用公式 收藏这产品邦篇原创就够了
产品邦 为职场人打造专业的产品、运营、交互体系知识库
回复
举报
gavinphil
gavinphil
当前离线
积分
87
发表于 2023-8-19 17:24
|
显示全部楼层
感谢分享!
产品邦 为职场人打造专业的产品、运营、交互体系知识库
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
我要注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
合同范本
优质简历
快速回复
返回顶部
返回列表