发明内容
本发明所要解决的技术问题是提供一种云计算平台中多租户应用隔离的方法和系统,能够实现多租户架构下的不同租户的应用在隔离的云平台环境下安全运行。
为了解决上述技术问题,本发明提供了一种云计算平台中多租户应用隔离的方法,该方法包括:
在部署用户应用前,云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心为该用户应用建立权限记录;
云计算安全管理中心接收到云计算管理平台发送的用户应用的环境部署信息后,如查询到该用户应用的权限记录,则根据所述权限记录和环境部署信息生成该用户应用的安全策略并发送给所述云计算管理平台;
所述云计算管理平台接收到所述安全策略后,根据所述安全策略对该用户应用的云计算运行环境进行部署。
进一步地,该方法还具有下述特点:
所述云计算安全管理中心与用户之间进行安全签约,包括:云计算安全管理中心向用户提供通用权限信息,并对用户的反馈信息进行审核,审核通过后与用户进行安全签约;
所述通用权限信息包括权限项目,用户的反馈信息包括:用户标识、应用名及对所述权限项目的设置值;
所述为该用户应用建立权限记录,包括:根据所述反馈信息为该用户应用建立权限记录。
进一步地,该方法还具有下述特点:
所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,还包括:
在用户应用运行过程中,云计算管理平台监控应用行为,检测操作或访问是否与安全策略相符合,如符合,允许该操作或访问;如不符合,则对不相符的操作或访问进行拦截,在拦截后对该操作或访问进行警告、阻止或强迫应用暂停运行。
进一步地,该方法还具有下述特点:
所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,还包括:
如用户应用向云计算安全管理中心发起权限更新请求,则所述云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心更新该用户应用的权限记录;
云计算安全管理中心根据更新后的权限记录更新该用户应用的安全策略,并将更新后的安全策略推送给所述云计算管理平台;
云计算管理平台接收到所述更新后的安全策略后,根据更新后的安全策略更新对该用户应用的云计算运行环境的部署。
进一步地,该方法还具有下述特点:
云计算管理平台根据更新后的安全策略更新对该用户应用的云计算运行环境的部署,包括:云计算管理平台根据更新后的安全策略执行对该用户应用的云计算运行环境的部署,部署过程中不停止已有的应用服务,部署结束后,将已有的应用动态移植到新部署的环境中。
为了解决上述技术问题,本发明还提供了一种云计算平台中多租户应用隔离的系统,该系统包括:
安全签约模块,用于在部署用户应用前,云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心为该用户应用建立权限记录;
策略制定与同步模块,用于云计算安全管理中心接收到云计算管理平台发送的用户应用的环境部署信息后,如查询到该用户应用的权限记录,则根据所述权限记录和环境部署信息生成该用户应用的安全策略并发送给所述云计算管理平台;
策略执行模块,用于所述云计算管理平台接收到所述安全策略后,根据所述安全策略对该用户应用的云计算运行环境进行部署。
进一步地,该系统还具有下述特点:
所述云计算安全管理中心与用户之间进行安全签约,包括:云计算安全管理中心向用户提供通用权限信息,并对用户的反馈信息进行审核,审核通过后与用户进行安全签约;
所述通用权限信息包括权限项目,用户的反馈信息包括:用户标识、应用名及对所述权限项目的设置值;
所述为该用户应用建立权限记录,包括:根据所述反馈信息为该用户应用建立权限记录。
进一步地,该系统还具有下述特点:
所述策略执行模块,还用于所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,在用户应用运行过程中,云计算管理平台监控应用行为,检测操作或访问是否与安全策略相符合,如符合,允许该操作或访问;如不符合,则对不相符的操作或访问进行拦截,在拦截后对该操作或访问进行警告、阻止或强迫应用暂停运行。
进一步地,该系统还具有下述特点:
该系统还包括权限更新模块;
所述策略执行模块,还用于所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,开启权限更新模块;
所述权限更新模块,包括权限更新单元、策略更新与推送单元和策略执行单元;
权限更新单元,用于如用户应用向云计算安全管理中心发起权限更新请求,则所述云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心更新该用户应用的权限记录;
策略更新与推送单元,用于云计算安全管理中心根据更新后的权限记录更新该用户应用的安全策略,并将更新后的安全策略推送给所述云计算管理平台;
策略执行单元,用于云计算管理平台接收到所述更新后的安全策略后,根据更新后的安全策略更新对该用户应用的云计算运行环境的部署。
进一步地,该系统还具有下述特点:
云计算管理平台根据更新后的安全策略更新对该用户应用的云计算运行环境的部署,包括:云计算管理平台根据更新后的安全策略执行对该用户应用的云计算运行环境的部署,部署过程中不停止已有的应用服务,部署结束后,将已有的应用动态移植到新部署的环境中。
与现有技术相比,本发明提供的一种云计算平台中多租户应用隔离的方法和系统,云计算安全管理中心与用户之间进行安全签约并为该用户应用建立权限记录,根据该用户应用的环境部署信息和权限记录生成该用户应用的安全策略并同步给云计算管理平台以供其部署和管理用户应用,该方法和系统能够实现多租户架构下的不同租户的应用在隔离的云平台环境下安全运行。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明的云计算平台中多租户应用隔离的方法,基于如图1所示的多租户架构,该架构包括:云计算平台(运行一个或多个用户应用)、云计算管理平台和云计算平台安全管理中心,云计算管理平台和云计算平台安全管理中心通过网络相连接。
如图2所示,本发明实施例提供了一种云计算平台中多租户应用隔离的方法,该方法包括:
S10,在部署用户应用前,云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心为该用户应用建立权限记录;
S20,云计算安全管理中心接收到云计算管理平台发送的用户应用的环境部署信息后,如查询到该用户应用的权限记录,则根据所述权限记录和环境部署信息生成该用户应用的安全策略并发送给所述云计算管理平台;
S30,所述云计算管理平台接收到所述安全策略后,根据所述安全策略对该用户应用的云计算运行环境进行部署。
该方法进一步包括下述特征:
其中,步骤S10中,所述云计算安全管理中心与用户之间进行安全签约,包括:云计算安全管理中心向用户提供通用权限信息,并对用户的反馈信息进行审核,审核通过后与用户进行安全签约;
其中,所述通用权限信息包括权限项目,用户的反馈信息包括:用户标识、应用名及对所述权限项目的设置值;
所述为该用户应用建立权限记录,包括:根据所述反馈信息为该用户应用建立权限记录。
其中,所述通用权限信息与具体的云计算平台的实现方式无关。
其中,用户的反馈信息中还可以包括应用信息,应用信息是用户提供的该用户应用的综合信息,比如:应用功能描述,应用预期的访问量,应用的安全性等信息。
其中,权限信息可以包括以下权限类型:文件访问控制权限,网络访问控制权限,资源访问控制权限,接口访问控制权限。其中,对文件访问的控制,比如,禁止对文件系统进行写操作,只能读取该用户应用自身的代码和资源文件;对网络访问的控制,比如,禁止私自使用Socket;对资源访问的控制,比如,对用户应用所签约的系统资源使用配额(分钟配额、每日配额)进行控制,对用户应用所使用的系统资源(CPU、内存、带宽等)进行控制;对接口访问的控制,比如,控制应用访问操作系统API,为不同应用分配不同安全级别的系统调用。具体的权限信息,比如:系统文件读写权限,组文件读写权限,文件所有者读写权限,socket访问权限,CPU占用权限,内存分配大小,带宽占用权限,系统调用权限。
其中,步骤S20中,用户应用的环境部署信息包括:服务器类型、操作系统类型、云计算平台类型、开发语言类型、云平台版本号、部署路径等。
其中,步骤S20中,云计算安全管理中心查询用户应用的权限记录,包括:云计算安全管理中心根据用户应用的用户标识和应用名进行权限记录的查询。
其中,步骤S20中,安全策略是用户应用实际运行的云计算运行环境的权限配置信息。
比如,在生成安全策略时,可以通过调整Web服务器的硬件配置来设置相应的权限。服务器的硬件配置包括处理器、内存、磁盘子系统和网络环境。其中,处理器的运行速度以及操作系统对CPU的利用情况决定了Web服务器的服务能力;内存大小以及存储介质对服务器性能最为关键,内存过小,将增加磁盘I/O频率,从而降低系统效率,内存过大,也不会进一步提高性能,属于资源的浪费。另外,不同语言开发环境所需要的权限存在不同,比如,使用ASP.NET构建WEB应用程序时,由于处理大用户量时内存消耗会成为瓶颈,因此对于ASP.NET应用应该分配较大的内存容量。使用CGI(Common Gateway Interface,通用网关接口)的服务器程序时,由于CGI程序每个客户启动一个新进程,当多用户同时访问CGI服务器时,服务器会因进程过多而加重负担,为保证执行效率,应为CGI应用配置较高的进程配额。
其中,步骤S30中,云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署,包括:云计算管理平台根据所述安全策略分配应用运行所需各项资源、预先设置应用访问的权限。
所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,还包括:在用户应用运行过程中,云计算管理平台监控应用行为,检测操作或访问是否与安全策略相符合,如符合,允许该操作或访问;如不符合,则对不相符的操作或访问进行拦截,在拦截后对该操作或访问进行警告、阻止或强迫应用暂停运行。
比如,当应用使用CGI服务器处理请求时,由于CGI程序为每个客户启动一个新进程,当多用户同时访问CGI服务器时,服务器会因进程过多而加重负担,此时如果应用频繁调用fork()函数增加新的进程,使得当前的进程数已经达到了安全策略规定的上限,则当应用继续调用fork()时,云计算管理平台将返回调用失败响应,阻止该应用的操作,并返回错误码用于提示用户。
其中,步骤S30中,所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,还包括:
如用户应用向云计算安全管理中心发起权限更新请求,则所述云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心更新该用户应用的权限记录;
云计算安全管理中心根据更新后的权限记录更新该用户应用的安全策略,并将更新后的安全策略推送给所述云计算管理平台;
云计算管理平台接收到所述更新后的安全策略后,根据更新后的安全策略更新对该用户应用的云计算运行环境的部署
其中,云计算管理平台根据更新后的安全策略更新对该用户应用的云计算运行环境的部署,包括在线更新和下线更新;
在线更新是指:云计算管理平台根据更新后的安全策略执行对该用户应用的云计算运行环境的部署,部署过程中不停止已有的应用服务,部署结束后,将已有的应用动态移植到新部署的环境中。
下线更新是指:将用户应用下线,根据更新后的安全策略执行对该用户应用的云计算运行环境的部署,部署完成后加载用户应用上线。下线更新可以选择应用的非高峰使用时段或应用的非实时性使用时段。
如图3所示,本发明实施例提供了一种云计算平台中多租户应用隔离的系统,该系统包括:
安全签约模块,用于在部署用户应用前,云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心为该用户应用建立权限记录;
策略制定与同步模块,用于云计算安全管理中心接收到云计算管理平台发送的用户应用的环境部署信息后,如查询到该用户应用的权限记录,则根据所述权限记录和环境部署信息生成该用户应用的安全策略并发送给所述云计算管理平台;
策略执行模块,用于所述云计算管理平台接收到所述安全策略后,根据所述安全策略对该用户应用的云计算运行环境进行部署。
该系统进一步包括下述特征:
其中,所述云计算安全管理中心与用户之间进行安全签约,包括:云计算安全管理中心向用户提供通用权限信息,并对用户的反馈信息进行审核,审核通过后与用户进行安全签约;
其中,所述通用权限信息包括权限项目,用户的反馈信息包括:用户标识、应用名及对所述权限项目的设置值;
所述为该用户应用建立权限记录,包括:根据所述反馈信息为该用户应用建立权限记录。
其中,所述策略执行模块,还用于所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,在用户应用运行过程中,云计算管理平台监控应用行为,检测操作或访问是否与安全策略相符合,如符合,允许该操作或访问;如不符合,则对不相符的操作或访问进行拦截,在拦截后对该操作或访问进行警告、阻止或强迫应用暂停运行。
其中,该系统还包括权限更新模块;
所述策略执行模块,还用于所述云计算管理平台根据所述安全策略对该用户应用的云计算运行环境进行部署之后,开启权限更新模块;
所述权限更新模块,包括权限更新单元、策略更新与推送单元和策略执行单元;
权限更新单元,用于如用户应用向云计算安全管理中心发起权限更新请求,则所述云计算安全管理中心与用户之间进行安全签约,签约完成后所述云计算安全管理中心更新该用户应用的权限记录;
策略更新与推送单元,用于云计算安全管理中心根据更新后的权限记录更新该用户应用的安全策略,并将更新后的安全策略推送给所述云计算管理平台;
策略执行单元,用于云计算管理平台接收到所述更新后的安全策略后,根据更新后的安全策略更新对该用户应用的云计算运行环境的部署。
其中,云计算管理平台根据更新后的安全策略更新对该用户应用的云计算运行环境的部署,包括在线更新和下线更新;
在线更新是指:云计算管理平台根据更新后的安全策略执行对该用户应用的云计算运行环境的部署,部署过程中不停止已有的应用服务,部署结束后,将已有的应用动态移植到新部署的环境中。
下线更新是指:将用户应用下线,根据更新后的安全策略执行对该用户应用的云计算运行环境的部署,部署完成后加载用户应用上线。下线更新可以选择应用的非高峰使用时段或应用的非实时性使用时段。
上述实施例提供的一种云计算平台中多租户应用隔离的方法和系统,云计算安全管理中心与用户之间进行安全签约并为该用户应用建立权限记录,根据该用户应用的环境部署信息和权限记录生成该用户应用的安全策略并同步给云计算管理平台以供其部署和管理用户应用,该方法和系统能够实现多租户架构下的不同租户的应用在隔离的云平台环境下安全运行。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。