前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >权限管理系统介绍

权限管理系统介绍

作者头像
用户6021891
发布2021-07-22 11:29:53
1.3K0
发布2021-07-22 11:29:53
举报
文章被收录于专栏:万能的小草万能的小草

前言


权限系统是每个系统里面必备的最基本的系统,就像盖楼房必须先打好地基,权限系统就像这个楼房的地基一样,没有地基就无法盖好楼房。

一、为什么需要进行权限管控?

1.公司日常管理需要:每个企业都有自己的分工协作体系;不同岗位的员工,负责不同的工作内容;不属于岗位职责范围内的事情,员工通常不具有参与权和知情权。 -- 不在其位,不谋其政。

2.业务安全需求:避免员工因为“无限制的参与权和知情权”向竞争对手泄露关键业务数据、避免员工因为个人原因出现“删库”跑路。

二、权限管理的目标

让不同岗位、层级的员工,只能使用和看到其职权范围内的功能和信息,以确保分工协作体系能顺畅运作,同时维护企业信息安全。

三、权限系统通用模型

迄今为止,业界最为普及的权限设计模型是RBAC模型。RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。

RBAC 认为授权实际上是Who 、What 、How 三元组之间的关系,也就是Who 对What 进行How 的操作,也就是“主体”对“客体”的操作。

Who:是权限的拥有者或主体(如:User,Role)。

What:是操作或对象(operation,object)。

How:具体的权限(Privilege,正向授权与负向授权)。

然后 RBAC 又分为RBAC0、RBAC1、RBAC2、RBAC3 。具体的情景可以百度一下。

基于RBAC模型,还可以适当延展,使其更适合我们的产品。譬如增加用户组概念,直接给用户组分配角色,再把用户加入用户组。这样用户除了拥有自身的权限外,还拥有了所属用户组的所有权限。

比如:可以把一个部门看成一个用户组,如销售部,再给这个部门直接赋予角色,使部门拥有部门权限,这样这个部门的所有用户都有了部门权限。用户组概念可以更方便的给群体用户授权,且不影响用户本来就拥有的角色权限。

四、权限系统功能结构图

名词解释:

站点:系统接入方,可以是一个系统,也可以是多个系统权限在同一个应用进行配置和管理。

应用管理员:可以对应用进行所有操作

权限管理员:主要用于角色授权管理

资源:对应业务系统中要控制的“一个权限”。如一个菜单、按钮、Tab页、区域、功能、接口

权限:资源的打包,要完整的完成一件事需要同时有多个“资源”的权限。比如一个功能的完整操作应该有“查看”、“编辑”、“删除”权限,则可以建立一个权限,同时关联这三个资源,这样,角色配置关联此权限就相当于关联了三个资源。

角色:关联“权限”和“用户”,指定哪些人有哪些权限

五、总结

无论是权限模型,还是其他产品相关实现方案,很多都已经被前人所总结提炼,我们应深度掌握这些成熟的知识和经验,而不是绞尽脑汁自我推理。站在巨人的肩膀上我们可以看得更远,而不是再造一个轮子。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小草学Python和SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档