专利名称:云计算架构中的虚拟机之间的安全通信的制作方法
技术领域:
本发明涉及云计算的技术领域,具体地,涉及在云计算架构中创建用户的虚拟机的方法及装置以及在云计算架构中控制虚拟机之间的安全通信的方法及装置。
背景技术:
近年来,云计算技术正在快速地发展。云计算是一种基于因特网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给用户。图1示出了现有的云计算架构的一个例子的示意图。如图1所示,基础设施层使用虚拟化、数据库存储等技术为中间层准备所需的计算和存储等资源,中间层使用多租户(tenant)技术,能够使单独的应用为多个组织(租户)服务。在这种云计算架构中,通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并通过虚拟机管理器进行管理,从而可以降低成本、简化管理。然而,由于在虚拟化技术中,物理资源对于分别属于多个用户的多个虚拟机是透明共享的,因此,会对安全性带来负影响,例如导致滥用、影响机密性、完整性等。例如,恶意用户可能利用属于其的虚拟机以试图窃取同一服务器的其它用户的数据。
现有的用于云计算架构中的虚拟机之间的通信的安全机制提供了例如虚拟防火墙、虚拟机间的流量分析、访问控制等技术。防火墙技术通过虚拟网络分段来防止虚拟机之间的未授权通信。此外,作为访问控制技术,为了防止虚拟机被窃取或未授权访问,可以执行如TCP五元组(即源IP地址、目的IP地址、源端口、目的端口、协议)、安全组(例如资源池、文件夹、容器及其它vSphere分组等)的安全策略。下面以图1所示的云计算架构为例,描述现有的在云计算架构中创建虚拟机及保护虚拟机之间的通信的技术。如图1所示,用户A和用户B分别针对同一应用创建各自的租户,即租户A和租户B。在此,租户是指用户在执行某个应用时而生成的实例。这种针对同一应用而创建的租户可被认为是具有相同类型的租户。租户A和租户B分别向虚拟机管理器(VMM)发送请求以创建虚拟机。响应于来自租户A和租户B的请求,虚拟机管理器为它们各自创建一个或多个虚拟机,每个虚拟机被分配有虚拟IP地址。在图1中,用H...、VM_Ak表不属于租户A的虚拟机,用VM_B1、...、VM_Bm表不属于租户B的虚拟机。另外,用户C针对另一个应用创建租户C,因此,租户C是与租户A、租户B不同类型的租户。虚拟机管理器在接收了来自租户C的创建虚拟机的请求后,为其创建一个或多个虚拟机,在图中
示为V^C1.....VM_Cn。虚拟机管理器在创建虚拟机时,在数据库中为虚拟机所属的租户的
数据分配了数据存储区域。在这种云计算架构中,由虚拟机管理器执行保护虚拟机之间的通信的安全策略。在现有的用于虚拟机之间的通信的安全机制中,假定属于相同类型的租户的虚拟机所在的环境是可信任的,属于不同类型的租户的虚拟机通过例如虚拟防火墙、虚拟网络分段等机制而彼此隔离。在这种情况下,属于相同类型的租户的虚拟机可以彼此通信,仅需执行云提供商或服务提供商所要求的缺省的访问控制策略。例如,在图1所示的云计算架构中,虚拟机VM_A1能够与虚拟机VM_B1直接通信,因为它们属于相同类型的租户。然而,属于不同类型的租户的虚拟机之间在彼此通信之前需要执行安全策略。例如,在图1所示的云计算架构中,当虚拟机VM_A1想要与虚拟机VM_C1通信时,由于它们分别属于不同类型的租户A和租户C,因此,需要检查虚拟机VM_A1是否被允许与虚拟机VM_C1进行通信。这可通过虚拟机管理器执行访问控制策略来实现。只有在虚拟机VM_A1被授权与虚拟机VM_Cl通信的情况下,虚拟机VM_A1才被允许与虚拟机VM_C1进行通信。然而,由于属于相同类型的租户的虚拟机之间可以无需执行安全策略地进行通信,因此,存在恶意用户通过创建属于某一类型的租户的虚拟机来攻击属于相同类型的租户的其它虚拟机并获取相应的租户数据的风险。此外,现有的用于虚拟机之间的通信的安全机制是根据云提供商或服务提供商的安全策略而设置的,用户并不能够根据其安全需求而主动定制所需的安全级别以保护其网络资源。例如,对于属于相同类型的租户A和租户B,如果用户A想要请求高的安全级别以保护租户A的数据,则现有的安全机制不能根据用户A的请求为租户A的数据分配更安全的数据存储区域,也不能根据用户A的请求来对请求与属于租户A的虚拟机通信的虚拟机进行高级别的安全访问控制,而只能根据云提供商或服务提供商的安全策略设置租户A的安全机制。
发明内容
本发明正是鉴于上述技术问题而提出的,其目的在于提供一种用于在云计算架构中创建用户的虚拟机的方法及装置、一种用于在云计算架构中控制虚拟机之间的安全通信的方法及装置、以及一种云计算架构中的虚拟机管理器,从而能够为云计算架构中的虚拟机之间的通信提供更安全的保护。根据本发明的第一方面,提供一种用于在云计算架构中创建用户的虚拟机的方法,包括:从由所述用户建立的租户接收创建虚拟机的请求;响应于所述请求,创建所述用户的虚拟机;以及在映射表中记录所创建的所述虚拟机的标识符与所述虚拟机所属的租户的标识符之间的映射。 根据本发明的第二方面,提供一种用于在云计算架构中控制虚拟机之间的安全通信的方法,其中,所述虚拟机根据上述的用于在云计算架构中创建用户的虚拟机的方法而创建,所述控制的方法包括:接收来自第一虚拟机的与第二虚拟机进行通信的请求;确定所述第一虚拟机与所述第二虚拟机是否属于同一个租户;以及如果所述第一虚拟机与所述第二虚拟机属于同一个租户,则控制所述第一虚拟机与所述第二虚拟机进行通信。根据本发明的第三方面,提供一种用于在云计算架构中创建用户的虚拟机的装置,包括:接收模块,用于从由所述用户建立的租户接收创建虚拟机的请求;创建模块,用于响应于所述请求,创建所述用户的虚拟机;以及记录模块,用于在映射表中记录所创建的所述虚拟机的标识符与所述虚拟机所属的所述租户的标识符之间的映射。根据本发明的第四方面,提供一种用于在云计算架构中控制虚拟机之间的安全通信的装置,其中,所述虚拟机由上述的用于在云计算架构中创建用户的虚拟机的装置创建,所述控制的装置包括:接收模块,用于接收来自第一虚拟机的与第二虚拟机进行通信的请求;第一确定模块,用于确定所述第一虚拟机与所述第二虚拟机是否属于同一个租户;以及控制模块,用于在所述第一虚拟机与所述第二虚拟机属于同一个租户时,控制所述第一虚拟机与所述第二虚拟机进行通信。根据本发明的第五方面,提供一种云计算架构中的虚拟机管理器,包括:上述的用于在云计算架构中创建用户的虚拟机的装置;上述的用于在云计算架构中控制虚拟机之间的安全通信的装置;映射表,用于维持所创建的虚拟机的标识符与所述虚拟机所属的租户的标识符与之间的映射;以及安全级别表,用于维持租户的标识符与表明用户所要求的所述租户的安全级别的关联。
图1是现有的云计算架构的例子的示意图;图2是根据本发明的一个实施例的用于在云计算架构中创建用户的虚拟机的方法的流程图;图3是根据本发明的一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的方法的流程图;图4是根据本发明的另一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的方法的流程图;图5是应用了本发明的实施例的方法的云计算架构的示意图;图6是根据本发明的一个实施例的用于在云计算架构中创建用户的虚拟机的装置的示意性框图;图7是根据本发明的一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的装置的示意性框图;图8是根据本发明的另一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的装置的示意性框图。
具体实施例方式相信通过以下结合附图对本发明的具体实施方式
的详细描述,本发明的上述和其它目的、特点和优点将变得更加明显。图2示出了根据本发明的一个实施例的用于在云计算架构中创建用户的虚拟机的方法的流程图。下面结合附图,对本实施例进行详细描述。本实施例的创建用户的虚拟机的方法可在云计算架构中的虚拟机管理器中执行。如图2所示,在步骤S201,从由用户建立的租户接收创建虚拟机的请求。如前所述,用户在执行应用时,创建针对该应用的租户。然后,租户生成用于创建虚拟机的请求并发送。接着,在步骤S205,响应于所接收的请求,创建用户的虚拟机。在该步骤中,首先,在步骤S2051,生成一个或多个虚拟机,这可通过运行例如VMware的虚拟机软件来实现。对于本领域的普通技术人员来说,使用现有的虚拟机软件生成虚拟机是已知的,在此省略其说明。然后,在步骤S2052,检查所接收的请求是否包含安全级别标志,其用于表明用户所要求的租户的安全级别。该安全级别标志反映了用户关于租户的数据的特殊安全要求。
在本实施例中,安全级别标志的值可设置为“高”和“低”,分别对应高级别的安全策略和低级别的安全策略。安全级别标志的值可由用户在生成创建虚拟机的请求时设置。如果所接受的请求包含安全级别标志(步骤S2052的“是”),则在步骤S2053,按照该安全级别标志所表明的安全级别,向所生成的一个或多个虚拟机的每一个分配虚拟IP地址,并为该租户的数据分配数据存储区域。然后,在步骤S2054,在安全级别表中记录该租户的标识符与该安全级别标志之间的关联。通过安全级别表,可以反映哪些租户具有自定义的安全要求。在这种情况下,当安全级别标志表明安全级别为高时,向所生成的一个或多个虚拟机的每一个分配属于特定网段的虚拟IP地址,并分配更安全的存储区作为该租户的数据存储区域。在本实施例中,更安全的存储区例如是单独的隔离的数据库。另外,在虚拟机通信时,将执行高级别的安全策略。当安全级别标志表明安全级别为低时,向所生成的每一个虚拟机分配属于共用网段的虚拟IP地址,并分配公共数据库中的存储区作为该租户的数据存储区域。另外,在虚拟机通信时,将执行低级别的安全策略或缺省的安全级别的安全策略。如果所接受的请求不包含安全级别标志(步骤S2052的“否”),则在步骤S2055,按照缺省的安全级别,向所生成的每一个虚拟机分配虚拟IP地址,并为该租户的数据分配数据存储区域。在此,缺省的安全级别是指云提供商或服务提供商所要求的安全级别。虽然在本实施例中,对于用户所要求的租户的安全级别仅描述了高和低两种,但本领域的普通技术人员能够容易想到,可以设置更多的安全级别。此外,本实施例主要针对单个租户创建虚拟机的情况进行了描述,但本领域的普通技术人员能够理解,对于多个租户,上述实施例的方法也适用。此外,在用户建立多个租户的情况下,用户还可以对多个租户分别设置安全级别。然后,在步骤S210,在映射表中记录请求所创建的虚拟机的标识符与该虚拟机所属的租户的标识符之间的映射。在本实施例中,映射表用于维持所创建的虚拟机的标识符与它们所属的租户的标识符之间的映射。通过该映射表,可以识别虚拟机属于哪个租户。虽然在本实施例中,安全级别表和映射表是单独的表,但本领域的普通技术人员容易知道,安全级别表和映射表也可以组合成单个表。此外,安全级别表和映射表都可维持在虚拟机管理器中。通过以上描述可以看出,本实施例的用于在云计算架构中创建用户的虚拟机的方法,通过在创建虚拟机的同时记录所创建的虚拟机的标识符与它们所属的租户的标识符之间的映射,能够建立租户与虚拟机之间的关联,从而能够提供更安全的虚拟机之间的通信。另外,本实施例的方法通过在创建虚拟机的请求中包含用户可设置的安全级别标志,使用户能够定制特殊的安全要求,并能够按照用户所定制的安全要求提供相应的安全策略。在同一个发明构思下,图3示出了根据本发明的一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的方法的流程图。下面结合附图,对本实施例进行详细描述,其中,对于与前面实施例相同的部分,适当省略其说明。在本实施例中,虚拟机通过图2所示的实施例的创建用户的虚拟机的方法来创建。本实施例的控制虚拟机之间的安全通信的方法可以在虚拟机管理器中执行。如图3所示,在步骤S301,接收来自第一虚拟机的与第二虚拟机进行通信的请求。如前所述,虚拟机管理器对虚拟机之间的通信进行管理并执行安全策略。因此,当第一虚拟机想要与第二虚拟机通信时,需要先向虚拟机管理器发送通信请求。在接收到通信请求后,在步骤S305,确定第一虚拟机与第二虚拟机是否属于同一个租户。如前所述,映射表维持了虚拟机的标识符与该虚拟机所属的租户的标识符之间的映射,因此,通过映射表,可以确定虚拟机所属的租户,从而确定是否是同一个租户。在本实施例中,首先,在步骤S3051,根据第一虚拟机的标识符和第二虚拟机的标识符,查询映射表,以获得第一虚拟机所属的第一租户的标识符和第二虚拟机所属的第二租户的标识符。然后,在步骤S3052,比较第一租户的标识符和第二租户的标识符。当第一租户的标识符和第二租户的标识符相同时,在步骤S3053,确定第一虚拟机与第二虚拟机属于同一个租户。否则,在步骤S3054,确定第一虚拟机与第二虚拟机不属于同一个租户。当第一虚拟机与第二虚拟机属于同一个租户时,表明第一虚拟机可以与第二虚拟机进行通信,此时,可以只执行缺省的安全级别的安全策略。因此,在步骤S310,控制第一虚拟机与第二虚拟机进行通信。通过以上描述可以看出,本实施例的用于在云计算架构中控制虚拟机之间的安全通信的方法通过在不同的虚拟机进行通信之前确定其是否属于同一个租户,能够确保属于同一个租户的虚拟机之间只需执行缺省的安全级别的安全策略就能够进行通信。图4示出了根据本发明的另一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的方法的流程图。下面结合附图,对本实施例进行详细描述,其中,对于与前面实施例相同的部分,付与相同的附图标记,并适当省略其说明。如图4所示,在第一虚拟机与第二虚拟机不属于同一个租户时(步骤S305的“否”),在步骤S401,确定第二虚拟机所属的用户是否要求了安全级别。如前所述,安全级别表维持了租户的标识符与安全级别标志之间的关联。因此,通过安全级别表,可以获得租户的安全级别。在本实施例中,首先在步骤S4011,根据第二虚拟机所属的租户的标识符,查询安全级别表,以确定是否存在用于第二虚拟机所属的租户的安全级别标志。如果存在安全级别标志,则在步骤S4012,确定第二虚拟机所属的用户要求了安全级别。否则,在步骤S4013,确定第二虚拟机所属的用户未要求安全级别。如果第二虚拟机所属的用户要求了安全级别,则在步骤S405,对该租户执行所要求的安全级别的安全策略。在本实施例中,当安全级别标志表明第二虚拟机所属的租户的安全级别为高时,执行高级别的安全策略。在高级别的安全策略中,首先,确定第一虚拟机是否被授权接入第二虚拟机(即访问控制)。在第一虚拟机被授权接入第二虚拟机的情况下,对第一虚拟机与第二虚拟机之间的通信提供机密性和/或完整性保护,并且在更安全的存储区(例如,单独的隔离的数据库)中存储和处理租户的数据。在第一虚拟机未被授权接入第二虚拟机的情况下,拒绝第一虚拟机的通信请求。当安全级别标志表明第二虚拟机所属的租户的安全级别为低时,执行低级别的安全策略。在低级别的安全策略中,首先执行访问控制,即,确定第一虚拟机是否被授权接入第二虚拟机。如果第一虚拟机被授权接入所述第二虚拟机,则允许第一虚拟机与第二虚拟机进行通信,并根据缺省的安全级别的策略进行安全传输。如果第一虚拟机未被授权接入第二虚拟机,则拒绝第一虚拟机的通信请求。如果第二虚拟机所属的用户未要求安全级别,则在步骤S410,对该租户执行缺省的安全级别的安全策略。通过以上描述可以看出,本实施例的用于在云计算架构中控制虚拟机之间的安全通信的方法能够进一步按照用户所要求的安全级别进行虚拟机之间的通信。作为一个例子,图5示出了应用了本发明的实施例的方法的云计算架构的示意图。如图5所示,用户A和用户B针对同一个应用建立了各自的租户,即租户A和租户B,用户C针对另一个应用建立了租户C。在接收了来自租户A、租户B和租户C的请求后,虚拟机
管理器创建了属于租户A的虚拟机VM_4.....VM_Ak、属于租户B的虚拟机VM_B1.....VM_
Bm和属于租户C的虚拟机VM_C1.....VM_Cn。由于用户A要求高的安全级别,即在请求中包
含值为“高”的安全级别标志,因此,虚拟机管理器向虚拟机VM_4.....VM_Ak分配了属于
特定网段的虚拟IP地址,并为租户A的数据分配了更安全的存储区,即图5中示出的单独的数据库。而用户B和用户C并未在请求中包含特殊的安全要求,则按照缺省的安全级别,
向其虚拟机VM_B1.....VM_Bm和VMj1.....VM_Cn分配虚拟IP地址,并分配数据存储区域。
在图5中,租户B和租户C的数据位于同一个数据库中。此外,在虚拟机管理器中,还维持有记录虚拟机的标识符与其所属的租户的标识符之间的映射的映射表以及记录租户的标识符与表明用户所要求的该租户的安全级别的安全级别标志之间的关联的安全级别表。当虚拟机之间进行通信时,首先确定这些虚拟机是否属于同一个租户。属于同一个租户的虚拟机能够执行缺省的安全级别的安全策略而进行通信。在图5中,虚拟机VM_4能够与租户A的其它虚拟机进行通信,而只需执行缺省的安全级别的安全策略。虚拟机VM_Ai和虚拟机VM_Bi(i = 1,...,m)由于属于不同的租户,因此,需要执行相应的安全策略来进行通信。在这种情况下,通过获取被请求通信的虚拟机所属的租户的安全级别,执行该安全级别的安全策略。在同一个发明构思下,图6示出了根据本发明的一个实施例的用于在云计算架构中创建用户的虚拟机的装置600的示意性框图。下面结合附图,对本实施例进行详细描述。对于与前面实施例相同的部分,适当省略其说明。如图6所示,本实施例的装置600包括:接收模块601,其从由用户建立的租户接收创建虚拟机的请求;创建模块602,其响应于所述请求,创建用户的虚拟机;以及记录模块603,其在映射表中记录所创建的虚拟机的标识符与该虚拟机所属的租户的标识符之间的映射。在本实施例的装置600中,在接收模块601接收了来自用户所建立的租户的请求创建虚拟机的请求后,由创建模块602创建用户的虚拟机。在创建模块602中,虚拟机生成单元6021生成一个或多个虚拟机。如前所述,虚拟机生成单元6021可通过运行有关生成虚拟机的软件来生成虚拟机。接着,检查单元6022检查所接受的请求是否包含用于表明该用户所要求的租户的安全级别的安全级别标志。当检查单元6022检查到所接收的请求包含安全级别标志时,第一分配单元6023按照该安全级别标志所表明的安全级别,向所生成的每一个虚拟机分配虚拟IP地址,并且第二分配单元6024按照该安全级别标志所表明的安全级别,为该租户的数据分配数据存储区域。具体地,如果安全级别标志表明租户的安全级别为高,则第一分配单元向每一个虚拟机分配属于特定网段的虚拟IP地址,第二分配单元分配更安全的存储区作为数据存储区域,例如单独的隔离的数据库。如果安全级别标志表明租户的安全级别为低,则第一分配单元6023向每一个虚拟机分配属于共用网段的虚拟IP地址,第二分配单元6024分配公共数据库中的存储区作为数据存储区域。当检查单元6022检查到所接收的请求不包含安全级别标志时,第一分配单元6023按照缺省的安全级别,向所生成的每一个虚拟机分配虚拟IP地址,并且第二分配单元6024按照缺省的安全级别,为该租户的数据分配数据存储区域。此外,记录单元6025在安全级别表中记录租户的标识符与安全级别标志之间的关联。当创建模块602创建了用户的虚拟机之后,记录模块603记录所创建的虚拟机的标识符与其所属的租户的标识符之间的映射。需要注意,虽然在本实施例中,记录模块603和记录单元6025是两个单独的模块,但本领域的普通技术人员能够理解,也可以将其合并成一个记录模块。应当指出,本实施例的用于在云计算架构中创建用户的虚拟机的装置600在操作上能够实现图2所示的实施例的创建用户的虚拟机的方法。在同一个发明构思下,图7示出了根据本发明的一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的装置700的示意图。下面结合附图,对本实施例进行详细描述。对于与前面实施例相同的部分,适当省略其说明。如图7所示,本实施例的装置700包括:接收模块701,其接收来自第一虚拟机的与第二虚拟机进行通信的请求;第一确定模块702,其确定第一虚拟机与第二虚拟机是否属于同一个租户;以及控制模块703,其在第一虚拟机与第二虚拟机属于同一个租户时,控制第一虚拟机与第二虚拟机进行通信。第一虚拟机和第二虚拟机是由图6所示的实施例的用于在云计算架构中创建用户的虚拟机的装置600创建的。在本实施例的装置700中,在接收模块701接收了来自第一虚拟机的请求与第二虚拟机通信的请求后,第一确定模块702可通过查询映射表确定第一虚拟机与第二虚拟机是否属于同一个租户。在第一确定模块702中,查询单兀7021根据第一虚拟机的标识符和第二虚拟机的标识符,查询映射表,以获得第一虚拟机所属的第一租户的标识符和第二虚拟机所属的第二租户的标识符。接着,比较单元7022比较第一租户的标识符和第二租户的标识符。当第一租户的标识符和第二租户的标识符相同时,确定单元7023确定第一虚拟机与第二虚拟机属于同一个租户。否则,确定单元7023确定第一虚拟机与第二虚拟机不属于同一个租户。当第一确定模块702确定第一虚拟机与第二虚拟机属于同一个租户时,控制模块703对它们之间的通信进行控制,此时执行缺省的安全级别的安全策略。应当指出,本实施例的用于在云计算架构中控制虚拟机之间的安全通信的装置700在操作上能够实现图3所示的实施例的控制虚拟机之间的安全通信的方法。图8示出了根据本发明的另一个实施例的用于在云计算架构中控制虚拟机之间的安全通信的装置800的示意图。下面结合附图,对本实施例进行详细描述。对于与前面实施例相同的部分,付与相同的附图标记,并适当省略其说明。如图8所示,本实施例的装置800除了包括接收模块701、第一确定模块702和控制模块703之外,还包括第二确定模块801,其在第一虚拟机与第二虚拟机不属于同一个租户时,确定第二虚拟机所属的用户是否要求了安全级别。第二确定模块801可通过查询安全级别表来确定第二虚拟机所属的用户是否要求了安全级别。在第二确定模块801中,查询单元8021根据第二虚拟机所属的租户的标识符,查询安全级别表,以确定是否存在用于第二虚拟机所属的租户的安全级别标志。当存在用于第二虚拟机所属的租户的安全级别标志时,确定单元8022确定第二虚拟机所属的用户要求了安全级别。否则,确定单元8022确定第二虚拟机所属的用户未要求安全级别。在本实施例的装置800中,当第二确定模块801确定第二虚拟机所属的用户要求了安全级别时,控制模块703进一步对该租户执行所要求的安全级别的安全策略。具体地,如果安全级别标志所表明的安全级别为高,则执行高级别的安全策略,如前所述,包括访问控制、传输中的机密性和/或完整性保护、在更安全的存储区中存储和处理租户的数据。如果安全级别标志所表明的安全级别为低,则执行低级别的安全策略,例如,执行访问控制策略。当第二确定模块801确定第二虚拟机所属的租户未要求安全级别时,控制模块703对该租户执行缺省的安全级别的安全策略。在本实施例中,虽然第一确定模块702和第二确定模块801被描述为分离的两个模块,但本领域的普通技术人员能够理解,也可以将第一确定模块702和第二确定模块801合并成一个模块。应当指出,本实施例的用于在云计算架构中控制虚拟机之间的安全通信的装置800在操作上能够实现图4所示的实施例的控制虚拟机之间的安全通信的方法。应当指出,上述实施例的用于在云计算架构中创建用户的虚拟机的装置600和用于在云计算架构中控制虚拟机之间的安全通信的装置700或800可设置在虚拟机管理器中。此外,本发明的实施例还提供了一种云计算架构中的虚拟机管理器,其可包括:如图6所示的实施例的用于在云计算架构中创建用户的虚拟机的装置600、如图7或图8所示的用于在云计算架构中控制虚拟机之间的安全通信的装置700或800、用于维持所创建的虚拟机的标识符与该虚拟机所属的租户的标识符与之间的映射的映射表、以及用于维持租户的标识符与表明用户所要求的该租户的安全级别的关联安全级别表。在这种情况下,装置600中的接收模块601和装置700或800中的接收模块701可以合并成一个接收模块。应当指出,上述实施例的创建用户的虚拟机的装置和控制虚拟机之间的安全通信的装置及其组成部分可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。以上虽然通过示例性的实施例详细描述了本发明的用于在云计算架构中创建用户的虚拟机的方法及装置以及用于在云计算架构中控制虚拟机之间的安全通信的方法及装置,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。
权利要求
1.一种用于在云计算架构中创建用户的虚拟机的方法,包括: 从由所述用户建立的租户接收创建虚拟机的请求; 响应于所述请求,创建所述用户的虚拟机;以及 在映射表中记录所创建的所述虚拟机的标识符与所述虚拟机所属的租户的标识符之间的映射。
2.根据权利要求1所述的方法,其中,所述创建所述用户的虚拟机的步骤包括: 生成一个或多个虚拟机; 检查所述请求是否包含用于表明所述用户所要求的所述租户的安全级别的安全级别标志; 如果所述请求包含所述安全级别标志,则 按照所述请求中的所述安全级别标志所表明的安全级别,向所生成的一个或多个虚拟机的每一个分配虚拟IP地址,并为所述用户的所述租户的数据分配数据存储区域;以及在安全级别表中记录所述租户的标识符与所述安全级别标志之间的关联; 如果所述请求不包含所述安全级别标志,则按照缺省的安全级别,向所生成的一个或多个虚拟机的每一个分配虚拟IP地址,并为所述用户的所述租户的数据分配数据存储区域。
3.根据权利要求2所述的方法,其中,所述按照所述请求中的所述安全级别标志所对应的安全级别,向所生成的一个或多个虚拟机的每一个分配虚拟IP地址,并为所述用户的所述租户的数据分配数据存储`区域的步骤包括: 如果所述安全级别标志表明所述用户所要求的所述租户的安全级别为高,则向所生成的一个或多个虚拟机的每一个分配属于特定网段的虚拟IP地址,并分配更安全的存储区作为所述数据存储区域;以及 如果所述安全级别标志表明所述用户所要求的所述租户的安全级别为低,则向所生成的一个或多个虚拟机的每一个分配属于共用网段的虚拟IP地址,并分配公共数据库中的存储区作为所述数据存储区域。
4.一种用于在云计算架构中控制虚拟机之间的安全通信的方法,其中,所述虚拟机根据权利要求1至3任意一项所述的用于在云计算架构中创建用户的虚拟机的方法而创建,所述控制的方法包括: 接收来自第一虚拟机的与第二虚拟机进行通信的请求; 确定所述第一虚拟机与所述第二虚拟机是否属于同一个租户;以及如果所述第一虚拟机与所述第二虚拟机属于同一个租户,则控制所述第一虚拟机与所述第二虚拟机进行通信。
5.根据权利要求4所述的方法,其中,所述确定所述第一虚拟机与所述第二虚拟机是否属于同一个租户的步骤包括: 根据所述第一虚拟机的标识符和所述第二虚拟机的标识符,查询映射表,以获得所述第一虚拟机所属的第一租户的标识符和所述第二虚拟机所属的第二租户的标识符; 比较所述第一租户的标识符和所述第二租户的标识符;以及 如果所述第一租户的标识符和所述第二租户的标识符相同,则确定所述第一虚拟机与所述第二虚拟机属于同一个租户。
6.根据权利要求4或5所述的方法,还包括:如果所述第一虚拟机与所述第二虚拟机不属于同一个租户,则执行以下步骤: 确定所述第二虚拟机所属的用户是否要求了安全级别; 如果所述第二虚拟机所属的用户要求了安全级别,则对所述第二虚拟机所属的租户执行所述安全级别的安全策略;以及 如果所述第二虚拟机所属的用户未要求安全级别,则对所述第二虚拟机所属的租户执行缺省的安全级别的安全策略。
7.根据权利要求6所述的方法,其中,所述确定所述第二虚拟机所属的用户是否要求了安全级别的步骤包括: 根据所述第二虚拟机所属的租户的标识符,查询安全级别表,以确定是否存在用于所述第二虚拟机所属的租户的安全级别标志;以及 如果存在所述安全级别标志,则确定所述第二虚拟机所属的用户要求了安全级别。
8.一种用于在云计算架构中创建用户的虚拟机的装置,包括: 接收模块,用于从由所述用户建立的租户接收创建虚拟机的请求; 创建模块,用于响应于所述请求,创建所述用户的虚拟机;以及 记录模块,用于在映射表中记录所创建的所述虚拟机的标识符与所述虚拟机所属的租户的标识符之间的映射。
9.根据权利要求8 所述的装置,其中,所述创建模块包括: 虚拟机生成单元,用于生成一个或多个虚拟机; 检查单元,用于检查所述请求是否包含用于表明所述用户所要求的所述租户的安全级别的安全级别标志; 第一分配单元,用于在所述请求包含所述安全级别标志时,按照所述请求中的所述安全级别标志所表明的安全级别,向所生成的一个或多个虚拟机的每一个分配虚拟IP地址,以及用于在所述请求不包含所述安全级别标志时,按照缺省的安全级别,向所生成的一个或多个虚拟机的每一个分配虚拟IP地址; 第二分配单元,用于在所述请求包含所述安全级别标志时,按照所述请求中的所述安全级别标志所表明的安全级别,为所述用户的所述租户的数据分配数据存储区域,以及用于在所述请求不包含所述安全级别标志时,按照缺省的安全级别,为所述用户的所述租户的数据分配数据存储区域;以及 记录单元,用于在安全级别表中记录所述租户的标识符与所述安全级别标志之间的关联。
10.根据权利要求9所述的装置,其中, 如果所述安全级别标志表明所述用户所要求的所述租户的安全级别为高,则所述第一分配单元用于向所生成的一个或多个虚拟机的每一个分配属于特定网段的虚拟IP地址,所述第二分配单元用于分配更安全的存储区作为所述数据存储区域; 如果所述安全级别标志表明所述用户所要求的所述租户的安全级别为低,则所述第一分配单元用于向所生成的一个或多个虚拟机的每一个分配属于共用网段的虚拟IP地址,所述第二分配单元用于分配公共数据库中的存储区作为所述数据存储区域。
11.一种用于在云计算架构中控制虚拟机之间的安全通信的装置,其中,所述虚拟机由权利要求8至10任意一项所述的用于在云计算架构中创建用户的虚拟机的装置创建,所述控制的装置包括: 接收模块,用于接收来自第一虚拟机的与第二虚拟机进行通信的请求; 第一确定模块,用于确定所述第一虚拟机与所述第二虚拟机是否属于同一个租户;以及 控制模块,用于在所述第一虚拟机与所述第二虚拟机属于同一个租户时,控制所述第一虚拟机与所述第二虚拟机进行通信。
12.根据权利要求11所述的装置,其中,所述第一确定模块包括: 查询单元,用于根据所述第一虚拟机的标识符和所述第二虚拟机的标识符,查询映射表,以获得所述第一虚拟机所属的第一租户的标识符和所述第二虚拟机所属的第二租户的标识符; 比较单元,用于比较所述第一租户的标识符和所述第二租户的标识符;以及确定单元,用于在所述第一租户的标识符和所述第二租户的标识符相同时,确定所述第一虚拟机与所述第二虚拟机属于同一个租户。
13.根据权利要求11或12所述的装置,还包括: 第二确定模块,用于在所述第一虚拟机与所述第二虚拟机不属于同一个租户时,确定所述第二虚拟机所属的用户是否要求了安全级别; 其中,所述控制模块还用于在所述第二虚拟机所属的用户要求了安全级别时,对所述第二虚拟机所属的租户执行所述安全级别的安全策略,以及在所述第二虚拟机所属的用户未要求安全级别时,对所述第二虚拟机所属的租户执行缺省的安全级别的安全策略。
14.根据权利要求13所述的装置,其中,所述第二确定模块包括: 查询单元,用于根据所述第二虚拟机所属的租户的标识符,查询安全级别表,以确定是否存在用于所述第二虚拟机所属的租户的安全级别标志;以及 确定单元,用于在存在所述安全级别标志时,确定所述第二虚拟机所属的用户要求了安全级别。
15.一种云计算架构中的虚拟机管理器,包括: 根据权利要求8至10任意一项所述的用于在云计算架构中创建用户的虚拟机的装置; 根据权利要求11至14任意一项所述的用于在云计算架构中控制虚拟机之间的安全通信的装置; 映射表,用于维持所创建的虚拟机的标识符与所述虚拟机所属的租户的标识符之间的映射;以及 安全级别表,用于维持租户的标识符与表明用户所要求的所述租户的安全级别的安全级别标志之间的关联。
全文摘要
提供了一种用于在云计算架构中创建用户的虚拟机的方法,包括从由所述用户建立的租户接收创建虚拟机的请求;响应于所述请求,创建所述用户的虚拟机;以及在映射表中记录所创建的所述虚拟机的标识符与所述虚拟机所属的租户的标识符之间的映射。本发明的方法通过在创建虚拟机的同时记录虚拟机的标识符与其所属的租户的标识符之间的映射,能够建立虚拟机与租户之间的关联,从而能够提供更安全的虚拟机之间的通信。此外,还提供了相应的装置以及用于在云计算架构中控制虚拟机之间的安全通信的方法及装置。
文档编号H04L29/06GK103139159SQ201110386669
公开日2013年6月5日 申请日期2011年11月28日 优先权日2011年11月28日
发明者胡志远, 万永根, 骆志刚 申请人:上海贝尔股份有限公司