桌面云的访问控制方法、装置和桌面云终端设备
技术领域
本申请涉及信息技术领域,并且更具体地,涉及桌面云的访问控制方法、装置和桌面云终端设备。
背景技术
桌面云是基于云计算平台的一种虚拟桌面应用,通过在云平台上部署软、硬件,使得用户通过瘦客户端(thin client,TC)或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面。桌面云可以替代传统的个人电脑(personal computer,PC)办公。目前,桌面云也广泛应用于政府、军队、银行等安全等级较高的行业中,并且,为了满足上述这些行业在安全等级方面的需求,用户需要使用USBkey进行身份认证并登录桌面云。
在通过USBkey登录桌面云的过程中,需要将USBkey从桌面云客户端映射至提供桌面云的虚拟机中,进行身份认证,以获取访问虚拟机的权限,从而通过访问虚拟机访问桌面云。
然而,在上述登录桌面云的过程中,为了获取访问虚拟机的权限,需要将USBkey从桌面云客户端映射至虚拟机中,此时,对于桌面云客户端而言,由于检测不到USBkey,认为USBkey被移除,则会控制桌面云处于禁止访问状态,以控制桌面云用户无法再访问桌面云客户端。
发明内容
本申请提供一种桌面云的访问控制方法、装置和桌面云终端设备,以提高用户体验。
第一方面,提供了一种桌面云的访问控制方法,其特征在于,包括:桌面云的安全登录模块检测到USBkey移除事件,所述USBkey移除事件用于指示登录桌面云所需的USBkey从桌面云终端设备上移除;所述安全登录模块确定所述USBkey映射至提供所述桌面云的虚拟机中;所述安全登录模块控制所述桌面云处于可以被桌面云用户访问的可访问状态。
在本申请实施例中,安全登录模块在检测到USBkey移除事件后,并该USBkey移除事件是由于USBkey被映射至桌面云的虚拟机触发的,则安全登录模块控制桌面云处于可访问的状态,避免了传统的桌面云的访问控制方式中,在通过USBkey登录桌面云的过程中,USBkey被映射至虚拟机后,安全登录模块误认为USBkey被移除,导致控制桌面云处于禁止访问状态,有利于提高桌面云的用户体验。
在一种可能的实现方式中,所述方法还包括:所述安全登录模块接收所述桌面云客户端发送的第一指示信息,所述第一指示信息用于指示所述USBkey从所述虚拟机中移除;所述安全登录模块控制所述桌面云处于禁止被所述桌面云用户访问的禁止访问状态。
上述禁止访问状态可以包括中断桌面云的桌面协议,和/或控制桌面云的终端处于锁屏状态。当然,仅仅中断桌面云的桌面协议后,用户依然可以操作桌面云终端设备,但是无法登陆桌面云,此时,桌面云终端设备类似传统的PC机。
在本申请实施例中,安全登录模块通过与桌面云客户端进行通信,在获知USBkey从虚拟机中移除后,控制桌面云处于禁止访问状态,有利于提高桌面云的安全性能。
在一种可能的实现方式中,所述安全登录模块确定所述USBkey映射至提供所述桌面云的虚拟机中,包括:所述安全登录模块获取所述USBkey的状态,所述USBkey的状态为映射至所述虚拟机中。
在一种可能的实现方式中,在所述安全登录模块获取所述USBkey的状态之前,所述方法还包括:所述安全登录模块接收所述桌面云的客户端发送的第二指示信息,所述第二指示信息用于指示所述USBkey从所述桌面云终端设备映射至所述虚拟机;所述安全登录模块根据所述指示信息修改所述USBkey的状态。
需要说明的是,上述安全登录模块修改USBkey的状态还可以发生在所述桌面云的安全登录模块检测到USBkey移除事件之前,以提高安全登录模块获取USBkey的准确性,避免了安全登录模块还未修改USBkey的状态时,已经检测到USBkey移除事件,有利于提高安全登录模块控制桌面云访问的准确性。
在一种可能的实现方式中,所述安全登录模块确定所述USBkey通过USB映射映射至提供所述桌面云的虚拟机中,包括:所述安全登录模块查询所述桌面云终端设备记录的设备目录下,记录有访问所述USBkey的端口;所述安全登录模块确定所述USBkey映射至所述虚拟机中。
在一种可能的实现方式中,所述方法还包括:所述安全登录模块确定所述USBkey从所述虚拟机映射至所述桌面云终端设备;所述安全登录模块控制所述桌面云处于禁止被所述桌面云用户访问的禁止访问状态。
在本申请实施例中,安全登录模块确定USBkey从虚拟机映射至桌面云终端设备,则控制桌面云处于禁止访问的状态,以提高桌面云的安全性。
第二方面,提供了一种桌面云的访问控制装置,该装置包括用于执行上述方法的各个模块。
第三方面,提供一种桌面云终端设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该控制器执行上述方法。
第四方面,提供一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
需要说明的是,上述计算机程序代码可以全部或者部分存储在第一存储介质上,其中第一存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本申请对此不作具体限定。
第五方面,提供一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
附图说明
图1是本申请实施例使用的桌面云***的示意图。
图2是本申请实施例的一种桌面云的访问控制方法的示意性流程图。
图3是本申请实施例的桌面云的访问控制装置的示意图。
图4是本申请实施例的桌面云终端设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1是本申请实施例使用的桌面云***的示意图。图1所示的桌面云***100包括桌面云终端设备110,以及桌面云平台120。
桌面云终端设备110,用于为桌面云用于提供用户界面。桌面云终端设备中可以是设置有安全登录模块111和桌面云客户端112。
例如,桌面云终端设备110可以是瘦客户端或者其他任何与网络相连的设备。瘦客户端(或者瘦终端)对内置的存储进行了硬件级别的转码,转码算法与硬件的唯一信息绑定。TC***可以采用精简加固Linux嵌入OS或Windows嵌入OS,TC无本地存储。
安全登录模块111,用于控制桌面云的访问状态,其中,访问状态包括处于可以被桌面云用户访问的可访问状态和禁止桌面云用户访问的禁止访问状态。
桌面云客户端112,又称桌面协议客户端,用于与桌面云平台的桌面协议服务端进行通信,建立桌面协议通道。
桌面云平台120,用于对桌面云资源进行管理和调度。例如可以是云管理FusionManager,统一集成桌面云业务维护***的界面、虚拟化平台的界面以及硬件管理***的界面。以华为桌面云平台为例,桌面云平台可以包括网页接口(web interface,WI)、华为桌面控制器(Huawei desktop controller)、GaussDB、ITA节点、License节点等。
WI:为用户提供Web登录界面,在用户发起登录请求时,将用户的登录信息(加密后的用户名和密码)转发给HDC,WI将HDC提供的虚拟机列表呈现给用户,为用户访问虚拟机提供入口。
华为桌面控制器(HDC):是桌面云管理***的核心组件,完成虚拟桌面业务发放,虚拟桌面管理,虚拟桌面登录管理,虚拟机的策略管理功能。
GaussDB:为ITA、HDC提供数据库,用于存储数据信息,例如,虚拟机与用户的关联、桌面组、虚拟机命名规则、定时任务信息。
ITA节点:ITA为用户管理虚拟IT资产提供接口与Portal功能,实现虚拟机创建与分配、虚拟机状态管理、虚拟机镜像管理、虚拟桌面***操作维护等功能。
License节点:桌面云License的管理与发放***,License服务器用于控制器接入桌面云的用户数。
TC管理:对瘦终端进行集中管理,包括版本升级、状态管理、信息监控、日志管理等。
在传统的基于USBkey登录桌面云的过程中,为了获取访问虚拟机的权限,需要将USBkey从桌面云客户端映射至虚拟机中,此时,对于桌面云客户端而言,由于检测不到USBkey则会对桌面云客户端进行锁屏操作,以控制桌面云用户无法再访问桌面云客户端。但这种实际将USBkey映射至虚拟机的情况,仅仅是为了在虚拟机中进行身份认证,以便用户可以选择虚拟机进行桌面云的访问。这种将USBkey映射至虚拟机的情况与由于物理拔出USBkey,退出登录桌面云的情况不同,在这种场景中,用户依然需要访问桌面云,并且该用户有访问桌面云的权限(USBkey依然插在桌面云客户端中)。
因此,为了避免在上述场景中,由于USBkey映射至虚拟机,而导致桌面云处于禁止访问状态,本申请提供了一种桌面云的访问控制方法,根据USBkey是否被映射至虚拟机进行登录认证,从而控制桌面云的状态为可访问状态还是禁止访问状态。
下文结合图2描述本申请实施例的方法。图2是本申请实施例的一种桌面云的访问控制方法的示意性流程图。应理解,图2所示的方法可以由图1所示的安全登录模块111执行。
210,桌面云的安全登录模块检测到USBkey移除事件,所述USBkey移除事件用于指示登录桌面云所需的USBkey从桌面云终端设备上移除。
需要说明的是,桌面云终端设备中使用的USB设备多种多样,包括U盘、USBkey等,为了区分,USBkey移除事件以及其他USB设备的移除事件,可以通过USBkey的PID/VID信息确定当前移除事件是USBkey移除事件还是USB移除事件。
220,所述安全登录模块确定所述USBkey映射至提供所述桌面云的虚拟机中,其中,映射可以是PC/SC映射,或者USB映射等映射方式。
上述USBkey映射至提供桌面云的虚拟机中,可以理解为,将USBkey中的身份认证信息提供给虚拟机,以便虚拟机根据身份认证信息确定用户是否有使用虚拟机的权限。
可选地,上述步骤220包括:所述安全登录模块获取所述USBkey的状态,所述USBkey的状态为映射至所述虚拟机中。
安全登录模块可以记录USBkey的状态,通过USBkey的状态判断检测到上述USBkey移除事件时,USBkey是被从桌面云终端设备上物理拔出,还是USBkey被映射至虚拟机。相应的,上述用于指示USBkey被映射至虚拟机时,USBkey的状态可以称为位于虚拟机。
上述记录USBkey的状态的功能可以由安全登录模块实现,但是将USBkey映射至虚拟机的相关操作主要是由桌面云的客户端执行的,也就是说,需要桌面云客户端通知安全登录模块当前USBkey的状态,以便安全登录模块记录USBkey的状态。
即,在所述桌面云的安全登录模块检测到USBkey移除事件之前,所述方法还包括:所述安全登录模块接收所述桌面云的客户端发送的第二指示信息,所述第二指示信息用于指示所述USBkey从所述桌面云终端设备映射至所述虚拟机;所述安全登录模块根据所述指示信息修改所述USBkey的状态。
需要说明的是,上述桌面云客户端通知安全登录模块记录USBkey的状态,可以是在桌面云客户端将USBkey映射至虚拟机之前,避免桌面云客户端将USBkey映射至虚拟机之后,还未来得及通知安全登录模块记录USBkey的状态时,安全登录模块已经检测到上述USBkey移除事件,此时,安全登录模块因为无法获知准确的USBkey的状态,控制桌面云处于禁止访问状态。当然,本申请实施例中通知安全登录模块USBkey的状态也可以在桌面云客户端将USBkey映射至虚拟机之后进行,就是这种执行顺序有可能会让安全登录模块产生误判。
上述桌面云客户端通知安全登录模块记录USBkey的状态的通信机制,可以复用操作***中的***事件处理机制,即桌面云客户端生成USBkey移除事件,根据该USBkey移除事件生成上述第二指示信息,通知安全登录模块记录USBkey的状态。具体地,上述用于指示USBkey映射至虚拟机的***事件可以命令为USBkey从桌面云客户端映射至虚拟机事件(USBkey FROM TC TO VM EVT)。
可选地,作为一个实施例,步骤220包括:所述安全登录模块查询所述桌面云终端设备记录的设备目录下,记录有访问所述USBkey的端口;所述安全登录模块确定所述USBkey映射至所述虚拟机中。
在其他操作***,例如Linux操作***中,还可以通过查询操作***中的设备目录(例如,dev/bus/usb)下还记录有USBkey的端口信息,区分USBkey是被映射至虚拟机中,还是从桌面云终端设备上被拔除。即,若设备目录中无法查询到USBkey的端口信息,说明USBkey被从桌面云终端设备上拔除;若设备目录中可以查询到USBkey的端口信息,说明USBkey是被映射至虚拟机中。
230,所述安全登录模块控制所述桌面云处于可以被桌面云用户访问的可访问状态。
上述桌面云处于可访问状态,可以包括桌面云的桌面协议可以进行正常通信,并且桌面云的终端设备的显示屏未被锁屏。
在本申请实施例中,安全登录模块在检测到USBkey移除事件后,并该USBkey移除事件是由于USBkey被映射至桌面云的虚拟机触发的,则安全登录模块控制桌面云处于可访问的状态,避免了传统的桌面云的访问控制方式中,在通过USBkey登录桌面云的过程中,USBkey被映射至虚拟机后,安全登录模块误认为USBkey被移除,导致控制桌面云处于禁止访问状态,有利于提高桌面云的用户体验。
可选地,作为一个实施例,所述方法还包括:所述安全登录模块接收所述桌面云客户端发送的第一指示信息,所述第一指示信息用于指示所述USBkey从所述虚拟机中移除;所述安全登录模块控制所述桌面云处于禁止被所述桌面云用户访问的禁止访问状态。
若USBkey被映射至虚拟机之后,安全登录模块又接收到桌面云客户端发送的第一指示信息,指示USBkey被从虚拟机上移除,此时,安全登录模块可以控制桌面云处于禁止访问状态。
上述禁止访问状态可以包括中断桌面云的桌面协议,进一步的,还可以控制桌面云的终端处于锁屏状态。当然,仅仅中断桌面云的桌面协议后,用户依然可以操作桌面云终端设备,但是无法登陆桌面云,此时,桌面云终端设备类似传统的PC机。
需要说明的是,上述桌面云客户端向安全登录模块发送第一指示信息的机制,与上文中桌面云客户端向安全登录模块发送第二指示信息的机制相同,都可以复用现有的操作***中的事件处理机制。当然,触发第二指示信息的***事件可以命名为USBkey从虚拟机上移除事件(USBkey REMOVE FROM VM EVT)。
在本申请实施例中,安全登录模块通过与桌面云客户端进行通信,在获知USBkey从虚拟机中移除后,控制桌面云处于禁止访问状态,有利于提高桌面云的安全性能。
可选地,作为一个实施例,所述方法还包括:所述安全登录模块确定所述USBkey从所述虚拟机映射至所述桌面云终端设备;所述安全登录模块控制所述桌面云处于禁止被所述桌面云用户访问的禁止访问状态。
上述安全登录模块确定USBkey从虚拟机映射至桌面云终端设备的方式,与上述安全登录模块确定USBkey从桌面云终端设备映射至虚拟机的方式相同,为了简洁,在此不作具体介绍。
上述用于指示USBkey从虚拟机映射至所述桌面云终端设备的***事件的命名可以是USBkey从虚拟机映射至所述桌面云终端设备的***事件(USBkey FROM VM TO TCEVT)。
上述USBkey从所述虚拟机映射至所述桌面云终端设备的***事件,可以是在桌面云用户希望退出虚拟机时,此时,上述禁止访问状态可以仅仅是断开桌面云的桌面协议,使得用于无法在桌面云终端设备上登录虚拟机,但是用户还是可以按照操作PC的方式操作桌面云客户端。当然,安全登录模块也可以同时锁定桌面云终端设备,本申请实施例对此不作具体限定。
在本申请实施例中,安全登录模块确定USBkey从虚拟机映射至桌面云终端设备,则控制桌面云处于禁止访问的状态,以提高桌面云的安全性。
可选地,作为一个实施例,在登录桌面云终端设备时,桌面云终端设备向桌面云平台发送登录请求时,位于桌面云平台的WI可以随机生成一个登录密码,返回给桌面云控制器缓存,以便后续用户登录虚拟机使用。上述随机生成的密码的有效次数可以设置为1次,也就是,每个登录请求都需要对应一个新的登录密码,以提高用户登录虚拟的安全性。
上文结合图1和图2详细介绍了本发明实施例的桌面云的访问控制方法,下文结合图3和图4详细地描述本发明实施例的装置。需要说明的是,图3至图4所示的装置可以实现上述方法中各个步骤,为了简洁,在此不再赘述。
图3是本申请实施例的桌面云的访问控制装置的示意图。图3所述的装置300包括检测模块310,处理模块320和控制模块330。
检测模块310,用于检测到USBkey移除事件,所述USBkey移除事件用于指示登录桌面云所需的USBkey从桌面云终端设备上移除;
处理模块320,用于确定所述USBkey映射至提供所述桌面云的虚拟机中;
控制模块330,用于控制所述桌面云处于可以被桌面云用户访问的可访问状态。
可选地,作为一个实施例,所述控制模块,还用于:接收所述桌面云客户端发送的第一指示信息,所述第一指示信息用于指示所述USBkey从所述虚拟机中移除;控制所述桌面云处于禁止被所述桌面云用户访问的禁止访问状态。
可选地,作为一个实施例,所述处理模块用于:获取所述USBkey的状态,所述USBkey的状态为映射至所述虚拟机中。
可选地,作为一个实施例,所述处理模块还用于:接收所述桌面云的客户端发送的第二指示信息,所述第二指示信息用于指示所述USBkey从所述桌面云终端设备映射至所述虚拟机;根据所述指示信息修改所述USBkey的状态。
可选地,作为一个实施例,所述处理模块还用于:查询所述桌面云终端设备记录的设备目录下,记录有访问所述USBkey的端口;确定所述USBkey映射至所述虚拟机中。
可选地,作为一个实施例,所述控制模块还用于:确定所述USBkey从所述虚拟机映射至所述桌面云终端设备;控制所述桌面云处于禁止被所述桌面云用户访问的禁止访问状态。
在可选的实施例中,上述装置300还可以是桌面云终端设备400,具体地,所述检测模块310、所述处理模块320和所述控制模块330可以为处理器420,所述装置还可以包括存储器410和输入/输出接口430,具体如图4所示。
图4是本申请实施例的桌面云终端设备的示意性框图。图4所示的桌面云终端设备400可以包括:存储器410、处理器420和输入/输出接口430。其中,存储器410、处理器420和输入/输出接口430通过内部连接通路相连,该存储器410用于存储程序指令,该处理器420用于执行该存储器420存储的程序指令,以控制输入/输出接口430接收输入的数据和信息,输出操作结果等数据。
应理解,在本申请实施例中,该处理器420可以采用通用的中央处理器(CentralProcessing Unit,CPU),微处理器,应用专用集成电路(Application SpecificIntegrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器410可以包括只读存储器和随机存取存储器,并向处理器420提供指令和数据。处理器420的一部分还可以包括非易失性随机存取存储器。例如,处理器420还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器420中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器410,处理器420读取存储器410中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其它通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。