超全面的权限系统设计方案!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超全面的权限系统设计方案!相关的知识,希望对你有一定的参考价值。
参考技术A地址:cnblogs.com/iceblow/p/11121362.html
权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。 目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓库系统,小程序,多个APP等十几个系统和终端
迄今为止最为普及的权限设计模型是RBAC模型,基于角色的访问控制(Role-Based Access Control)
这是权限最基础也是最核心的模型,它包括用户/角色/权限,其中用户和角色是多对多的关系,角色和权限也是多对多的关系。
用户 是发起操作的主体,按类型分可分为2B和2C用户,可以是后台管理系统的用户,可以是OA系统的内部员工,也可以是面向C端的用户,比如阿里云的用户。
角色 起到了桥梁的作用,连接了用户和权限的关系,每个角色可以关联多个权限,同时一个用户关联多个角色,那么这个用户就有了多个角色的多个权限。
有人会问了为什么用户不直接关联权限呢?在用户基数小的系统,比如20个人的小系统,管理员可以直接把用户和权限关联,工作量并不大,选择一个用户勾选下需要的权限就完事了。
但是在实际企业系统中,用户基数比较大,其中很多人的权限都是一样的,就是个普通访问权限,如果管理员给100人甚至更多授权,工作量巨大。
这就引入了"角色(Role)"概念,一个角色可以与多个用户关联,管理员只需要把该角色赋予用户,那么用户就有了该角色下的所有权限,这样设计既提升了效率,也有很大的拓展性。
权限 是用户可以访问的资源,包括页面权限,操作权限,数据权限:
以上是RBAC的核心设计及模型分析,此模型也叫做RBAC0,而基于核心概念之上,RBAC还提供了扩展模式。包括RBAC1,RBAC2,RBAC3模型。下面介绍这三种类型
此模型引入了角色继承(Hierarchical Role)概念,即角色具有上下级的关系,角色间的继承关系可分为一般继承关系和受限继承关系。
一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。
而受限继承关系则进一步要求角色继承关系是一个树结构,实现角色间的单继承。这种设计可以给角色分组和分层,一定程度简化了权限管理工作。
基于核心模型的基础上,进行了角色的约束控制,RBAC2模型中添加了责任分离关系。
其规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。
责任分离包括静态责任分离和动态责任分离。主要包括以下约束:
即最全面的权限管理,它是基于RBAC0,将RBAC1和RBAC2进行了整合。
当平台用户基数增大,角色类型增多时,而且有一部分人具有相同的属性,比如财务部的所有员工,如果直接给用户分配角色,管理员的工作量就会很大。
如果把相同属性的用户归类到某用户组,那么管理员直接给用户组分配角色,用户组里的每个用户即可拥有该角色,以后其他用户加入用户组后,即可自动获取用户组的所有角色,退出用户组,同时也撤销了用户组下的角色,无须管理员手动管理角色。
根据用户组是否有上下级关系,可以分为有上下级的用户组和普通用户组:
每个公司都会涉及到到组织和职位,下面就重点介绍这两个。
常见的组织架构如下图:
我们可以把组织与角色进行关联,用户加入组织后,就会自动获得该组织的全部角色,无须管理员手动授予,大大减少工作量,同时用户在调岗时,只需调整组织,角色即可批量调整。
组织的另外一个作用是控制数据权限,把角色关联到组织,那么该角色只能看到该组织下的数据权限。
假设财务部的职位如下图:
每个组织部门下都会有多个职位,比如财务部有总监,会计,出纳等职位,虽然都在同一部门,但是每个职位的权限是不同的,职位高的拥有更多的权限。
总监拥有所有权限,会计和出纳拥有部分权限。特殊情况下,一个人可能身兼多职。
根据以上场景,新的权限模型就可以设计出来了,如下图:
根据系统的复杂度不同,其中的多对多关系和一对一关系可能会有变化
授权即给用户授予角色,按流程可分为手动授权和审批授权。权限中心可同时配置这两种,可提高授权的灵活性。
有了上述的权限模型,设计表结构就不难了,下面是多系统下的表结构,简单设计下,主要提供思路:
在项目中可以采用其中一种框架,它们的优缺点以及如何使用会在后面的文章中详细介绍。
权限系统可以说是整个系统中最基础,同时也可以很复杂的,在实际项目中,会遇到多个系统,多个用户类型,多个使用场景,这就需要具体问题具体分析,但最核心的RBAC模型是不变的,我们可以在其基础上进行扩展来满足需求。
云宏与英特尔携手发布了可全面兼容主流虚拟化解决方案
日前,云宏与英特尔携手,发布了基于英特尔?至强?可扩展平台全面升级的超融合一体机解决方案。
云宏超融合一体机搭载了云宏自主研发的超融合核心技术,采用异构设计,可全面兼容主流虚拟化系统,实现了虚拟化和分布式存储深度整合、IO路径最短化,有效提升了存储随机读性能。整个系统采用全分布式无共享架构,无状态的处理架构保证系统能实现横向线性扩展、无单点故障和性能瓶颈。云宏超融合架构是云计算基础设施进化的重要方向,英特尔强悍的硬件能力为关键业务奠定性能基础。双方的密切协作,展现了超融合架构在IT重构中的重要价值。
云宏超融合一体机+intel
行业挑战
在互联网经济快速发展的新形势下,金融、医疗、能源等各个行业的客户结构、盈利模式、服务方式等都在发生巨大变化,传统集中式封闭 IT 架构显然已很难适应业务的快速发展。
超融合一体机有着成本低、可扩展性强、灵活度高等优势,但金融等行业用户关键业务长期以来依然部署于传统的基础架构,很大一部分原因在于现阶段超融合一体机在性能上不足,尚不能满足金融等行业的重要业务支撑需求。如果这些行业要广泛使用超融合一体机上云,硬件性能就必须要提升,关键硬件升级、架构优化就成了有效策略。
针对各行业对于数据处理能力的特别需求,云宏携手全新英特尔?可扩展平台和固态盘,全面升级超融合一体机解决方案。
硬件升级
英特尔?至强?可扩展平台针对要求苛刻的主流数据中心、多云计算、网络和存储工作负载进行优化,支持最高内存速度、内存容量和增强的可扩展性。在拥有多达 28 核的英特尔?至强?可扩展处理器的英特尔?Mesh Architecture中,所有内核共用末级高速缓存(LLC)、六个内存通道和48个PCIe通道,支持访问整个芯片的大量资源,提供动态可扩展性,同时不影响虚拟化等各种部署场景的性能。虚拟机可轻松扩展,全权访问所有需要的共用板载资源。
英特尔?固态盘DC P4600系列产品是为软件定义云架构(Software-Defined Cloud Infrastructure)量身打造的英特尔3D NAND固态盘产品,兼具高性能、大容量、高耐用和易管理等特点,满足客户在不同云场景下的工作负载需求。
效果测试
为验证云宏超融合架构和英特尔?硬件结合的性能表现,云宏搭建新旧两组平台对比测试,结果如下:
在处理器性能测试中,英特尔?至强?可扩展处理器的响应时间比英特尔?至强?E5-2600 v3处理器缩短30%左右。在搭配英特尔?固态盘DC P4600系列产品后,云宏超融合一体机轻松承载上百台虚拟机,卓越性能足矣满足关键业务的高速数据处理需求。
升级之后的存储能力测试中,英特尔?至强?可扩展处理器+英特尔?固态盘DC P4600系列产品的组合对比英特尔?至强?E5-2600 v3处理器+英特尔?固态盘DC S4500的组合,其超融合集群总体性能在 4 节点多并发访问时 8K 随机读写性能有 2.5 倍左右的提升。这一方面有赖于基于NVMe 协议的固态盘的优秀特性,在单次访问和超低延迟下表现出极高的吞吐量。另一方面,云宏通过虚拟化和分布式存储深度整合、IO路径最短化等创新技术的应用,也极大的优化了其存储性能表现,使其能够满足严苛的应用环境需求。
云宏超融合一体机
在硬件升级之后,云宏超融合一体机完全发挥了超融合架构在扩展性上面的优势,金融等行业用户对于超融合一体机的研发效率、存储性能顾虑也迎刃而解。在大量场景下,云宏超融合一体机能够发挥不亚于传统解决方案的性能,满足重要业务的需求。
更多关于云宏超融合一体机相关信息,敬请期待
以上是关于超全面的权限系统设计方案!的主要内容,如果未能解决你的问题,请参考以下文章