用户数据的访问控制方法和装置
技术领域
本发明涉及计算机领域,并且特别地,涉及一种用户数据的访问控制法和装置。
背景技术
在公共云计算环境中,用户根据自己的需求定制资源和服务。由于每个用户的需求不同,要使每个用户在定制资源和服务感觉像是在PC机上一样方便并非易事,但虚拟化技术可以满足这样的要求。虚拟化技术,即如图1所示,对每个用户建立一台虚拟机,用户可以在台虚拟机上根据自己的需求安装软件并且进行个性化设置。
而在私有云环境中,用户的需求比较类似,甚至需要相同的工作环境,例如一个团队在虚拟机中协作完成一项任务。如图2所示,在该情况下,多个用户可以使用共享镜像文件,例如可以共享一份拷贝文件,因此,可以节约空间,从而减少设备成本。
针对公共云计算环境中的虚拟化技术,例如,对每个用户建立一台虚拟机,是容易实现的,因此很多厂商都会采用这种方式。该方式的优点在于,由于每个用户虚拟机之间是独立的,因此多个用户在其虚拟机中执行任务而互不影响;并且,当用户在使用结束后将会释放计算机资源,供其他用户使用。但是,该方式的缺陷是虚拟机不易管理,会出现例如虚拟机迁移、负载不均衡等问题。
很多桌面平台虚拟化产品刚开始给所有的用户提供一个共享磁盘镜像文件。在用户登录系统之后,可以根据各自不同的需求定制会话。这种方式可以让所有用户共享相同镜像文件节省费用,同时运行时定制的会话可以保证每个用户都拥有自己的个性化工作环境。
但是,现有的基于共享虚拟机的系统对用户的应用运行缺少有效的管理措施,导致用户加载和运行应用的过程较为混乱,不仅会占用系统存储空间,还会影响系统资源的合理利用。
针对相关技术中缺少对应用加载和运行的有效管理而导致系统的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种用户数据的访问控制方法,能够使用户在虚拟机中对用户数据进行访问,根据用户的权限提供并运行符合权限要求的应用,优化系统的资源使用,节省了系统存储空间。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种用户数据的访问控制方法。
该访问控制方法包括:
根据接入共享虚拟机的用户的权限以及应用所对应的权限,以应用共享的方式对用户提供应用,其中,共享虚拟机统一受理用户的接入;
运行为每个用户提供的应用,实现每个用户对各自数据的访问。
其中,以应用共享的方式对用户提供应用包括:
如果用户期望运行的指定应用为共享虚拟机已安装的应用,并且用户的权限与指定应用对应的权限相匹配,则允许对该用户提供指定应用。
并且,用户的权限与指定应用对应的权限相匹配包括以下至少之一:
用户的权限高于或等于指定应用对应的权限;
指定应用经持有者授权提供给期望运行该指定应用的用户。
此外,该访问控制方法进一步包括:
如果用户期望运行的应用没有被安装,则判断用户是否具有安装应用的权限,并在判断结果为是的情况下,允许该用户安装并运行该应用。
其中,在实现每个用户对各自数据的访问之前,该访问控制方法进一步包括:
对每个需要访问数据的用户进行验证,在用户通过验证的情况下,允许该用户访问属于该用户的数据。
可选地,在对用户提供应用程序之前,根据第一验证方法对用户进行鉴权并确定用户的权限;
并且,在对每个需要访问数据的用户进行验证时,通过第二验证方法对用户进行验证,第二验证方法的安全性高于第一验证方法的安全性。
根据本发明的另一个方面,提供了一种用户数据的访问控制装置。
该访问控制装置,包括:
提供模块,用于根据接入共享虚拟机的用户的权限以及应用所对应的权限,以应用共享的方式对用户提供应用,其中,共享虚拟机统一受理用户的接入;
访问模块,用于运行为每个用户提供的应用,实现每个用户对各自数据的访问。
并且,在用户期望运行的指定应用为共享虚拟机已安装的应用,并且用户的权限与指定应用对应的权限相匹配的情况下,则提供模块允许对该用户提供指定应用。
其中,用户的权限与指定应用对应的权限相匹配包括以下至少之一:
用户的权限高于或等于指定应用对应的权限;
指定应用经持有者授权提供给期望运行该指定应用的用户。
此外,该访问控制装置进一步包括:
安装模块,用于在用户期望运行的应用没有被安装的情况下,判断用户是否具有安装应用的权限,并在判断结果为是的情况下,允许该用户安装该应用。
本发明通过根据接入共享虚拟机的用户的权限以及应用所对应的权限,以共享的方式对用户提供应用,并且运行为每个用户提供的应用进而访问数据,能够借助于权限的管理控制用户对应用程序的使用,能够对应用程序的提供和运行实现合理的控制,优化系统的资源使用;此外,由于应用程序以共享的方式保存并提供,因此,能够有助于在系统进行统一维护,并且节约存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中非共享虚拟机为用户提供服务的原理示意图;
图2是相关技术中共享虚拟机为用户提供服务的原理示意图;
图3是根据本发明的实施例的用户数据的访问控制方法的流程图;
图4是根据本发明的实施例的用户数据的访问控制方法的具体实施方式的原理图;
图5是根据本发明的实施例的用户数据的访问控制装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的一个方面,提供了一种用户数据的访问控制方法:
如图3所示,其特征在于,该访问控制方法包括:
步骤301,根据接入共享虚拟机的用户的权限以及应用所对应的权限,以应用共享的方式对用户提供应用,其中,共享虚拟机统一受理用户的接入;
步骤303,运行为每个用户提供的应用,实现每个用户对各自数据的访问。
其中,以应用共享的方式对用户提供应用包括:
如果用户期望运行的指定应用为共享虚拟机已安装的应用,并且用户的权限与指定应用对应的权限相匹配,则允许对该用户提供指定应用。
并且,用户的权限与指定应用对应的权限相匹配包括以下至少之一:
用户的权限高于或等于指定应用对应的权限;
指定应用经持有者授权提供给期望运行该指定应用的用户。
此外,该访问控制方法进一步包括:
如果用户期望运行的应用没有被安装,则判断用户是否具有安装应用的权限,并在判断结果为是的情况下,允许该用户安装并运行该应用。
其中,在实现每个用户对各自数据的访问之前,该访问控制方法进一步包括:
对每个需要访问数据的用户进行验证,在用户通过验证的情况下,允许该用户访问属于该用户的数据。
可选地,在对用户提供应用程序之前,根据第一验证方法对用户进行鉴权并确定用户的权限;
并且,在对每个需要访问数据的用户进行验证时,通过第二验证方法对用户进行验证,第二验证方法的安全性高于第一验证方法的安全性。
如图4所示,根据本发明以上实施例,可以将虚拟机的使用分成三个层次:最底层、中间层、顶端层。
具体地,在图4中,最底层代表共享虚拟机层,主要包括系统级别的软件和所有用户都需要的一些软件。所有用户可以共享该层的软件,因而没必要自己申请和安装。用户没有安装权限,只有管理员具有安装、删除、更新该层软件的权限。
中间层是用户自定义软件层,用户在用户自定义软件层可以安装并使用软件。对于某个用户来说该层是透明的,不需要知道自己把软件安装在何处。其他用户可以看到该用户安装的软件,但不具备使用权限,只用当软件安装者共享该软件后,其他用户才能使用。
顶端层是用户数据层,用户数据保存的是用户私有信息,如配置文件、工作文档和定制信息等不能公开的信息。对该层来说,安全性最为重要。
三个层次的划分主要是为了保护用户数据的安全,并赋予用户最大的自由度。在共享虚拟机层中,由于用户不具备接触系统的权限,因而保护了系统的安全,并且共享虚拟机层有专业的管理员进行维护,免了用户的维护精力;在自定义软件层,用户可以自定义安装软件,并通过共享设置与其他用户共享该软件;使用最安全的加密算法和安全机制能使用户数据层的信息得到严格保密。此外,用户共享虚拟机层以及自定义软件层的软件也避免了软件的多次安装能使系统资源得到有效利用,减小了虚拟机的管理成本开销。
虽然现有技术中存在共享虚拟机,但是现有技术中的共享虚拟机主要存在以下限制:
第一,基本“个性化”信息(如,桌面平台背景壁纸和鼠标指针的选择)仅仅是储存在Windows配置文件(Windows Roaming Profile)中。但不能简单地由Windows配置文件引擎捕获并且保存用户做出的修改(包括在Windows配置文件根文件夹之外所做的每个修改),因为Windows配置文件子系统不知道对这些“修改”作何定位;
第二,使用“共享基”镜像文件的解决方案支持“用户安装应用程序”。也就是说,用户就不能安装自己所需的应用程序,已加载到“共享基”镜像文件中的应用程序是由IT部门管理员指定安装。
而借助于本发明所提供的技术方案,能够对用户的权限进行判断,进而限制不同用户的行为,并且能够借助于共享式的应用平台,为用户提供与权限相符的应用,还可以允许特定权限的用户安装应用,从而使用户就像操作自己的电脑一样使用整个系统,有效克服了上述问题。
根据本发明的另一个方面,提供了一种用户数据的访问控制装置。
该控制装置包括:
提供模块51,用于根据接入共享虚拟机的用户的权限以及应用所对应的权限,以应用共享的方式对用户提供应用,其中,共享虚拟机统一受理用户的接入;
访问模块53,用于运行为每个用户提供的应用,实现每个用户对各自数据的访问。
并且,在用户期望运行的指定应用为共享虚拟机已安装的应用,并且用户的权限与指定应用对应的权限相匹配的情况下,则提供模块允许对该用户提供指定应用。
其中,用户的权限与指定应用对应的权限相匹配包括以下至少之一:
用户的权限高于或等于指定应用对应的权限;
指定应用经持有者授权提供给期望运行该指定应用的用户。
此外,该访问控制装置进一步包括:
安装模块,用于在用户期望运行的应用没有被安装的情况下,判断用户是否具有安装应用的权限,并在判断结果为是的情况下,允许该用户安装该应用。
综上所述,借助于本发明的上述技术方案,通过根据接入共享虚拟机的用户的权限以及应用所对应的权限,以共享的方式对用户提供应用,并且运行为每个用户提供的应用进而访问数据,能够借助于权限的管理控制用户对应用程序的使用,能够对应用程序的提供和运行实现合理的控制,优化系统的资源使用;此外,由于应用程序以共享的方式保存并提供,因此,能够有助于在系统进行统一维护,并且节约存储空间;此外,如果指定应用为共享虚拟机所没有的,则可由用户进行自定义安装并运行;此外,用户还可以相互共享应用(可以借助请求-应答或其他方式),从而进一步完善了应用共享的平台,提高用户使用应用的自由度;另外,通过对应用的提供和用户数据的加载分别进行验证,能够进一步保障用户数据的安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。