第三方应用程序商店的应用程序的请求以确认用户有权访问应用程序、应用程序被安装在请求访问的有效装置上并且应用程序本身是安全的。在另一个示例中,访问策略可能需要基于用户标识符、装置标识符和应用程序标识符的有效组合的列表来验证来自不受管理装置的私有云资源和/或来自第三方应用程序商店的请求,其中可以将有效组合的所述列表存储在策略数据存储设备314中或存储在有效证书数据存储设备310中。
[0044]认证模块116可以拦截或以其他方式接收访问请求。可以例如通过用户装置102发送该请求以访问云资源,诸如私有云资源132或公共云资源142。在一个实施例中,该请求可以包括关于请求者的信息和/或其他数据,诸如作出该请求的用户的身份(例如,用户标识符)、关于与该请求相关的应用程序的信息(例如,应用程序标识符)、关于作出该请求的装置的信息(例如,装置标识符)。认证模块116可以根据诸如云资源安全策略等一条或多条适用的访问策略来使用此信息进行访问确定,这些访问策略可以被存储在策略数据存储设备314中。
[0045]用户装置接口 302从用户装置102接收通信并将通信传输到用户装置102。在一个实施例中,用户装置接口 302可以接收访问云资源的请求并且提取与该请求相关联的访问证书。用户装置接口 302随后可以将这些访问证书转发到访问证书验证器304。访问证书验证器304可以检查这些访问证书,确定哪些云资源被请求,并且找出一条或多条适用的访问策略。在一个实施例中,验证器304识别访问证书并且可以根据策略数据存储设备314中的适用的访问策略来确定对于给定的云资源来说,是否应允许该请求。例如,访问证书验证器304可以确定该请求是从企业雇员接收,并且与诸如用户装置102等有效用户装置上的安全应用程序相关联。该访问策略可以规定,对于私有云资源132或公共云资源142来说,应当允许具有访问证书的特定组合的请求。在一个实施例中,资源安全策略可指定可以被访问或不可以被访问的单独云资源,而不是仅仅某一类资源。
[0046]在一些实施例中,访问证书验证器304还可以识别访问请求正发送到云服务或从云服务请求的信息的类型。可以以任何数量的不同方式将该信息分类,诸如企业或个人、机密或公共、关键或非关键等。例如,访问证书验证器304可以确定用户正尝试从私有云服务132下载企业销售数据并且使用相应的访问策略来确定该操作应当被允许还是拒绝。基于这个确定,资源访问提供者306可以准予、拒绝或限制访问所请求的云资源。
[0047]图4是根据本发明的一个实施例的示出用于云资源的访问控制方法的流程图。方法400可以由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理器上运行以执行硬件模拟的指令)或它们的组合。该处理逻辑被配置为监视由用户装置作出的访问云资源的请求。在一个实施例中,方法400可以由访问代理(例如,图1的访问代理112、134、144或146)执行。
[0048]参照图4,在块410处,该访问代理接收访问网络内的云资源的请求。在一个实施例中,可以由诸如用户装置102等用户装置发送该请求。该请求可以是访问云资源,诸如私有云资源132或公共云资源142。
[0049]在块420处,访问代理可以识别与该请求相关联的访问证书,诸如应用程序标识符172、用户标识符176和装置标识符180。可以将这些访问证书包装在包括认证令牌(例如,通过应用程序私有密钥签名的基于XML的断言)的包内。访问代理可以使用从应用程序供应服务接收的应用程序公共密钥解开该包以提取访问证书。在块425处,访问代理识别适用于该请求的访问策略。
[0050]在块430处,访问代理确定该请求基于所接收的访问证书和适用的访问策略是否是可允许的。该访问代理可以使用认证令牌来认证与该请求相关联的应用程序。在一个实施例中,访问代理还可以与对应的应用程序供应服务通信以在将包装应用程序107安装在用户装置102上之前进行验证。在另一个实施例中,访问代理将访问证书传递到第三方证实服务,该第三方证实服务确定用户标识符、装置标识符和应用程序标识符的组合是否是有效的,并且将其报告回访问代理。
[0051]如果在块430处,访问代理确定该请求基于资源安全策略是可允许的,那么访问代理确定应使得哪些云资源可用于用户装置102,并且准予该请求(块440)。访问代理可以传输对用户装置102的响应,即允许该请求。该响应可以包括用于包装应用程序107和用户装置102的唯一的加密密钥,诸如KEK。请求用户装置102可以访问云资源或信息。
[0052]在块440处准予该请求还可以包括基于所接收的访问证书的组合来限制对有限资源集合的访问(例如,通过访问策略)。在一个实施例中,所接收的访问证书的组合与特定的云资源(例如,数据库、文档等)相关联以限制应用程序、用户装置和用户的组合对那些特定云资源的访问。例如,公司可以具有两个雇员,各自使用同一个应用程序来访问企业云资源。第一雇员可能在人力资源HR部门工作并且可以访问HR相关云资源。第二雇员可能是专利组的一部分并且可以访问专利相关云资源。访问代理可以使用允许HR雇员访问专利相关云资源的访问策略并且阻止专利雇员访问HR相关云资源。在另一个示例中,由用户在用户装置上开始的应用程序可以首先请求在HR部门工作的雇员的姓名并且被允许访问私有云中的雇员数据库中的雇员姓名表。随后,该应用程序可以请求在HR部门工作的雇员的薪金,并且被拒绝访问私有云中的雇员数据库中的雇员薪金表。
[0053]如果该请求是不允许的(例如,访问策略规定不应允许具有访问证书的指定组合的请求访问私有云资源132),那么访问代理拒绝该请求并且告知请求者该请求被拒绝(块450) ο
[0054]图5是根据本发明的一个实施例的示出用于云服务的云资源访问控制方法500的流程图。方法500可以由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理器上运行以执行硬件模拟的指令)或它们的组合。该处理逻辑被配置为在用户装置上监视和控制访问云资源。在一个实施例中,方法500可以由图1的用户装置102执行。
[0055]参照图5,在块510处,用户装置接收启动应用程序的用户请求,该应用程序的操作涉及访问云资源。作为响应,用户装置获得可以包括用户标识符、装置标识符和应用程序标识符的访问证书。
[0056]在块520处,用户装置可以将包括访问证书和云资源的标识符的访问请求通过网络发送至云或访问代理。在块530处,用户装置可以从访问代理接收访问云资源是被准予、拒绝还是限制为有限资源集合的消息,并且可以将此信息传达到应用程序。
[0057]图6示出示例形式的计算机系统600的机器的图示,在该计算机系统600内,可以执行用于使该机器执行本文所讨论的方法的任一者或多者的指令集。系统600可以呈诸如服务器计算机系统等计算机系统的形式,在该计算机系统内,可以执行用于使该机器执行本文所讨论的方法的任一者或多者的指令集。在可供选择的实施例中,该机器可以连接到(例如,网络连接到)LAN、内部网、外部网或互联网中的其他机器。该机器可以在客户端-月艮务器网络环境中以服务器机器的身份操作。该机器可以是个人计算机(PC)、移动装置、平板电脑、智能电话、TV、膝上型计算机、上网本、机顶盒(STB)、服务器、网络路由器、交换机或网桥,或能够(顺序地或以其他方式)执行规定由该机器采取的动作的指令集的任何机器。此外,虽然仅示出了单个机器,但术语“机器”还应视为包括机器的任何集合,该集合独立地或联合地执行一指令集(或多个指令集)以执行本文所讨论的方法的任一者或多者。在一个实施例中,计算机系统600可以表示图1中的访问代理112、134、144、146或图1中的用户装置102。
[0058]示例性计算机系统600包括处理系统(处理器)602、主存储器604(例如,只读存储器(R0M)、闪存、动态随机存取存储器(DRAM),诸如同步DRAM(SDRAM))、静态存储器606 (例如,闪存、静态随机存取存储器(SRAM))以及数据存储装置618,其通过总线630彼此进行通信。
[0059]处理器602代表一个或多个通用处理装置,诸如微处理器、中央处理单元等等。更具体地讲,处理器602可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其他指令集的处理器或实施指令集的组合的多个处理器。处理器602还可以是一个或多个专用处理装置,诸如专用集成电路(ASIC)JI场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。该处理器602可以被配置为执行访问代理112、134、144、146,以用于执行本文所讨论的操作和步骤。
[0060]计算机系统600可以进一步包括网络接口装置608。计算机系统600还可以包括视频显示单元610(例如,液晶显示器(IXD)或阴极射线管(CRT))、字母数字输入装置612(例如,键盘)、光标控制装置614 (例如,鼠标)以及信号生成装置616 (例如,扬声器)。
[0061 ] 该数据存储装置618可以包括计算机可读介质628,在计算机可读介质628上存储有体现本文所述方法或功能的任一者或多者的指令622 (例如,访问代理112、134、144、146的指令)的一个或多个集合。在计算机系统600执行指令622期间,指令622还可以完全或至少部分地驻留在主存储器604内和/或处理器602的处理逻辑626内,主存储器604和处理器602还构成计算机可读介质。