一种面向多租户的云计算系统的制作方法

文档序号:6621310阅读:206来源:国知局
一种面向多租户的云计算系统的制作方法
【专利摘要】本发明公开了一种面向多租户的云计算系统。本发明云计算系统,根据租户对数据隔离性要求的不同采用不同的方式存储租户数据:对隔离性要求高的租户采用独立数据库的方式存储租户数据,而对于普通用户则采用共享数据库、共享数据架构的方式存储租户数据。本发明云计算系统进一步在传统的基于角色的访问控制模型中引入层级管理。相比现有技术,本发明能够更好的满足不同质量要求的用户需求,增强了SaaS应用平台的安全性,提高了权限控制管理效率。
【专利说明】-种面向多租户的云计算系统

【技术领域】
[0001] 本发明涉及一种面向多租户的云计算系统,主要用于满足多租户云计算系统中数 据的安全性的要求,属于云计算【技术领域】。

【背景技术】
[0002] 随着Internet网络技术的发展和计算机技术的不断提高,网络中传输和处理的 数据的能力直线增长。人们希望获得一种直接、便捷的计算处理方式,不需要安装应用软 件,只要连接互联网,就可以利用连接在网络中的空闲的计算机资源进行任务处理。
[0003] 在此背景之下,云计算应运而生,所谓云计算,就是通过计算机网络去连接由大量 服务器、存储设备集群而构成的云计算平台,以此来获取所需要的服务。而云计算服务商则 是将一项复杂的运算任务分成若干个部分,通过分布在计算机网络中的计算机协同合作, 最后再将运算结果传输回客户端,从而实现个人数据在远程的计算资源集群的运算。
[0004] 云计算可以认为包括以下几个层次的服务:基础设施级服务(IaaS),平台级服务 (PaaS)和软件级服务(SaaS)。其中SaaS作为云计算中的一种服务交付方式,具有单实例 多租赁的特点。它的出现改变了传统企业级系统交付以及用户的使用方式。SaaS软件服务 供应商将应用软件统一部署在服务器上,所以用户无需在本地客户端安装该应用程序,省 去了软件维护和支持的成本。用户只需根据自己的需求向服务商定购所需要使用的软件服 务,并按照定购服务的功能和使用时间支付给服务商费用即可,此外,SaaS也降低了购买和 维护硬件所花费的成本。SaaS服务提供商与租户之间的关系如图1所示。
[0005] 但是SaaS的访问控制与传统软件的访问控制有所不同,传统软件的信息资源都 在用户自己硬件设备上,用户拥有对自己所有资源的完全管理权限,而SaaS服务中用户的 数据信息都存储在服务商的服务器上,由SaaS服务提供商进行维护管理。并且SaaS服务 是会租赁给多个租户使用的,多个用户都将可能会使用同一个数据库甚至同一张表,所以 如何保证SaaS应用服务中租户数据的隐私和安全就显得尤为重要。
[0006] 传统的多租户架构中,多租户在数据存储上存在三种主要的方案:独立数据库,共 享数据库、隔离数据架构,共享数据库、共享数据架构。三种方案都存在相应的不足,独立数 据库成本较高,一般用户承受不起;共享数据库,隔离数据架构数据恢复困难,跨租户统计 数据困难;共享数据库,共享数据架构隔离级别低,安全性低,数据恢复困难。此外,传统的 多租户架构中,通常使用基于角色(RBAC)的访问控制模型来保证系统资源的安全性。但是 传统的基于角色(RBAC)的访问控制模型没有考虑租户的层级性特点来对用户进行层级划 分管理,因此,难以确保数据访问的安全性、一致性、完整性,且权限控制管理效率较低。


【发明内容】

[0007] 本发明所要解决的技术问题在于克服现有技术不足,提供一种面向多租户的云计 算系统,可有效增强SaaS应用平台的安全性,提高权限控制管理效率。
[0008] 本发明的面向多租户的云计算系统,根据租户对数据隔离性要求的不同采用不同 的方式存储租户数据:对隔离性要求高的租户采用独立数据库的方式存储租户数据,而对 于普通用户则采用共享数据库、共享数据架构的方式存储租户数据。
[0009] 进一步地,本发明的面向多租户的云计算系统,使用基于角色的访问控制模型,所 述基于角色的访问控制模型按照以下步骤构建: 步骤1 :各租户结合自身的特点构建租户自己的组织结构和角色体系模型,所述组织 结构和角色体系模型具有以下定义: 租户:租用软件级服务的企业,在软件级服务平台下存在多个租户,并且各租户之间的 信息是相互独立的; 租户管理员:每个租户拥有一个管理员,租户管理员可以对租户中的所有角色进行权 限分配,同时对其具有新增、修改、删除的权限; 角色:企业中的某一特定的职能或职责岗位,根据企业的业务功能划分具有层次关系 的角色,上层角色与其下层角色的不同不仅是职能的不同,而且还要对其负责的领域具有 管理职能; 用户:软件级服务真正的使用者,用户属于某一角色从而拥有相应的权限,并能进行相 关的业务管理; 步骤2、为各角色配置相应的访问控制权限; 步骤3、租户管理员为用户指定不同的角色。
[0010] 相比现有技术,本发明具有以下有益效果: 不同的租户首先构建自身的组织结构和角色体系模型,然后根据其自身的组织结构和 角色体系模型对购买的服务进行自定义的配置,符合租户的要求,灵活性更高;对隔离性 要求比较高的租户采用独立数据库的方式存储租户数据,而对于普通用户则采用共享数据 库,共享数据架构的方式,在结合独立数据库和共享数据库,共享数据架构优点的同时,也 满足了用户的不同服务质量的需求;在传统的基于角色(RBAC)的访问控制模型中引入层 级管理,使得角色管理井然有序,减轻权限管理的负担。

【专利附图】

【附图说明】
[0011] 图1为SaaS服务提供商与租户之间的关系图; 图2为财务部门的角色层次关系图; 图3为SaaS隔离模型图; 图4为用户的访问控制流程图。

【具体实施方式】
[0012] 下面结合附图对本发明的技术方案进行详细说明: 本发明针对现有技术不足,首先对传统多租户架构中多租户数据存储方式进行了改 进,对隔离性要求比较高的租户采用独立数据库的方式存储租户数据,而对于普通用户则 采用共享数据库,共享数据架构的方式,在结合独立数据库和共享数据库,共享数据架构优 点的同时,也满足了用户的不同服务质量的需求;本发明进一步在传统的基于角色的访问 控制模型中引入层级管理,使得角色管理井然有序,减轻权限管理的负担。
[0013] 首先,确立企业的组织结构和角色体系模型,对企业中的组织结构和角色体系模 型有如下定义: 租户:租用SaaS应用的企业,在SaaS平台下存在多个租户,并且各租户之间的信息是 相互独立的。记作Tenants={t 1 ,t 2,"·,? " },是所有租户的集合。
[0014] 租户管理员:每个租户拥有一个管理员,租户管理员可以对租户中的所有角色进 行权限分配,同时对其具有新增、修改、删除的权限。
[0015] 角色:企业中的某一特定的职能或职责岗位。根据企业的业务功能划分具有层次 关系的角色,上层角色与其下层角色的不同不仅是职能的不同,而且还要对其负责的领域 具有管理职能。图2显示了某租户的财务部门的角色层次关系。各部门的管理角色则使用 集合R= R,R 2,…,Rn }表示,而对应于每个管理角色的下层角色使用集合{R1(l,R n ,…,Rln }表示。R(t)表示租户t的所有角色,每个租户拥有不同于其他租户的独立的角 色集合。
[0016] 用户:SaaS业务系统真正的使用者,用户属于某一角色从而拥有相应的权限,并 能进行相关的业务管理。隶属于某个角色的用户不能访问属于其他角色的用户的功能模 块,更不能访问属于其他租户的功能模块。记作UserszIupUy ···,!!"},表示用户的集 合。U(t)表示租户t的所有用户。
[0017] 建立本发明的基于角色的访问控制模型的步骤如下: 步骤1 :租户需要结合本企业自身的特点分析构建租户自己的组织结构和角色体系模 型,即:企业内部有哪些主要部门,每个部门分别有哪些主要岗位,每个岗位的承担者在企 业内部又扮演着什么角色;然后,对不同的角色进行分类细化,明确其职能目标;最后,形 成企业组织结构和角色体系模型。
[0018] 步骤2 :在确定好组织结构和角色以后,组织不同角色常用的功能模块,不同的功 能模块其实就对应角色能访问的页面。系统功能的访问控制和系统资源的访问控制最终反 映到对角色所能使用的页面的控制,而一个角色拥有的页面访问权限也就具有了相应的系 统功能及系统资源访问权限。权限和角色之间多对多的关系,即一个角色可以被授予多个 权限,一个权限可以分配给多个角色。
[0019] 步骤3 :在配置完角色的权限以后,租户管理员为用户指定不同的角色,如此,用 户就具有了对数据对象的相应访问权限。用户和角色之间也是多对多的关系,即一个角色 可以分配给多个用户,一个用户可以被授予多个角色。
[0020] 完成组织结构和角色体系模型以后,租户向SaaS服务提供商购买SaaS服务,并且 根据其自身的组织结构和角色体系模型对购买的服务进行自定义的配置。
[0021] 然后对租户的SaaS应用和数据进行隔离,如图3所示,SaaS软件服务提供商对服 务质量要求比较高的租户所申请的服务提供独立的数据库存储单元,针对用户具体的要求 实现精确的方案,满足租户的独特要求,在所有的实现数据隔离的方式中。由于采用物理的 方式实现数据隔离,当出现故障的时候,恢复数据比较简单。不过这种定制级别仅适用于用 户服务要求比较高的隔离程度,要求数据存储独立,还要求企业有足够的资金来支持数据 的独立存储和扩展的成本。
[0022] 对普通的用户,采用多租户可配置级。在可配置可扩展的多租户级上,每个租户的 服务不但使用共同的硬件存储设备,同时也使用同一软件实例,但是从用户的角度看,每个 用户就好像独占这个软件实例。租户的数据使用共享数据库,共享数据架构的方式存储,使 用租户ID来区分不同的租户。对于租户数量的变化,可以通过灵活增减后台服务器的数量 多少实现。而且不管访问的用户量有多少,都可以像只针对单个用户一样,方便的实施应用 修改。
[0023] 本发明的云计算系统中,用户的访问控制步骤如图4所示,具体包括以下步骤: 步骤1 :用户登录,云服务商首先对其进行身份验证,如果身份不能得到确认的话,拒 绝用户登录,返回出错信息。
[0024] 步骤2 :确认完登录用户的身份如果是租户管理员,则转到步骤3,否则系统根据 用户所属角色所拥有的权限,控制用户所能访问的页面,并在浏览器端呈现给用户。
[0025] 步骤3 :登录的用户是租户管理员,系统会在浏览器端为用户呈现有别于普通用 户的页面,在此页面上用户可以对所管理的企业进行更改租用服务,角色权限的调整,角色 和用户的重新分配等操作。
[0026] 步骤4:不同的非租户管理员用户登录系统以后会有不同的用户页面,不同的用 户页面也就表示用户具有不同的系统功能及系统资源的访问权限,用户可以在页面上操作 来访问相应的资源,实现相应的功能。
【权利要求】
1. 一种面向多租户的云计算系统,其特征在于,根据租户对数据隔离性要求的不同采 用不同的方式存储租户数据:对隔离性要求高的租户采用独立数据库的方式存储租户数 据,而对于普通用户则采用共享数据库、共享数据架构的方式存储租户数据。
2. 如权利要求1所述面向多租户的云计算系统,其特征在于,使用基于角色的访问控 制模型,所述基于角色的访问控制模型按照以下步骤构建: 步骤1 :各租户结合自身的特点构建租户自己的组织结构和角色体系模型,所述组织 结构和角色体系模型具有以下定义: 租户:租用软件级服务的企业,在软件级服务平台下存在多个租户,并且各租户之间的 信息是相互独立的; 租户管理员:每个租户拥有一个管理员,租户管理员可以对租户中的所有角色进行权 限分配,同时对其具有新增、修改、删除的权限; 角色:企业中的某一特定的职能或职责岗位,根据企业的业务功能划分具有层次关系 的角色,上层角色与其下层角色的不同不仅是职能的不同,而且还要对其负责的领域具有 管理职能; 用户:软件级服务真正的使用者,用户属于某一角色从而拥有相应的权限,并能进行相 关的业务管理; 步骤2、为各角色配置相应的访问控制权限; 步骤3、租户管理员为用户指定不同的角色。
【文档编号】G06Q10/06GK104123616SQ201410358008
【公开日】2014年10月29日 申请日期:2014年7月25日 优先权日:2014年7月25日
【发明者】付雄, 徐松, 邓松, 程春玲 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1