一种虚拟机访问权限的控制方法、系统及装置的制作方法

文档序号:7896006阅读:467来源:国知局

专利名称::一种虚拟机访问权限的控制方法、系统及装置的制作方法
技术领域
:本发明涉及虚拟机安全控制
技术领域
,尤其涉及一种虚拟机访问权限的控制方法、系统及装置。
背景技术
:云计算是一种利用大规模低成本运算单元通过IP网络相连而所组成的运算系统来提供运算服务的技术。云计算系统底层硬件平台由大量标准化商业服务器组成,通过复杂的IP网络互联,在平台上运行云计算的软件栈。弹性计算云平台为用户提供了一个虚拟集群环境,使得用户的应用具有充分的灵活性,同时也减轻了云计算平台管理者的管理负担。弹性计算云中的虚拟机实例是一些真正在运行中的虚拟机服务器,每一个虚拟机实例代表一个运行中的虚拟机。对于提供给某一个用户的虚拟机,该用户对该虚拟机具有完整的访问权限,包括针对此虚拟机的管理员用户权限。弹性计算云平台作为云计算应用的动态扩展,在云计算应用运行期间实现支撑云计算应用的虚拟机实例个数的动态增加或者减少,例如,在网络负载较高的时候启动较多的虚拟机实例,在网络负载较低的情况停止一些虚拟机实例。在弹性云计算平台中,对应虚拟机的安全管理是非常重要的一方面。现有的虚拟机安全管理机制主要集中在虚拟机的网络隔离方面,目前应用较普遍的方案是通过在物理机上安装防火墙来实现虚拟机的隔离和交互,即针对每台虚拟机设置对应的安全访问策略,例如,滤除系统认为存在不安全因素的IP地址。通过防火墙隔离技术,此类被安全访问策略设定的IP地址对应的虚拟机无法访问该虚拟机。该过程主要通过在物理机层次由系统管理员来定制管理,该安全管理方法缺乏灵活性,没有考虑到虚拟机实际对访问权限方面的安全性要求。综上所述,现有的虚拟机安全管理技术主要基于系统管理员根据网络侧对虚拟机管理的需求实现,不能根据虚拟机实际的安全性要求实现对虚拟机的安全控制。
发明内容有鉴于此,本发明实施例提供一种虚拟机访问权限的控制方法、系统及装置,采用该技术方案,能够根据虚拟机的安全性要求实现对虚拟机的安全控制。本发明实施例通过如下技术方案实现根据本发明实施例的一个方面,提供了一种虚拟机访问权限的控制方法,包括接收第一虚拟机发送的对第二虚拟机的访问请求;根据所述访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识;在比较确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。根据本发明实施例的另一个方面,还提供了一种虚拟机访问权限的控制系统,包括第一虚拟机、第二虚拟机以及虚拟机访问权限控制装置;其中所述第一虚拟机,用于向所述虚拟机访问权限控制装置发送对第二虚拟机的访问请求;所述虚拟机访问权限控制装置,用于根据所述第一虚拟机发送的对第二虚拟机的访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,并在比较确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。根据本发明实施例的另一个方面,还提供了一种虚拟机访问权限的控制装置,包括接收单元,用于接收第一虚拟机发送的对第二虚拟机的访问请求;安全标识确定单元,用于根据所述接收单元接收的访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识;权限控制单元,用于在比较所述安全标识确定单元确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。通过本发明实施例提供的上述至少一个技术方案,在接收第一虚拟机发送的对第二虚拟机的访问请求后,根据接收的访问请求确定该第一虚拟机以及第二虚拟机分别对应的安全标识,并在比较确定的安全标识一致后,允许第一虚拟机访问第二虚拟机。根据该技术方案,能够根据虚拟机对应的安全标识确定是否允许第一虚拟机对第二虚拟机的访问,从而实现了根据虚拟机的安全性要求对虚拟机的安全控制。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1为本发明实施例一提供的物理机逻辑结构示意图;图2为本发明实施例一提供的虚拟机访问权限的控制方法流程图;图3为本发明实施例一提供的第一虚拟机向安全管理模块发送对第二虚拟机的访问请求的流程图;图4为本发明实施例一提供的控制第一虚拟机对第二虚拟机的访问权限的流程图;图5为本发明实施例一提供的控制第一虚拟机对第二虚拟机的访问权限的另一流程图;图6为本发明实施例一提供的虚拟机系统示意图;图7为本发明实施例二提供的虚拟机访问权限的控制装置示意图;图8为本发明实施例三提供的虚拟机访问权限的控制系统示意图。具体实施方式为了给出根据虚拟机的安全性要求实现对虚拟机的安全控制的实现方案,本发明实施例提供了一种虚拟机访问权限的控制方法、系统及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一本发明实施例一提供了一种虚拟机访问权限的控制方法,基于该方法能够根据虚拟机的安全性要求实现对虚拟机的安全控制。本发明实施例一提供的方法可应用于虚拟机系统中,该虚拟机系统包括如图1所示的多个物理机,其中,每个物理机包括用户层以及位于用户层之上的中间层,用户层至少包括第一虚拟机,中间层包括安全管理模块,该安全管理模块主要实现对第一虚拟机的访问权限的控制。第一虚拟机可以通过安全管理模块的控制访问所在物理机上的第二虚拟机,也可以通过该安全管理模块的控制访问其它物理机上的第二虚拟机。如图2所示,该实施例一提供的虚拟机访问权限的控制方法,主要包括如下步骤步骤201、第一虚拟机向安全管理模块发送对第二虚拟机的访问请求。步骤202、安全管理模块根据第一虚拟机发送的对第二虚拟机的访问请求后,确定该第一虚拟机以及第二虚拟机分别对应的安全标识。步骤203、根据确定的安全标识,控制第一虚拟机对第二虚拟机的访问权限,即允许或拒绝该第一虚拟机访问第二虚拟机。至此,对虚拟机访问权限的控制流程结束。图2所述流程包括的步骤202中,安全管理模块在确定第一虚拟机以及第二虚拟机分别对应的安全标识时,根据访问请求中包括的不同信息,具体确定过程也有所不同,具体包括如下几种情况情况一第一虚拟机发送的访问请求中包括第一虚拟机以及第二虚拟机分别对应的虚拟机ID;相应地,该情况一下,安全管理模块根据该访问请求,确定第一虚拟机以及第二虚拟机分别对应的安全标识的过程,包括从访问请求中获取携带的第一虚拟机以及第二虚拟机分别对应的虚拟机ID;根据获取的虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定第一虚拟机以及第二虚拟机分别对应的安全标识。情况二访问请求中包括第一虚拟机的MAC地址以及第二虚拟机的虚拟机ID;其中,第一虚拟机的MAC地址根据第一虚拟机对应的安全标识生成,具体生成方式将在后续实施例中详细说明,此处暂不描述。相应地,该情况二下,安全管理模块根据该访问请求,确定第一虚拟机以及第二虚拟机分别对应的安全标识的过程,包括从访问请求中获取第一虚拟机的MAC地址,获取该MAC地址中携带的第一虚拟机的安全标识;以及从访问请求中获取第二虚拟机的虚拟机ID,并根据获取的虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定该第二虚拟机对应的安全标识。情况三访问请求中包括第一虚拟机的虚拟机ID以及第二虚拟机的MAC地址;其中,第二虚拟机的MAC地址根据第二虚拟机对应的安全标识生成,具体生成方式将在后续实施例中详细说明,此处暂不描述。相应地,该情况三下,安全管理模块根据该访问请求,确定第一虚拟机以及第二虚拟机分别对应的安全标识的过程,包括从该访问请求中获取第一虚拟机的虚拟机ID,并根据获取的虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定该第一虚拟机对应的安全标识;以及从该访问请求中获取第二虚拟机的MAC地址,获取该MAC地址中携带的该第二虚拟机的安全标识。情况四访问请求中包括第一虚拟机以及第二虚拟机分别对应的MAC地址;其中,该MAC地址分别根据所对应虚拟对应的安全标识生成;具体生成方式将在后续实施例中详细说明,此处暂不描述。相应地,该情况四下,安全管理模块根据该访问请求,确定第一虚拟机以及第二虚拟机分别对应的安全标识的过程,包括从该访问请求中获取携带的第一虚拟机以及第二虚拟机分别对应的MAC地址;获取第一虚拟机对应的MAC地址中携带的该第一虚拟机对应的安全标识;以及获取第二虚拟机对应的MAC地址中携带的第二虚拟机的安全标识。其中,上述情况一、二以及三中,安全管理模块保存各虚拟机ID以及安全标识的对应关系,可以通过如下方式在各虚拟机创建完成后,由虚拟机主动将对应的安全标识上报给安全管理模块,安全管理模块保存该虚拟机以及安全标识的对应关系,在保存该对应关系时,为减少存储的信息量,通常保存虚拟机ID以及安全标识的对应关系;或安全管理模块主动向各虚拟机发送安全标识获取请求,并保存各虚拟机ID以及各虚拟机反馈的安全标识信息的对应关系。为便于理解,以下以上述情况四为例,说明第一虚拟机向安全管理模块发送对第二虚拟机的访问请求的具体过程,如图3所示,第一虚拟机向安全管理模块发送对第二虚拟机的访问请求,主要包括如下步骤步骤301、第一虚拟机确定自身对应的MAC地址以及第二虚拟机的MAC地址。步骤302、第一虚拟机将确定的自身的MAC地址以及第二虚拟机的MAC地址携带在访问请求中发送至安全管理模块。至此,第一虚拟机向安全管理模块发送对第二虚拟机的访问请求的流程结束。图3所述流程的优选实施方式中,虚拟机的MAC地址可以在创建该虚拟机时生成,并且MAC地址可以根据所对应虚拟机对应的安全标识生成,具体地,第一虚拟机根据自身对应的安全标识生成MAC地址的一个具体示例如下MAC地址一般表示为00:03^4:88:0:00(均为十六进制),其中,可以将其中的0003指定为MAC地址前缀(可修改),可以指定AA、BB、CC或DD中的任意一个表示安全标识,其余的可以用于表示用户ID等信息。以上所述为本发明实施例一提供的第一虚拟机在访问请求中携带根据虚拟机的安全标识生成的MAC地址的优选实施方式,实际应用中,第一虚拟机以及第二虚拟机的安全标识还可以直接携带在访问请求中,在此情况下,第一虚拟机中可以保存各虚拟机安全标识的列表,在需要访问第二虚拟机时,可以通过查找此列表确定第二虚拟机对应的安全标识,此处不再一一列举。实际应用中,虚拟机对应的安全标识可以在虚拟机创建时进行设置,具体过程如下用户根据业务或者应用需求创建虚拟机,除了要设定需要的虚拟机的CPU、内存、硬盘等信息外,还需要设定安全标识信息。在创建虚拟机时,还需要确定虚拟机的IP、MAC地址等信息。虚拟机的IP是从IP资源池中获取。而虚拟机的MAC地址如上所述,可以根据安全标识来生成。其生成方法如下假设MAC地址为0003AABBCCDD(均为十六进制),其中0003为指定的MAC地址前缀(可修改),AABB代表用户ID(实际应用中,最多支持65536个用户),CC表示安全标识,DD代表用户分配的虚拟机ID(每个用户最多256个虚拟机),此处仅为示例,实际应用中可以灵活配置MAC地址中包含的信息。进一步地,可以设置私有安全标识以及公有安全标识,其中,公有安全标识可以被具有相同安全标识的其它虚拟机访问,私有安全标识只能被具有相同安全标识以及相同用户ID的其它虚拟机访问,例如,可以设定安全标识在之间的安全标识为私有安全标识,安全标识在[128,255]之间的安全标识为公有安全标识。进一步地,为了增加对应公有安全标识的虚拟机的安全性,可以进一步设定访问密钥,即具有相同安全标识的其它虚拟机在访问该虚拟机时,需要进一步提供正确的访问密钥。以Centos5.2中使用Xen创建虚拟机为例,根据用户申请创建的虚拟机的模板文件如下所示,该模板文件中包括上述设置的信息name='one-302'memory=‘4096‘bootloader=“/usr/bin/pygrub“disk=[‘tap:aio:/one_images;,302/,images//disk.0,xvda,w‘tap:aio:/one_images;,302/,images//disk.1,xvdb,w‘tap:aio:/one_images;,302/,images//disk.2,sdc,rf]vif=[‘mac=00:03:0a:04:03:07,bridge=xenbr.ethO',]vcpus=2本发明实施例一还提供了图2所述流程包括的步骤203的优选实施方式,即安全管理模块根据确定的安全标识,控制该第一虚拟机对第二虚拟机的访问权限,如图4所示,主要包括如下步骤步骤401、比较确定的第一虚拟机以及第二虚拟机分别对应的安全标识是否一致,若是,执行步骤402,若否,执行步骤403。步骤402、允许该第一虚拟机访问该第二虚拟机,至此,根据确定的安全标识控制虚拟机的流程结束。步骤403、拒绝该第一虚拟机访问该第二虚拟机,至此,根据确定的安全标识控制虚拟机的流程结束。本发明实施例一还提供了图2所述流程包括的步骤203的又一优选实施方式,即安全管理模块根据确定的安全标识,控制该第一虚拟机对第二虚拟机的访问权限,如图5所示,主要包括如下步骤步骤501、比较确定的第一虚拟机以及第二虚拟机分别对应的安全标识是否一致,若是,执行步骤502,若否,执行步骤506。步骤502、判断第二虚拟机对应的安全标识是否为公有安全标识,若否,执行步骤503,若是,执行步骤505。步骤503、根据接收的访问请求,确定第一虚拟机以及第二虚拟机分别对应的用户标识。步骤504、比较确定的用户标识是否一致,若是,执行步骤505,若否,执行步骤506。步骤505、允许该第一虚拟机访问该第二虚拟机,至此,根据获取的安全标识控制虚拟机的流程结束。步骤506、拒绝该第一虚拟机访问该第二虚拟机,至此,根据获取的安全标识控制虚拟机的流程结束。具体地,图5所述流程包括的步骤503中,根据接收的访问请求,确定第一虚拟机以及第二虚拟机分别对应的用户标识的获取方式,与上述实施例中根据访问请求,确定第一虚拟机以及第二虚拟机分别对应的安全标识的具体过程基本一致,即根据确定第一虚拟机以及第二虚拟机对应的安全标识时获取的第一虚拟机以及第二虚拟机分别对应的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定第一虚拟机以及第二虚拟机分别对应的用户ID;或根据确定第一虚拟机对应的安全标识时获取的第一虚拟机的MAC地址,获取该MAC地址中携带的第一虚拟机对应的用户ID;以及根据确定第二虚拟机对应的安全标识时获取的第二虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定第二虚拟机对应的用户ID;或根据确定第一虚拟机对应的安全标识时获取的第一虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定第一虚拟机对应的用户ID;以及根据确定第二虚拟机对应的安全标识时获取的第二虚拟机的MAC地址,获取该第二虚拟机对应的MAC地址中携带的第二虚拟机对应的用户ID;或根据确定第一虚拟机以及第二虚拟机对应的安全标识时获取的第一虚拟机以及第二虚拟机分别对应的MAC地址,获取第一虚拟机对应的MAC地址中携带的第一虚拟机对应的用户ID,以及获取第二虚拟机对应的MAC地址中携带的第二虚拟机对应的用户ID。通过图5所述的流程,在根据获取的第一虚拟机以及第二虚拟机分别对应的安全标识控制第一虚拟机的访问权限时,若确定第二虚拟机的安全标识标识为公有安全标识标识,则在确定第一虚拟机以及第二虚拟机分别对应的安全标识一致后,允许第一虚拟机访问该第二虚拟机;若确定第二虚拟机对应的安全标识为私有安全标识,则需要在确定第一虚拟机与第二虚拟机对应的安全标识一致,并且第一虚拟机与第二虚拟机对应的用户ID一致后,才允许第一虚拟机访问所述第二虚拟机。实际应用中,虚拟机的访问控制是通过Linux系统的ebtables来实现的。Ebtables即是以太网桥防火墙,以太网桥工作在数据链路层,Ebtables来过滤数据链路层数据包。以Centos5.2中使用Xen创建虚拟机为例,使用ruby构建安全标识的ebtables的虚拟机访问权限的控制代码如下vm_id=~sudoxmdomid#{VM_NAME}~·stripnetworks=、sudoxmnetwork_list#{vm_id}、·split(〃\n〃)[1..-1]networks,each{|netη=net.splitiface_id=niface_mac=η[2]tap="vif#{vm_id}.#{iface_id}"ifinterfaces,include?tapmac=iface_mac.split(':')mac[-l]='00'net_mac=mac.join(':')in_rule="FORWARD-s!#{net_mac}/fT:fT:fT:ff:fT:00-o#{tap}-jDR0P〃out_rule="FORWARD-s!#{iface_mac}-i#{tap}-jDROP"activate(in_rule)activate(out_rule)end}可以看出,in_rule中使用的子网掩码是ff:ff:ff:ff:ff:00,即只有具有相同MAC前缀、相同用户ID、相同安全标识的其它虚拟机才可访问。对于公有安全标识,in_rule中使用的子网掩码设置为ffff0000ff00,即只需要具有相同MAC前缀、相同安全标识的其它虚拟机均可访问。本发明实施例一还提供了通过上述方法,允许第一虚拟机访问第二虚拟机后的数据传输方法,该过程所涉及的虚拟机系统如图6所示,该虚拟机系统中每个物理机包括用户层、位于用户层之上的中间层以及网桥层,其中,第一物理机中的用户层至少包括第一虚拟机(图中示出两台作为示例),第二物理机中的用户层至少包括第二虚拟机(图中示出两台作为示例),每个物理机的中间层包括安全管理模块,用于实现对第一虚拟机的访问权限的控制,网桥层包括分别与物理机上的物理网卡绑定的网桥。第一虚拟机可以通过安全管理模块的控制访问第二虚拟机,实际应用中,第二虚拟机也可以和第一虚拟机位于同一台物理机。其中,每个虚拟机在创建时需要指定网桥,且每个网桥需要与所对应虚拟机所在物理机上的物理网卡绑定,用于实现不同物理机之间的通信。在网桥层,通过网桥将网络的多个网段在数据链路层连接起来,并对网络数据的流通进行管理。如此一来,物理机和之上运行的虚拟机的网卡在同一网桥上,便可以实现两者的互连。如果多个网段的物理机加入到同一网桥,便可以实现在多个网段的物理机上运行的虚拟机的互连。同时,可以构建多个网桥,创建类似多套虚拟网络。实际应用中,可以通过软件手段在物理网卡之上构建网桥,从而在物理机上构建一个虚拟网络。对应同一网桥的多个虚拟机可以互连,而对应不同网桥的虚拟机则不能互连。网桥可以是专门硬件设备,也可以由计算机加装的网桥软件来实现,这时计算机上会安装多个网络适配器(网卡)。基于图6所示的虚拟机系统,在安全管理模块允许第一虚拟机访问第二虚拟机后,还包括将第一虚拟机对第二虚拟机的访问请求,通过与该虚拟机对应且与该虚拟机所在物理机上的物理网卡绑定的网桥发送至第二虚拟机,其中,第二虚拟机与第一虚拟机对应同一个网桥。例如,若第一虚拟机和第二虚拟机在创建时设置的网桥均为网桥1,则第一虚拟机发送的访问请求在安全管理模块验证通过后(即允许第一虚拟机访问第二虚拟机),该访问请求沿图6所示系统中发送的路径如下第一物理机的安全管理模块一第一物理机的网桥1—第一物理机的物理网卡1—第二物理机的物理网卡1—第二物理机的网桥1—第二物理机的安全管理模块一第二虚拟机。以上实施例中,在中间层,根据用户需求实现不同用户虚拟机的隔离,根据应用把用户虚拟机分成若干安全标识,实现安全标识之间的隔离,以及多用户的相同安全标识虚拟机之间的交互。本发明实施例中,网桥可以在虚拟机构建时产生,具体地,可以通过Linux的brctl命令构建网桥,把网桥绑定在物理机的网卡上。下面以Centos5.2系统为例,创建网桥的过程如下brctladdbrxenbr.ethO#创建网桥brctladdifxenbr.ethOethO#向网桥中添加网卡ethOifconfigxenbr.ethOup#启动网桥在实施例一提供的以上技术方案的基础上,用户还可以根据需求创建自身的虚拟机的用户安全模式。在用户虚拟机中,用户可以在用户层根据需求创建虚拟机的用户安全模式。如Linux系统中,用户可以用iptables构建用户层的虚拟机安全策略。iptables是与2.4.χ版本及之后版本的Linux内核集成的IP信息包过滤系统。iptables是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。例如允许访问虚拟机的80端口,可在虚拟机上添加iptables规则iptables-IINPUT—dporr80-jACCEPT不允许192.168.32.*网段访问虚拟机,可在虚拟机上添加iptables规则iptables-AINPUT-s192.168.32.1/24-jDROP需要指出的是,用户层的虚拟机安全策略并不能影响中间层的安全管理机制。中间层的安全管理是在物理机操作系统中完成的。实施例二本发明实施例二提供了虚拟机访问权限的控制装置,基于该装置能够根据虚拟机的安全性要求实现对虚拟机的安全控制。如图7所示,本发明实施例二提供的虚拟机访问权限的控制装置,主要包括接收单元701、安全标识确定单元702以及权限控制单元703;其中接收单元701,用于接收第一虚拟机发送的对第二虚拟机的访问请求;安全标识确定单元702,用于根据接收单元701接收的访问请求,确定第一虚拟机以及第二虚拟机分别对应的安全标识;权限控制单元703,用于在比较安全标识确定单元702确定的安全标识一致后,允许第一虚拟机访问第二虚拟机。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的安全标识确定单元702,具体用于从接收单元701接收的访问请求中获取携带的第一虚拟机以及第二虚拟机分别对应的虚拟机ID,并根据获取的虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定第一虚拟机以及第二虚拟机分别对应的安全标识。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的安全标识确定单元702,具体用于从接收单元接收的访问请求中获取携带的第一虚拟机的MAC地址,获取该MAC地址中携带的第一虚拟机的安全标识;以及从接收单元接收的访问请求中获取携带的第二虚拟机的虚拟机ID,并根据获取的虚拟机ID以及保存的各虚拟机ID,以及安全标识的对应关系,确定第二虚拟机对应的安全标识。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的安全标识确定单元702,具体用于从接收单元接收的访问请求中获取携带的第一虚拟机的虚拟机ID,并根据获取的虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定第一虚拟机对应的安全标识;以及从接收单元接收的访问请求中获取携带的第二虚拟机的MAC地址,并获取该MAC地址中携带的第二虚拟机的安全标识。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的安全标识确定单元702,具体用于从访问请求中获取携带的第一虚拟机的MAC地址以及第二虚拟机的MAC地址;获取第一虚拟机的MAC地址携带的所述第一虚拟机对应的安全标识;以及获取第二虚拟机的MAC地址携带的所述第二虚拟机对应的安全标识。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的权限控制单元703,还用于在允许第一虚拟机访问第二虚拟机之前,确定第二虚拟机对应的安全标识为公有安全标识;或确定第二虚拟机对应的安全标识为私有安全标识,并且确定第一虚拟机以及第二虚拟机分别对应的用户ID—致。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的权限控制单元703,具体用于根据确定第一虚拟机以及第二虚拟机对应的安全标识时获取的第一虚拟机以及第二虚拟机分别对应的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定第一虚拟机以及第二虚拟机分别对应的用户ID;或根据确定第一虚拟机对应的安全标识时获取的第一虚拟机的MAC地址,获取MAC地址中携带的第一虚拟机的用户ID;以及根据确定第二虚拟机对应的安全标识时获取的第二虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定第二虚拟机对应的用户ID;或根据确定第一虚拟机对应的安全标识时获取的第一虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定第一虚拟机对应的用户ID;以及根据确定第二虚拟机对应的安全标识时获取的第二虚拟机的MAC地址,获取第二虚拟机对应的MAC地址中携带的第二虚拟机对应的用户ID;或根据确定第一虚拟机以及第二虚拟机对应的安全标识时获取的第一虚拟机以及第二虚拟机分别对应的MAC地址,获取第一虚拟机对应的MAC地址中携带的第一虚拟机对应的用户ID,以及获取第二虚拟机对应的MAC地址中携带的第二虚拟机对应的用户ID。本发明实施例二提供的一个优选实施方式中,图7所示装置包括的权限控制单元703,还用于在允许第一虚拟机访问第二虚拟机后,将第一虚拟机对第二虚拟机的访问请求,通过与第一虚拟机以及第二虚拟机分别对应的网桥发送至第二虚拟机,其中,网桥分别与第一虚拟机以及第二虚拟机所在的物理机的物理网卡绑定。应当理解,以上虚拟机访问权限的控制装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的装置所实现的功能与上述实施例一提供的虚拟机访问权限的控制方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。实施例三本发明实施例三提供了虚拟机访问权限的控制系统,基于该系统能够根据虚拟机的安全性要求实现对虚拟机的安全控制。如图8所示,本发明实施例三提供的虚拟机访问权限的控制系统,主要包括第一虚拟机801、虚拟机访问权限控制装置802以及第二虚拟机803;其中第一虚拟机801,用于向所述虚拟机访问权限控制装置发送对第二虚拟机的访问请求;虚拟机访问权限控制装置802,用于根据所述第一虚拟机发送的对第二虚拟机的访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,并在比较确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。应当理解,以上虚拟机访问权限的控制系统包括的虚拟机访问权限的控制装置所实现的功能与上述实施例二提供的虚拟机访问权限的控制装置对应,对于该装置所实现的更为详细的处理流程,在上述实施例二中已做详细描述,此处不再详细描述。本发明提供的上述实施例可以在Linux操作系统之上实现,通过xen、kvm、Vmware、hyperVisor等创建用户虚拟机。这些用户虚拟机操作系统包括Linux、Windows等。在Linux操作系统之上,安装brctl和ebtables、iptables等软件包,本发明利用这些软件包实现虚拟机的安全管理机制。进一步地,根据本发明实施例提供的技术方案,在弹性计算云平台中,还可以满足用户如下需求(1)虚拟机的网络隔离。每个用户拥有独立的数据空间,为保证用户数据的安全性,不同用户之间的虚拟机实例需要实现网络隔离。本发明提供的技术方案根据用户应用需求构建虚拟机的安全标识,通过区分安全标识来控制虚拟机访问权限,实现了不同用户虚拟机的网络隔离。(2)多个物理机上虚拟机的网络交互。用户使用的多个虚拟机实例或者不同用户的虚拟机之间需要达到计算能力和用户数据的共享,而这多个虚拟机实例可能分配运行在多个物理服务器上,因此跨物理服务器的虚拟机之间的交互很有必要。本发明通过网桥实现不同物理机上的虚拟机的通信,从而实现了多个物理机上虚拟机的网络交互。(3)安全标识模式。每个安全标识包括一系列的虚拟机实例,这些虚拟机实例可能由多个用户创建,也可能由一个用户创建。具体地,安全标识模式主要包括两种形式,一是用户的虚拟机实例上可能运行多个应用,应用所在的虚拟机之间需要隔离,每种应用的虚拟机实例可以设置在一个私有安全标识里;二是多个用户的虚拟机实例上运行相同的应用,这些虚拟机实例上需要交互,相同应用的虚拟机实例可以设置为跨多用户的公有安全标识。本发明实施例通过设置公有安全标识和私有安全标识实现了上述目的。(4)用户模式。用户可以根据应用或业务需求设置自己的网络安全模式。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1.一种虚拟机访问权限的控制方法,其特征在于,包括接收第一虚拟机发送的对第二虚拟机的访问请求;根据所述访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识;在比较确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。2.如权利要求1所述的方法,其特征在于,根据所述访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,包括从所述访问请求中获取携带的所述第一虚拟机以及所述第二虚拟机分别对应的虚拟机标识ID;根据获取的所述虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识。3.如权利要求1所述的方法,其特征在于,根据所述访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,包括从所述访问请求中获取携带的所述第一虚拟机的MAC地址,获取所述MAC地址中携带的所述第一虚拟机的安全标识;以及从所述访问请求中获取携带的所述第二虚拟机的虚拟机ID,并根据获取的所述虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定所述第二虚拟机对应的安全标识。4.如权利要求1所述的方法,其特征在于,根据所述访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,包括从所述访问请求中获取携带的所述第一虚拟机的虚拟机ID,并根据获取的所述虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定所述第一虚拟机对应的安全标识;以及从所述访问请求中获取携带的所述第二虚拟机的MAC地址,获取所述MAC地址中携带的所述第二虚拟机的安全标识。5.如权利要求1所述的方法,其特征在于,根据所述访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,包括从所述访问请求中获取携带的所述第一虚拟机以及所述第二虚拟机分别对应的MAC地址;获取所述第一虚拟机对应的MAC地址中携带的所述第一虚拟机的安全标识,以及获取所述第二虚拟机对应的MAC地址中携带的所述第二虚拟机的安全标识。6.如权利要求1所述的方法,其特征在于,允许所述第一虚拟机访问所述第二虚拟机之前,还包括确定所述第二虚拟机对应的安全标识为公有安全标识;或确定所述第二虚拟机对应的安全标识为私有安全标识,并且确定所述第一虚拟机以及所述第二虚拟机分别对应的用户ID—致。7.如权利要求6所述的方法,其特征在于,所述第一虚拟机以及所述第二虚拟机分别对应的用户ID的确定方式,包括根据确定所述第一虚拟机以及所述第二虚拟机对应的安全标识时获取的所述第一虚拟机以及所述第二虚拟机分别对应的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定所述第一虚拟机以及所述第二虚拟机分别对应的用户ID;或根据确定所述第一虚拟机对应的安全标识时获取的所述第一虚拟机的MAC地址,获取所述MAC地址中携带的所述第一虚拟机对应的用户ID;以及根据确定所述第二虚拟机对应的安全标识时获取的所述第二虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定所述第二虚拟机对应的用户ID;或根据确定所述第一虚拟机对应的安全标识时获取的第一虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定所述第一虚拟机对应的用户ID;以及根据确定所述第二虚拟机对应的安全标识时获取的所述第二虚拟机的MAC地址,获取所述MAC地址中携带的所述第二虚拟机对应的用户ID;或根据确定所述第一虚拟机以及所述第二虚拟机对应的安全标识时获取的所述第一虚拟机以及所述第二虚拟机分别对应的MAC地址,获取所述第一虚拟机对应的MAC地址中携带的所述第一虚拟机对应的用户ID,以及获取所述第二虚拟机对应的MAC地址携带的所述第二虚拟机对应的用户ID。8.如权利要求1所述的方法,其特征在于,允许所述第一虚拟机访问所述第二虚拟机后,还包括将所述第一虚拟机对第二虚拟机的访问请求,通过与所述第一虚拟机以及第二虚拟机分别对应的网桥发送至所述第二虚拟机,其中,所述网桥分别与所述第一虚拟机以及所述第二虚拟机所在的物理机的物理网卡绑定。9.一种虚拟机访问权限的控制系统,其特征在于,包括第一虚拟机、第二虚拟机以及虚拟机访问权限控制装置;其中所述第一虚拟机,用于向所述虚拟机访问权限控制装置发送对第二虚拟机的访问请求;所述虚拟机访问权限控制装置,用于根据所述第一虚拟机发送的对第二虚拟机的访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识,并在比较确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。10.一种虚拟机访问权限的控制装置,其特征在于,包括接收单元,用于接收第一虚拟机发送的对第二虚拟机的访问请求;安全标识确定单元,用于根据所述接收单元接收的访问请求,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识;权限控制单元,用于在比较所述安全标识确定单元确定的所述安全标识一致后,允许所述第一虚拟机访问所述第二虚拟机。11.如权利要求10所述的装置,其特征在于,所述安全标识确定单元,具体用于从所述接收单元接收的访问请求中获取携带的所述第一虚拟机以及所述第二虚拟机分别对应的虚拟机ID,并根据获取的所述虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定所述第一虚拟机以及所述第二虚拟机分别对应的安全标识。12.如权利要求10所述的装置,其特征在于,所述安全标识确定单元,具体用于从所述接收单元接收的访问请求中获取携带的所述第一虚拟机的MAC地址,获取所述MAC地址中携带的所述第一虚拟机的安全标识;以及从所述接收单元接收的访问请求中获取携带的所述第二虚拟机的虚拟机ID,并根据获取的所述虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定所述第二虚拟机对应的安全标识。13.如权利要求10所述的装置,其特征在于,所述安全标识确定单元,具体用于从所述接收单元接收的访问请求中获取携带的所述第一虚拟机的虚拟机ID,并根据获取的所述虚拟机ID,以及保存的各虚拟机ID以及安全标识的对应关系,确定所述第一虚拟机对应的安全标识;以及从所述接收单元接收的访问请求中获取携带的所述第二虚拟机的MAC地址,获取所述MAC地址中携带的所述第二虚拟机的安全标识。14.如权利要求10所述的装置,其特征在于,所述安全标识确定单元,具体用于从所述访问请求中获取携带的所述第一虚拟机的MAC地址以及所述第二虚拟机的MAC地址;获取所述第一虚拟机的MAC地址携带的所述第一虚拟机对应的安全标识;以及获取所述第二虚拟机的MAC地址携带的所述第二虚拟机对应的安全标识。15.如权利要求10所述的装置,其特征在于,所述权限控制单元,还用于在允许所述第一虚拟机访问所述第二虚拟机之前,确定所述第二虚拟机对应的安全标识为公有安全标识;或确定所述第二虚拟机对应的安全标识为私有安全标识,并且确定所述第一虚拟机以及所述第二虚拟机分别对应的用户ID—致。16.如权利要求15所述的装置,其特征在于,所述权限控制单元,具体用于根据确定所述第一虚拟机以及所述第二虚拟机对应的安全标识时获取的所述第一虚拟机以及所述第二虚拟机分别对应的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定所述第一虚拟机以及所述第二虚拟机分别对应的用户ID;或根据确定所述第一虚拟机对应的安全标识时获取的所述第一虚拟机的MAC地址,获取所述MAC地址中携带的所述第一虚拟机对应的用户ID;以及根据确定所述第二虚拟机对应的安全标识时获取的所述第二虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定所述第二虚拟机对应的用户ID;或根据确定所述第一虚拟机对应的安全标识时获取的第一虚拟机的虚拟机ID,以及保存的各虚拟机ID以及用户ID的对应关系,确定所述第一虚拟机对应的用户ID;以及根据确定所述第二虚拟机对应的安全标识时获取的所述第二虚拟机的MAC地址,获取所述MAC地址中携带的所述第二虚拟机对应的用户ID;或根据确定所述第一虚拟机以及所述第二虚拟机对应的安全标识时获取的所述第一虚拟机以及所述第二虚拟机分别对应的MAC地址,获取所述第一虚拟机对应的MAC地址中携带的所述第一虚拟机对应的用户ID,以及获取所述第二虚拟机对应的MAC地址携带的所述第二虚拟机对应的用户ID。17.如权利要求10所述的装置,其特征在于,所述权限控制单元,还用于在允许所述第一虚拟机访问所述第二虚拟机后,将所述第一虚拟机对第二虚拟机的访问请求,通过与所述第一虚拟机以及第二虚拟机分别对应的网桥发送至所述第二虚拟机,其中,所述网桥分别与所述第一虚拟机以及所述第二虚拟机所在的物理机的物理网卡绑定。全文摘要本发明公开了一种虚拟机访问权限的控制方法、系统及装置,主要技术方案包括接收第一虚拟机发送的对第二虚拟机的访问请求;根据所述访问请求,确定第一虚拟机以及该第二虚拟机分别对应的安全标识;在比较确定的安全标识一致后,允许该第一虚拟机访问第二虚拟机。根据该技术方案,能够根据虚拟机的安全标识确定是否允许第一虚拟机对第二虚拟机的访问,从而实现了根据虚拟机的安全性要求对虚拟机的安全控制。文档编号H04L29/06GK102571698SQ20101059453公开日2012年7月11日申请日期2010年12月17日优先权日2010年12月17日发明者周伟,孙少陵,张志宏,罗治国,赵鹏申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1