title: 权限 author: Gamehu tags:
我认为的权限应该是分为两种:
权限复杂度的设计依业务场景而定,我是基本上做的都是toB,所以权限这块会相对复杂些。不同的toB系统权限设计肯定也不同。不过我觉得大体可以分为三种toB权限设计场景。私有云、私有云(对客户定制开发并部署在客户现场 的我也归为私有云)、混合云。当然我比较熟的是公有云和私有云的,混合云的我还没涉及到过,不过我觉得是混合云应该和公有云的权限设计比较接近。
下图我参与过的某toB平台,我理解的权限设计。
{% asset_img 01.png 来源于我 %}
租户那块为什么单独标注呢,租户是一个比较大的概念,通常表名一个公司或者个人。
{% asset_img 02.png 来源于我 %}
下面是我另外参与的私有云项目的权限设计。
{% asset_img 03.png 来源于我 %}
这个权限你会发现有一个域的概念,是因为我们的客户是集团性质的客户,会有总公司、分公司、事业部等概念,因为每个分公司或者事业部大体上都是独立运营的,但是他们又是属于一个集团,所以我们出现了域的概念。一个域可以理解为一个公司或者事业部但是我们不强关联,域是扁平的增加了灵活性。还有一点需要注意在这儿部门(组织)是不纳入权限的,我们使用角色来控制,为什么还需要部门,是为了让角色更丰满,部门可为角色打上标签,客户也好理解。同时也减少了复杂性。
资源
因为要打造的是一个APM系统,所以里面会涉及到CMDB,资源这个名称就是CMDB来的当然一般我们叫CI(具体一个配置项,也叫CI实例),要详细讲就要讲到CMDB了,要讲CMDB那就复杂了,不是一两篇能说清楚的,后面有机会我会试着讲讲我理解的CMDB和CMDB在我们系统是怎么定义以及怎么用的。
RBAC
基于角色的访问控制,所以你会发现这个模型能满足大多数的权限设计。至少我没见过没有角色这个概念的权限设计。
google和博客说的更清楚
{% blockquote 唐乐 | 支付这点事 https://mp.weixin.qq.com/s?__biz=MjM5MTE1MDMxMg==&mid=2649242055&idx=1&sn=b930e768094212ff7b1739deb500424f&chksm=bea5604089d2e9564895eba2029967a1384c2cec3df6d2a34fbd8b1735a3aa6ca7dfcdf7bf99&mpshare=1&scene=23&srcid=0712Y6e8P4UOiFSrCwrNGcyC#rd 用户权限设计(RBAC)您熟悉吗?原理和思路全在本文 %} {% endblockquote %}
{% blockquote 转 https://blog.csdn.net/yangwenxue_admin/article/details/73936803 权限系统与RBAC模型概述 %} {% endblockquote %}
{% blockquote Java高级架构师 https://mp.weixin.qq.com/s?__biz=MzI2MjQyNTYyNA==&mid=2247483877&idx=1&sn=226bb46a563d1cc82416d8ae832ba2eb&chksm=ea4a1c92dd3d95845f1e4900c5be287a356f2d5c49f87a3d109dc811389a3def0e6a2c77029f&mpshare=1&scene=23&srcid=0712JgrTeiqegeVB2UTuAz63#rd RBAC新解 - 基于资源的权限管理 %} {% endblockquote %}