美文网首页
租户隔离下的资源分享

租户隔离下的资源分享

作者: 淡淡的小番茄 | 来源:发表于2021-12-21 16:55 被阅读0次

背景

对于多租户系统,租户间资源是隔离的。组织属于租户的私有资源。但是我们业务上有个比较夸张的需求。新建的租户可以挂到具体的组织下面,这样导致整个关系比较混乱,很难理解。租户间的资源隔离原则也将被打破。业务上要求这样,所以还是需要解决的,那么在租户隔离原则基础上,我们该如何实现资源的分享呢?本问主要分为两方面进行阐述:租户间资源分享和租户内资源权限控制。

租户间资源分享

我们引入了资源授权的概念,来实现特点场景下的资源分享问题。比如:管理域的管理员想看到自己发展创建的租户信息(企业信息)。整个租户ER图如下:

增加用户授权表,将租户的资源信息授权给另一个租户,可具体到租户的组织或者用户。这样一来租户间隔离的第一原则不会被打破。一切都显得那么合理合规。租户和组织的关系也显得不那么混乱,比较容易被理解。

租户内资源权限控制

租户内的资源很多,主要包括两部分,一种是系统管理类的基础资源,比如:用户、组织、角色、权限等。另外就是业务资源,比如:产品、设备等。如何有效的管理这些资源,一般来说我们依托组织的作用,将资源进行合理的划分,比如:按行政区域、按分公司等。

总体设计原则

1、租户间资源隔离

2、通过授权达到租户间资源分享的功能

3、依托组织的层级,实现数据权限

创建组织树,将资源划分到各组织下,一般来说:上层组织的管理员,能管理其及及其以下的资源。如果想限制到管理的具体范围,可以通过配置来实现。这方面可以往授权概念上靠,与租户间的分享使用统一的授权模型。

4、通过授权实现组织间的分享

业务场景多种多样,对于有些资源,下级组织人员需要访问上级组织的资源。和租户间处理逻辑是一样的,我们还是通过授权的方式实现父级资源的分享功能。

5、引入全选、只选概念,以解决组织或者功能频繁变更问题

配合tree_path使用,这样能解决全选情况下,资源树变动后,授权别信息无法自动更新的问题。授权表中,资源存储的是资源的tree_path。

尾记

最近一直在看传习录,满脑子的糊涂,结合目前的社会现状完全无法理解。何为知行合一,何为致良知。大道至简,何为大道?

相关文章

  • 租户隔离下的资源分享

    背景 对于多租户系统,租户间资源是隔离的。组织属于租户的私有资源。但是我们业务上有个比较夸张的需求。新建的租户可以...

  • yarn资源多租户隔离

    标题随意取的,别太在意。 技术栈 实时计算:spark streaming + kafka + yarn离线计算:...

  • Flask构建SaaS应用

    租户隔离 一个客户就是一个租户,每个租户的数据在数据表中都有个一个tenantid字段用来与其他租户隔离 租户识别...

  • Flask构建SaaS应用

    租户隔离 一个客户就是一个租户,每个租户的数据在数据表中都有个一个tenantid字段用来与其他租户隔离 租户识别...

  • saas 架构

    多租户 多租户要达到的效果,是租户之间相互隔离。隔离的方法就分为逻辑的和物理的。所谓逻辑的,就是不同的租户用的还是...

  • 私有云 安全限制的一些思考

    租户隔离, 第一层内网 私有云场景下,租户隔离是安全的第一步,不同部门,业务,测试,开发使用不通的vpc,日常绝大...

  • 租户隔离

    需求 云平台一个关键的能力就是租户隔离,接入云的用户都希望自己的业务不受别人的影响,至少在网络上能够隔离,他人...

  • HBase多租户系统设计

    面向多租户的数据安全和资源隔离能力,提供标准的用户名密码认证、ACL、Quota、Resource Group等特...

  • 笔记十三-springcloud alibaba之nacos作为

    1.命名空间(配置隔离) 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的Group或Data ID的...

  • K8S容器编排之多租户隔离体系-前言

    因为之前做了K8S的多租户隔离体系,所以在这里分享一下我的经验,我会持续的分享以及解答大家的问题,所以这篇文章是这...

网友评论

      本文标题:租户隔离下的资源分享

      本文链接:https://www.haomeiwen.com/subject/fhnkxrtx.html