计算设备上的用于多个环境的用户管理框架的制作方法

文档序号:6352314阅读:146来源:国知局
专利名称:计算设备上的用于多个环境的用户管理框架的制作方法
计算设备上的用于多个环境的用户管理框架
背景技术
随着对底层系统硬件的完全访问权的出现,管理程序提供一种其中其它软件(包括操作系统)可以运行的软件虚拟环境,即使这种访问权实际上受管理程序的控制。嵌入式裸机管理程序是支持嵌入式系统研发的要求的管理程序。


以下描述包括对各图的论述,这些图具有作为本发明的实施例的实现的示例而给出的图解。附图应作为示例而不应作为限制来理解。如在本文中使用的,对一个或多个“实施例”的引用应理解为描述包括在本发明的至少一个实现中的具体特征、结构或特性。因此,在本文中出现的诸如“在一个实施例中”或“在可替代实施例中”之类的词语描述本发明的各种实施例和实现,而不一定都指同一实施例。然而,它们也不一定互相排斥。
图I是图示根据各实施例的系统的框图。图2是图示根据各实施例的系统的框图。图3是根据各实施例的系统中的操作的流程图。图4是根据各实施例的系统中的操作的流程图。
具体实施例方式如在本文中提供的,各种方法、系统或装置采用用户管理框架,用户管理框架将客户端设备用户认证管理的想法与虚拟机(VM)的环境管理器的处理整合。如在本文中使用的,环境管理器是指管理多个环境的任何实体。环境可包括虚拟机、虚拟设备、分区、硬磁盘驱动器,等等。环境管理器的示例包括管理程序、硬件控制器以及VMM (虚拟机监控程序)。尽管在本文中描述的实施例可适应于任何环境管理器,但所描述的各实施例特别地涉及管理程序实现。换言之,各实施例可以采用除所描述的管理程序之外的其它环境管理器。很多管理程序不考虑“用户”的想法,更别说本地设备用户或管理员,因此不处理用户认证。通过将用户配置文件(包括角色,例如系统用户)的想法整合到管理程序内,在本文中描述的实施例将认证和/或单点登录(SSO)功能赋予虚拟的客户端设备(包括虚拟的企业客户端设备),允许用户根据他们被授权的角色来配置访问配置文件。可信任的客户端用户管理框架,在下文中被称为UMF,实现了用于处理多个用户以及不同配置文件的可扩展架构,可扩展架构用于在管理程序(例如可从佛罗里达州劳德代尔堡市的思杰系统有限公司获得的基于Xen的管理程序)之上提供安全和隔离。在本文中所描述的实施例中可以使用其它特定类型的管理程序,包括嵌入式裸机管理程序。UMF将管理程序用户和角色的概念合并到管理程序访问控制中心,同时将认证n (用户界面)添加到管理程序访问控制中心内,管理程序访问控制中心在本文中被称为认证域。全球环境用户身份(GEID)在软件设备的支持下可映射到单独环境(例如VM)的管理域的用户身份。如本文中所使用的,软件设备指包括足以作为虚拟机运行的操作系统(OS)功能的软件应用程序。
图I是图示计算设备100的示例的框图。根据各实施例,图I包括具体部件、模块,等等。然而,在不同实施例中,根据在本文中描述的教义,可以使用其它的部件、模块,等等。计算设备100可以是易虚拟化的任何计算设备,包括笔记本、台式机和工作站等等。管理程序120位于硬件层110 “上”。在各实施例中,管理程序120为“类型I”或“嵌入式”管理程序,不过在某些实施例中,可以使用“类型2”管理程序。管理程序120可同时执行多个虚拟环境。如图所示,管理程序120除执行虚拟环境140-146外,还执行UMF VM 130。虚拟环境140-146中的每一个虚拟环境可以是运行具体操作系统(例如Windows、Linux等)的客户机VM (虚拟机)、虚拟设备(例如网页浏览器等)或其它适合的虚拟环境。作为虚拟化的特征,虚拟环境140-146均是相互独立和孤立的。认证域132是管理程序120的延伸,并且作为UMF虚拟机130中的服务器运行,以支持虚拟环境140-146的用户配置文件管理。UMF VM130可以是独立并且特权的VM(例如受限访问等)。认证域132维持与管理程序120相关联的至少一个全球环境用户身份(GEID)。在各实施例中,GEID限定至少三个实体用户、认证策略以及证书。认证策略确定用户可访问哪些环境、访问条件以及访问所需的证书。如在本文中使用的,证书指用于获取对环境或其它基于认证的进程(例如,BIOS、网页浏览器邮件客户端)的访问的任何令牌。证书的示例包括但不限于密码和指纹扫描(例如通过手指扫描),等等。·认证域132利用GEID来将不同的用户配置文件与同一人链接起来。换言之,认证域132将用于访问虚拟环境140-146和/或与虚拟环境140-146交互的其它用户证书映射到GEID,下面将给出详细描述。在某些实施例中,计算设备100上的一个或多个虚拟环境本身可能没有用户身份管理基础设施。例如,某些环境(例如虚拟环境)可由企业来部署,该企业具有可对GEID满足的集中的用户ID管理基础设施。对于具有认证部件的虚拟环境,将认证证书与GEID链接起来(通过向认证域132注册和/或登记)有利于在计算设备100上的所有这种环境之间的无缝单点登录(SSO)功能。认证域通过远程过程调用、网页服务、远程函数调用或其它适合的通信格式(包括用于传送证书的安全机制)与虚拟环境140-146通信(例如,收集和/或分送认证证书等)。图2是图示计算设备100的示例的框图。根据各实施例,图2包括具体部件、模块,等等。然而,在不同实施例中,根据在本文中描述的教义,可以使用其它的部件、模块、部件/模块的布置等等。另外,在本文中描述的各部件、模块等可以被实现为一个或多个软件模块、硬件模块、特殊用途硬件(例如,专用硬件、专用集成电路(ASIC)、嵌入式控制器、硬连线电路,等等)或这些的某一组合。另外,由各部件、模块等执行的功能和/或操作可体现为由处理器(例如,处理器212)可执行的并且存储在计算机可读存储介质(例如,存储器214)中的指令。计算设备200包括位于固件216的“上方”的管理程序224,固件216位于设备硬件210的“上方”。UMF VM230是起到管理程序224的延伸的作用的特权虚拟机。认证域232与认证代理服务器以及其它认证域(例如在虚拟环境240-246中运行的那些认证域和可以在固件216中运行的那些认证域(包括基本输入输出系统(BIOS) 220或可扩展固件接口(EF) 222))交互。具体地,认证域232利用远程过程调用(RPC)、网页服务、远程函数调用(RFC)等与认证代理服务器和/或认证域交互。利用RPC和/或RFC可能需要用于传送证书的附加安全机制。
全球环境用户身份(GEID)模块234管理并维持GEID。计算设备200可以具有一个GEID或多个GEID。当创建新的GEID (例如在初始的系统设置期间)时,用户可以将安装的环境(例如虚拟设备240、VM 242-246)与利用该新的GEID注册的证书相关联。这些关联用作访问控制系统的基础,访问控制系统基于GEID控制哪些用户对哪些环境具有访问权。在很多传统的计算系统中,用户认证在与系统BIOS通信的OS层(例如,Windows等)进行。在本文描述的各实施例中,认证域232,作为管理程序224的延伸,将最初认证和证书管理移至管理程序层,而远离OS (操作系统)层,同时保留在任何客户机操作系统中创建新用户的能力。因此,认证域232 (与操作系统相对)通知已经注册(例如,连同注册Windows客户机VM 244或其它环境)的任何新的用户证书的固件接口 218 (BIOS 220,EFI222 等)。第一次激活新的虚拟机(例如,Windows客户机VM 244)时,经授权的用户证书(例如,密码、指纹扫描等)通过安装在VM 244上的认证代理服务器映射到GEID 234。因此,经 过VM 244随后的激活,认证代理服务器将基于在认证域232内部完成的认证(例如,基于用户利用GEID登录)透明地获取用户的证书。这种透明的证书分送表现出用户SSO功能(例如,利用GEID登录到设备200授予对注册到GEID的所有环境的访问权)。VM 242和VM 244为包括认证代理服务器模块的Linux和Windows客户机(但在不同实施例中可以为任何类型的客户机),认证代理服务器模块使用户证书与其它VM (包括UMF VM230)以及与固件接口 218同步。VM 246是本身具有认证域248的客户机(例如,Windows客户机)。认证域248与认证代理服务器整合(例如,通过一个或多个应用编程接口或API),以使用户证书与UMF VM 230同步。虚拟设备240在各实施例中是网页浏览器设备,并且同样地通过安装在VM上的认证代理服务器使证书(例如,针对联机用户账户)与UMF VM 230同步。在可替代实施例中,可以使用其它适合的VA,来代替网页浏览器VA。认证域232不需要针对计算设备200的每个潜在用户均手动创建一个GEID。相反,认证域232包括用于处理所接收的用户证书的用户认证策略236。例如,认证域232可以限定用于接收从加利福尼亚州山景城谷歌有限公司可获得的有效Google账户的认证策略236。换言之,基于该认证策略,如果认证域232从网页浏览器VA 240接收与任何GEID不对应的用户证书,则认证域232可以自动为该用户创建内部GEID。这样,用户可以利用Google用户名和密码认证到管理程序224内(通过认证域232)。另外,认证域232同样可以与可信任的第三方服务商(例如,OpenID,Identity2. 0,OASIS SAML、SAML 2. 0等)通信。OpenID是开放的、分散的认证标准的示例,用户通过OpenID可以利用服务商信任的不同账户(例如Google)登录到一个账户(例如,PayPal账户)。因此,通过利用GEID 234登记用户配置文件和对应的证书,认证域232可以提供对第三方服务商所信任的所有配置文件的访问。在某些实施例中,不是所有的环境本身都具有用户身份管理基础设施。例如,某些环境(例如,虚拟环境)可以由具有集中用户ID管理基础设施的企业来部署。管理域250,类似于认证域232,能够管理管理程序224资源。管理域的示例包括联合域(例如OpenID、Microsoft Passport 等)、企业域、服务的服务商域(例如 GoogleApps、Microsoft ActiveDirectory等)以及本地平台用户。可以远程访问管理域250,并且管理域250的特权和/或证书允许管理员设置认证策略234,管理GEID,以及将环境注册到GEID。在各实施例中,计算设备200可以包括多个管理域。切换模块238允许用户在环境之间进行切换,以切换至用户被注册的环境。例如,如果虚拟环境240-246均注册到用户的GEID,则切换模块238可以提供按钮、链接、窗口、图标或其它适合的机制(例如,通过用户界面),来允许用户在虚拟环境240-246之间切换。以下示例图示了与计算设备200相关联的用户体验。在第一示例中,用户使用其笔记本,以使用客户机VA 240 (例如远程访问VA)在家工作。通过利用其GEID登录到计算设备200内,其将自己认证到系统中一次,随后就在其GEID下,对针对单点登录所配置(例如,通过注册)的所有环境具有访问权。然而,当用户的女儿向计算设备200认证时,女儿可能仅仅对环境的子集(可能由其母亲指定)具有访问权。在另一示例中,约翰 史密斯输入GEID jsmith以及适当的GEID证书。认证域232确定应当激活并向约翰 史密斯暴露虚拟环境240-246中的哪一个。在该示例中,利用GEID jsmith注册并激活VA 240和VM 244。未利用GEID jsmith注册VM 242,但基于访 问策略236将VM 242暴露给用户。因此,认证域232暴露VM242的认证UI。一旦验证VM242的适当证书,认证模块就利用GEID jsmith注册VM 242,并存储证书,以供将来用于VM242。在另一示例中,用户jsmith是在GEID模块234中注册的GEID,而BIOS 220知道该用户及其证书。因此,假设单点登录(SSO)启动(例如,在访问策略236中),则用户jsmith可通过BIOS 220登录到计算设备200,并接收对管理程序224和UMF VM 230的自动访问。在又一示例中,用户(例如,没有GEID的用户)输入来自除计算设备200之外的计算设备的管理域250的企业身份。如果用户仍没有计算设备200上的管理域250的证书,则管理程序224向管理域250 (并且可能向对于管理程序224的“任意”用户可能是可访问的其它环境)暴露用于认证的图标。如果用户成功认证,则GEID被创建为利用认证域232注册,并由GEID模块234维持,隐藏用户的认证证书和任何访问控制策略,并且将通过管理域250对用户是可访问的任何其它环境注册到新的GEID。在最后的示例中,企业利用Google Chrome OS (从加利福尼亚州山景城谷歌有限公司可获得)虚拟设备来配置管理程序224,以当用户利用例如OpenID身份访问管理程序224时提供互联网访问。当用户利用Gmail账户(利用GEID 234注册的)登录到计算设备200时,认证域232自动暴露Google Chrome OS VA,并且用户无缝登录到Chrome OS浏览器中的Gmail客户机。图3是根据各实施例的系统中的操作的流程图。图3包括根据某些实施例的具体操作和执行顺序。然而,在不同实施例中,根据本文中所描述的教义,还可以使用其它操作、省略所描述的操作中的一个或多个操作和/或以其它执行顺序进行。与环境管理器(例如管理程序、VMM等)相关联的特权虚拟机维持(步骤310)用户的全球环境用户身份(GEID)。在各实施例中,将用户的想法引入到计算设备的管理程序层(逻辑上低于OS层)。全球环境用户身份包括附带的证书。如在本文中使用的,关于虚拟机的术语“特权”指将虚拟机访问限制到例如具有管理员特权的那些人。在各实施例中,特权虚拟机(例如上述的UMF VM)是管理程序本身的逻辑延伸和/或部件。环境管理器执行一个或多个环境(例如虚拟机、虚拟设备等)。利用GEID登记(步骤320)至少一个虚拟环境。通过登记虚拟环境,计算设备能够通过GEID向该虚拟环境的用户提供SSO功能。在很多传统的系统,包括具有管理程序的那些系统中,初始系统认证在除管理程序之外的某处进行,例如认证常常由操作系统进行。然而,在本文描述的各实施例中,初始和/或最初系统认证由环境管理器(例如通过GEID)控制。通过利用GEID注册虚拟环境,环境管理器层(例如管理程序层)响应于用户利用GEID成功登录而将证书无缝地传递至登记的虚拟环境,以实现用户的SS0。图4是根据各实施例的系统中的操作的流程图。图4包括根据某些实施例的具体操作和执行顺序。然而,在不同实施例中,根据本文中所描述的教义,还可以使用其它操作、省略所描述的操作中的一个或多个操作和/或以其它执行顺序进行。在特权VM中执行的、与计算机上的管理程序相关联的认证域维持(步骤410)—个或多个全球环境用户身份(GEID)。管理程序同时执行多个虚拟环境。至少一个虚拟环境(例如VM、VA等)利用认证代理服务器将用户配置文件和用户配置文件证书传输(步骤420)至认证域。在各实施例中,认证域和认证代理服务器之间的通信利用远程过程调用、网页服务、远程函数调用或其它适合的通信格式来进行。将用户配置文件和用户配置文件证书(例如密码等)结合(步骤430)到GEID。GEID可以是现有的GEID,或者认证域可以对应于从虚·拟环境接收的用户配置文件和证书来产生新的GEID。可以将多个配置文件(例如来自独立的环境)结合到相同的GEID。此外,可以将单个环境配置文件结合到多个GEID。认证域将证书(例如密码、指纹扫描等)分送(步骤440)至各自的环境。在某些实施例中,认证域响应于用户成功输入对应GEID的GEID证书而将证书“推”至所登录的环境。在其它实施例中,例如响应于来自特定环境的访问请求而从认证域“推”出证书。用户配置文件证书的收集和/或分送对于用户可能是透明的,或者它们对于用户来说可能是清楚的。此外,可以鉴于一个或多个访问策略实现证书的分送。上面的示例和图示不是由本文所描述的用户管理框架实现的所有功能。通过本文描述的实施例可以同样实现其它适合的使用、功能、操作等。另外,在不脱离本发明的范围的情况下,可以对所公开的实施例和本发明的实现进行各种修改。因此,在本文中的图示和示例应以说明性的而非限制性的含义来解释。
权利要求
1.一种计算设备,包括 环境管理器,用于同时执行多个环境; 认证域,用于在用户管理框架(UMF)虚拟机中运行,并且用于支持所述多个环境的用户配置文件管理。
2.根据权利要求I所述的计算设备,其中所述认证域进一步包括 全球环境用户身份模块,用于维持用户的全球环境用户身份和与所述全球环境用户身份相关联的证书;和 关于每个环境的认证策略。
3.根据权利要求I所述的计算设备,其中所述计算设备上的环境包括 认证代理服务器,用于向所述认证域注册所述用户的用户配置文件,所述用户配置文件与所述环境相关联。
4.根据权利要求2所述的计算设备,其中所述全球环境用户身份模块进一步用于支持多个全球环境用户身份。
5.根据权利要求2所述的计算设备,其中所述UMF虚拟机进一步包括 切换模块,用于允许所述用户根据所述全球环境用户身份在环境之间切换,以切换至所述用户被注册的环境。
6.根据权利要求I所述的计算设备,其中所述认证域用于通过以下至少一项与所述多个环境通信 远程过程调用(RPC); 网页服务; 远程函数调用(RFC)。
7.根据权利要求I所述的计算设备,进一步包括 固件接口 ;并且 所述认证域进一步用于向所述固件接口提供证书。
8.一种方法,包括 在与计算机上的环境管理器相关联的特权虚拟机中维持用户的全球环境用户身份,所述全球环境用户身份包括全球环境用户身份证书;以及利用所述全球环境用户身份登记环境。
9.根据权利要求8所述的方法,其中所述特权虚拟机中的认证域维持所述全球环境用户身份,并且其中登记所述环境进一步包括 所述环境通过认证代理服务器将用户配置文件和用户配置文件证书传输至所述认证域;以及 将所述用户配置文件和所述用户配置文件证书结合到所述全球环境用户身份。
10.根据权利要求8所述的方法,其中所述传输包括 所述认证域和所述认证代理服务器通过以下至少一项进行通信 远程过程调用(RPC); 网页服务; 远程函数调用(RFC)。
11.根据权利要求9所述的方法,进一步包括所述认证域利用所述全球环境用户身份登记所述用户的多个配置文件,所述配置文件与不同的孤立虚拟环境相关联。
12.根据权利要求11所述的方法,进一步包括 所述认证域维持每个登记的配置文件的访问策略。
13.根据权利要求11所述的方法,进一步包括 响应于所述用户成功提供所述全球环境用户身份证书作为所述计算机的输入,所述认证域自动将与被登记的配置文件相关联的证书分送到各自的虚拟环境。
14.根据权利要求11所述的方法,进一步包括 响应于所述用户成功提供所述全球环境用户身份证书作为所述计算机的输入,所述认证域自动将证书分送到固件接口。
15.根据权利要求11所述的方法,进一步包括 在所述计算机上的特权虚拟机中维持附加的全球环境用户身份。
16.一种包括指令的机器可读存储介质,所述指令在被执行时使计算机 在与计算机上的管理程序相关联的特权虚拟机中维持用户的全球环境用户身份,所述全球环境用户身份包括全球环境用户身份证书;以及 利用所述全球环境用户身份注册孤立的虚拟环境。
17.根据权利要求16所述的机器可读存储介质,其中所述全球环境用户身份由所述特权虚拟机中的认证域维持,并且其中使进行登记的指令进一步包括使所述计算机执行以下步骤的指令 通过认证代理服务器将用户配置文件和用户配置文件证书发送至所述认证域;以及 将所述用户配置文件和所述用户配置文件证书链接到所述全球环境用户身份。
18.根据权利要求17所述的机器可读存储介质,进一步包括使所述计算机执行以下步骤的指令 响应于所述用户提供所述全球环境用户身份证书作为所述计算机的输入,自动将所述用户配置文件证书推至所述孤立的虚拟环境。
19.根据权利要求17所述的机器可读存储介质,进一步包括使所述计算机执行以下步骤的指令 响应于访问所述孤立的虚拟环境的用户请求,自动将所述用户配置文件证书推至所述孤立的虚拟环境。
20.根据权利要求16所述的机器可读存储介质,进一步包括使所述计算机执行以下步骤的指令 在所述特权虚拟机中维持附加的管理程序用户身份; 利用各自的管理程序用户身份来注册不同的孤立虚拟环境的附加用户配置文件;以及 鉴于每个用户配置文件的访问策略,授予对所述不同的孤立虚拟环境的访问权。
全文摘要
计算机中的环境管理器同时执行多个环境。计算机上的用户管理框架(UMF)虚拟机运行用于支持多个环境的用户配置文件管理的认证域。
文档编号G06F21/41GK102971740SQ201080067821
公开日2013年3月13日 申请日期2010年7月1日 优先权日2010年7月1日
发明者约瑟·保罗·皮雷斯, 瓦柳丁·阿里, 波利斯·巴拉切夫, 吉姆·曼, 爱德华多夫·莫斯凯塔 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1