用于使用命名空间访问计算资源的系统和方法与流程

文档序号:24129736发布日期:2021-03-02 17:06阅读:84来源:国知局
用于使用命名空间访问计算资源的系统和方法与流程

[0001]
本申请总体上涉及计算系统和网络,包括但不限于使用命名空间来访问计算环境的资源。


背景技术:

[0002]
在计算环境中,用户可以操作客户机装置以请求访问计算环境内的给定资源。为了授权用户访问资源,可以将策略应用于请求以确定是否要许可(或拒绝)用户访问资源。


技术实现要素:

[0003]
本公开涉及用于使用命名空间(例如,利用使用命名空间的任意第三方扩展)来构建策略决策点的系统和方法。某些策略决策点可能是狭义的(例如,特制策略决策点),但可能会遗漏某些特定(或任意)用例。其他策略决策点可能是通用的,但词汇量稍差,无法容纳尽可能多的用例。
[0004]
根据本文所述的实施方式,以下系统和方法缓和了特制策略决策点(pdp)及相应的策略语法与通用pdp之间的权衡。特制pdp通常是可表达的和可审核的,但这种pdp与相应的策略执行点(pep)紧密耦合。因此,特制pdp通常限于支持自给自足的特征和有限的用例。通用pdp是通用的,但缺乏表达能力,无法捕获与任意第三方pep相关联的限制和逻辑,并且较难审核。
[0005]
本文描述的实施例包括基于可扩展的属性的访问控制(abac)语法和pdp系统上的命名空间。命名空间为分层策略域提供了对于专用命名空间特定的特制词汇(例如,其可用于识别参与者/主体、动词/动作、对象/目标、条件、义务)。通过包括命名空间,本文描述的系统和方法提供了上述通用pdp和特制pdp之间的桥梁。此外,本文描述的系统和方法提供命名空间的第三方配置。这样,本文描述的系统可扩展以处理任意策略用例。
[0006]
在一个方面,本公开涉及一种方法。该方法包括由至少一个计算装置接收访问计算环境中的资源的请求。该请求可以包括一个或多个属性。该方法包括由至少一个计算装置识别具有域特定的策略语法的命名空间的集合以生成域特定的策略。该方法包括由至少一个计算装置从所识别的命名空间的集合中确定与请求的一个或多个属性相对应的命名空间。该方法包括使用所确定的命名空间的域特定的策略语法来生成应用于请求的域特定的策略。
[0007]
在一些实施例中,所确定的命名空间包括至少一个嵌套命名空间,嵌套命名空间具有来自所选择的命名空间的域特定的策略语法的子集。在一些实施例中,该方法还包括根据请求的一个或多个属性,从至少一个嵌套命名空间中选择一个嵌套命名空间,以及使用嵌套命名空间的域特定的策略语法生成应用于请求的域特定的策略。在一些实施例中,所确定的命名空间的域特定的语法适用于多个资源,以及域特定的语法的子集适用于包括与请求相关联的资源的所述多个资源的子集。在一些实施例中,该方法还包括将所生成的域特定的策略应用于请求,以识别用于资源的域特定的策略的效果,以许可或拒绝对资源
的访问。该方法还可以包括根据效果来许可或拒绝对资源的访问。
[0008]
在一些实施例中,该方法还包括选择具有与请求的一个或多个属性匹配的一个或多个目标属性的命名空间。在一些实施例中,一个或多个目标属性包括主体、动作、对象或环境中至少之一。在一些实施例中,命名空间的集合包括数据库命名空间、网络产品命名空间、文件访问命名空间、内容过滤命名空间、防病毒命名空间、统一资源定位符(url)浏览命名空间或应用命名空间中至少之一。在一些实施例中,来自所选择的命名空间的域特定的策略语法包括策略语法的多个类别。在一些实施例中,该方法还包括接收用于合并到命名空间的集合中的用户定义的(例如,定制的或第三方)命名空间。该方法还可以包括将用户定义的命名空间合并到命名空间的集合中。
[0009]
在另一方面,本公开涉及一种装置。该装置包括至少一个处理器,该至少一个处理器被配置为接收访问计算环境中的资源的请求。该请求可以包括一个或多个属性。至少一个处理器还可以被配置为识别具有域特定的策略语法的命名空间的集合,以生成域特定的策略。至少一个处理器还可以被配置为从所识别的命名空间的集合中确定与请求的一个或多个属性相对应的命名空间。至少一个处理器还可以被配置为使用所确定的命名空间的域特定的策略语法,生成应用于请求的域特定的策略。
[0010]
在一些实施例中,所确定的命名空间包括至少一个嵌套命名空间,嵌套命名空间具有来自所选择的命名空间的域特定的策略语法的子集。在一些实施例中,至少一个处理器还被配置为根据请求的一个或多个属性,从至少一个嵌套命名空间中选择一个嵌套命名空间,以及使用嵌套命名空间的域特定的策略语法生成应用于请求的域特定的策略。在一些实施例中,所确定的命名空间的域特定的语法可适用于多个资源。域特定的语法的子集可适用于包括与请求相关联的资源的所述多个资源的子集。
[0011]
在一些实施例中,至少一个处理器还被配置为将所生成的域特定的策略应用于请求,以识别用于资源的域特定的策略的效果,以许可或拒绝对资源的访问,以及根据效果许可或拒绝对资源的访问。在一些实施例中,至少一个处理器还被配置为选择具有与请求的一个或多个属性匹配的一个或多个目标属性的命名空间。在一些实施例中,来自所选择的命名空间的域特定的策略语法包括策略语法的多个类别。在一些实施例中,至少一个处理器还被配置为接收用于合并到命名空间的集合中的用户定义的命名空间,以及将用户定义的命名空间合并到命名空间的集合中。
[0012]
在另一方面,本公开涉及一种非暂时性计算机可读介质,其存储用于使一个或多个处理器接收访问计算环境中的资源的请求的程序指令。该请求可以包括一个或多个属性。一个或多个处理器可以被配置为识别具有域特定的策略语法的命名空间的集合,以生成域特定的策略。一个或多个处理器可以被配置为从所识别的命名空间的集合中确定与请求的一个或多个属性相对应的命名空间。一个或多个处理器可以被配置为使用所确定的命名空间的域特定的策略语法,生成应用于请求的域特定的策略。
[0013]
在一些实施例中,所确定的命名空间包括至少一个嵌套命名空间,嵌套命名空间具有来自所选择的命名空间的域特定的策略语法的子集。
附图说明
[0014]
通过参考以下结合附图的描述,本解决方案的前述和其他目的、方面、特征和优点
将变得更加明显和更好地理解,其中:
[0015]
图1是计算装置的实施例的框图。
[0016]
图2是用于控制对计算环境中的资源的访问的系统的框图。
[0017]
图3是包括各自的域特定的策略语法的多个命名空间的示例框图。
[0018]
图4是用于控制对计算环境中的资源的访问的示例方法的流程图。
[0019]
当结合附图时,根据下面阐述的详细描述,本解决方案的特征和优点将变得更加明显,在附图中,相似的附图标记始终标识相应的元件。在附图中,相似的附图标记通常指示相同、功能相似和/或结构相似的元件。
具体实施方式
[0020]
为了阅读下面各个实施例的描述,本说明书的各部分的以下描述及其各自的内容可能是有帮助的:
[0021]
a部分描述了一种计算环境,其对于实践本文描述的实施例可能是有用的。
[0022]
b部分描述了使用命名空间构建策略决策点的系统和方法。
[0023]
a.计算环境
[0024]
在讨论在b部分中详细描述的系统和方法的实施例的细节之前,讨论可以在其中部署这样的实施例的计算环境可能是有帮助的。
[0025]
如图1所示,计算机101可以包括一个或多个处理器103、易失性存储器122(例如,随机存取存储器(ram))、非易失性存储器128(例如,一个或多个硬盘驱动器(hdd)或其他磁性或光学存储介质、一个或多个固态驱动器(ssd)(例如闪存驱动器或其他固态存储介质)、一个或多个混合磁和固态驱动器、和/或一个或多个虚拟存储卷(例如云存储)、或这样的物理存储卷和虚拟存储卷或其阵列的组合)、用户接口(ui)123、一个或多个通信接口118和通信总线150。用户接口123可包括图形用户接口(gui)124(例如,触摸屏、显示器等)和一个或多个输入/输出(i/o)装置126(例如,鼠标、键盘、麦克风、一个或多个扬声器、一个或多个照相机、一个或多个生物特征扫描仪、一个或多个环境传感器、一个或多个加速度计等)。非易失性存储器128存储操作系统115、一个或多个应用116和数据117,从而例如由处理器103从易失性存储器122中执行操作系统115和/或应用116的计算机指令。在一些实施例中,易失性存储器122可以包括一种或多种类型的ram和/或高速缓冲存储器,其可以提供比主存储器更快的响应时间。可以使用gui 124的输入装置输入数据,或从i/o装置126接收数据。计算机101的各种元件可以经由一个或多个通信总线(示出为通信总线150)进行通信。
[0026]
如图1所示的计算机101仅作为示例示出为客户机、服务器、中间装置和其他网络装置,并且可以由任何计算或处理环境以及利用可以具有能够如本文所述操作的适当硬件和/或软件的任何类型的机器或机器组来实现。处理器103可以由一个或多个可编程处理器实现以执行一个或多个可执行指令,例如计算机程序,以执行系统的功能。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电路。功能、操作或操作序列可以被硬编码到电路中,或者可以通过保持在存储器装置中并由电路执行的指令被软编码。“处理器”可以使用数字值和/或使用模拟信号来执行功能、操作或操作序列。在一些实施例中,“处理器”可以体现在一个或多个专用集成电路(asic)、微处理器、数字信号处理器(dsp)、图形处理单元(gpu)、微控制器、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、多核处
理器或具有关联存储器的通用计算机中。“处理器”可以是模拟、数字或混合信号。在一些实施例中,“处理器”可以是一个或多个物理处理器或一个或多个“虚拟”(例如,位于远程的或“云”)处理器。包括多个处理器核的处理器和/或多个处理器可以提供用于并行、同时执行多个指令或在多于一段数据上并行、同时执行一个指令的功能。
[0027]
通信接口118可以包括一个或多个接口,以使计算机101能够通过各种有线和/或无线或蜂窝连接访问诸如局域网(lan)、广域网(wan)、个人局域网(pan)或互联网之类的计算机网络。
[0028]
在所描述的实施例中,计算装置101可以代表客户机计算装置的用户执行应用。例如,计算装置101可以执行虚拟机,其提供执行会话,在该执行会话内,应用代表用户或客户机计算装置执行,例如托管的桌面会话。计算装置101还可以执行终端服务会话以提供托管的桌面环境。计算装置101可以提供对包括以下中的一个或多个的计算环境的访问:一个或多个应用、一个或多个桌面应用、以及可以在其中执行一个或多个应用的一个或多个桌面会话。
[0029]
b.用于使用命名空间构建策略决策点的系统和方法
[0030]
本公开涉及用于使用命名空间来构建具有例如任意第三方扩展的策略(例如,包括策略决策点)的系统和方法。某些策略决策点可能是狭义的(例如,特制策略决策点),但可能会遗漏某些特定(或任意)用例。其他策略决策点可能是通用的,但词汇量稍差,无法容纳尽可能多的用例。
[0031]
根据本文描述的实施方式,以下系统和方法缓和了特制策略决策点(pdp)及相应策略语法和通用pdp之间的权衡。特制pdp通常是可表达的和可审核的,但是这些pdp与相应的策略执行点(pep)紧密耦合。因此,特制pdp通常限于支持自给自足的特征和有限的用例。通用pdp是通用的,但缺乏可表达性,无法捕获与任意第三方pep相关联的限制和逻辑,并且较难审核。
[0032]
本文描述的实施例包括基于可扩展的属性的访问控制(abac)语法和pdp系统上的命名空间。命名空间为分层策略域提供了对于专用命名空间特定的特制词汇(例如,包括参与者/主体、动词/动作、对象/目标、条件、义务)。通过包括命名空间,本文描述的系统和方法提供了上述通用pdp和特制pdp之间的桥梁。此外,本文描述的系统和方法可以提供命名空间的配置(例如,第三方配置)。这样,本文描述的系统可扩展以处理任意策略用例。
[0033]
在给定的策略框架中,可以在特定条件下许可或拒绝实体(通常称为授权)访问各种资源。可以(例如,由策略管理员)以策略和规则的形式定义授权。为了授权用户使用给定的资源,一般策略框架内的许多系统和/或子系统评估适用于该资源的策略规则。用户从策略执行点(pep)请求访问资源。pep将请求的属性(例如,访问资源)和用户标识信息传送给策略决策点(pdp),以针对策略进行评估。pdp从策略检索点(prp)检索适用于该用户的策略,并从策略信息点(pip)检索任何其他相关的用户信息。当所有信息可用时,pdp评估策略规则,并将许可或拒绝响应以及补充义务发送回pep,以便强制执行授权访问。
[0034]
某些pdp可以以不同的方式定义。例如,某些pdp可以与定义明确的pep生态系统“紧密耦合”。这样的pdp可以包括域特定的语法,但也可能具有丰富的词汇。其他pdp可能是“松散耦合的”,语法有些通用,但词汇量稍差,无法容纳尽可能多的用例。
[0035]
可以通过内容过滤和防病毒解决方案的简单示例来说明这两种方法的区别,该示
例旨在防止访问不安全、禁止、非法和/或受感染的材料。pep拦截传出的流量并查询特制pdp,以确定是否应允许相应的url或文件下载。特制pdp被配置为经由与两个不同的策略信息点pip、url分类数据库和防病毒扫描程序集成来防止恶意、非法和非安全活动或流量。
[0036]
紧密耦合的pdp可以包含域特定的词汇,该词汇可以支持、覆盖和/或描述适当的资源(例如url、文件)、动作(例如浏览、下载)、条件(类别、感染标记)和义务(例如,允许、阻止、重定向、电子邮件通知)。另外,它将意识到限制,即意识到“浏览/下载”动作仅分别适用于url/文件,重定向动作仅适用于url,注意url类别等。在基于角色的访问控制(rbac)语言和模型中,当条件存在时,允许(或拒绝)某些参与者对资源执行动作。这种松散耦合的pdp可能无法捕获域特定的规则,包括但不限于可用动作、资源、动作/资源映射、条件和义务。拼写错误或策略语法错误(可能包括简单的区分大小写的错误,例如url浏览而不是浏览)可能导致策略在没有任何可见警告的情况下没有生效。如果策略管理员不知道由相应pip返回的类别名称是任意值,则阻止“成人”内容的意图可能证明是无效的。
[0037]
一些基于属性的访问控制(abac)系统可以包括具有可扩展词汇的通用策略语言。rbac系统需要预定义的角色和权限集,而abac系统则允许评估主体(参与者)、对象(被感染/访问的资源)、动作(正在执行的操作)和环境(如当日时间或位置等的各种各样的上下文信息)上的任意属性。在某些情况下,可以在层次结构系统内增强策略语法,以提供相似规则和策略的分组、有效的处理、委托的管理等。尽管这种层次结构解决诸如处理效率或委托的管理之类的问题,但这种系统仍无法捕获域特定的知识。任何给定的abac可以包括开放式的目标属性、条件和义务,几乎没有被策略词汇强加的限制。
[0038]
在克服这些单独类型的pdp的前述缺点时,本文描述的实施例通过引入命名空间来连接紧密和松散耦合的pdp。本文描述的系统和方法介绍了不仅定义通用策略语言而且定义了可方便任意第三方而不损害灵活性的可扩展词汇的系统和方法。可以为特定的资源类型生成命名空间,每个命名空间都包括特定于该特定命名空间的特制词汇(参与者/主体、动词/动作、对象/目标、条件、义务)。此外,策略管理员可以生成新的命名空间,以处理任意策略用例。这样,pdp可以是可扩展的。
[0039]
现在参考图2,描绘了用于控制对计算环境中的资源的访问的系统200。系统200被示出为包括客户机装置202、策略服务器204和多个资源206。策略服务器204被示出为包括策略生成引擎208,该策略生成引擎208包括、维护或以其他方式访问多个命名空间210和策略应用引擎212。通过引入命名空间210,本文描述的系统和方法提供了范围内的策略元素。策略服务器204可以被配置为(例如,从客户机装置202)接收访问资源206的请求。该请求可以包括各种属性(例如,用户标识信息、资源信息、客户机装置202信息等)。策略服务器204可以被配置为识别用于生成域特定的策略的一组命名空间210。命名空间210可以包括域特定的策略语法。策略服务器可以确定对应于来自请求的属性的命名空间210。策略服务器204可以使用确定的命名空间210的域特定的策略语法来生成域特定的策略以应用于请求。
[0040]
本解决方案的系统和方法可以以任何类型和形式的装置来实现,包括以上参考图1描述的客户机、服务器和/或设备。如本文所引用的,“服务器”有时可以指代客户机-服务器关系中的任何装置,例如,与客户机装置202和/或资源206握手的策略服务器204。客户机装置202、策略服务器204和/或资源206可以包括或合并在某些方面与以上参考图1描述的组件和装置类似的组件和装置,例如存储器和/或可操作地耦合到该存储器的一个或多个
处理器。可以在本文描述的设备或装置的任何实施例或方面中实现本系统和方法。在一些实施方式中,策略服务器204可以被布置在客户机装置202和资源206之间。策略服务器204可以被配置为从客户机装置202接收用于访问资源206的请求,识别适用的命名空间210,生成特定于域的策略并将其应用于请求以授权客户机装置202访问资源206,如下文更详细描述。
[0041]
资源206可以是或包括可以由客户机装置202访问的任何装置、组件、服务器、程序、源、应用等。资源206可以包括远程地生成数据并将这种数据输送到客户机装置202的任何应用或资源。在一些实施例中,资源206可以是或包括网站、可下载内容、文件共享服务、软件即服务(saas)应用、虚拟桌面、虚拟应用等。资源206可以位于、体现在、或以其他方式包括在各种服务器上,服务器可以位于远离客户机装置202的位置。资源206可以是或者包括数据,所述数据可以由客户机装置202访问。资源206(或支持、维护或以其他方式提供资源206的应用、程序、服务器等)可以被配置为从客户机装置202接收访问资源206(例如,来自或对应于资源206的特定数据)的请求,并将所请求的数据传输到客户机装置202。
[0042]
系统200被示出为包括多个客户机装置202。客户机装置202可以是或包括与上述计算装置101相似的方面、特征和组件。举例来说,客户机装置202可以是或包括例如台式计算机、膝上型计算机、智能手机或移动装置、平板电脑。客户机装置202可以托管、执行、输送或以其他方式向用户提供应用或资源(例如,当被请求时)。例如,客户机装置202可以包括呈现用户接口的显示器或屏幕,该用户接口包括用于选择应用的各种图标、用于输入特定网页的统一资源定位符(url)的各种导航栏等等。在这些实施例的每一个中,客户机装置202通常可以被配置为从用户接收用于访问资源206的输入。
[0043]
客户机装置202可以被配置为生成包括一个或多个属性的请求。一个或多个属性可以是例如与发布请求的客户机装置202相对应的信息或数据、与请求访问资源206的用户相对应的信息或数据、和/或与资源206相对应的信息或数据。客户机装置202可以被配置为生成请求以识别与客户机装置202相对应的信息或数据。例如,客户机装置202可以被配置为包括与客户机装置202的操作条件相对应的信息或数据。例如,客户机装置202可以包括指示、识别或以其他方式对应于客户机装置202所连接的网络的信息或数据。客户机装置202可以被配置为识别客户机装置202是否连接到安全网络或不安全网络、密码保护或开放网络、个人或工作网络、受信任网络等等(并且在请求中包括对应于以上的数据)。客户机装置202可以被配置为识别/生成与来自用户的输入的时间相对应的时间戳,并且将该时间戳包括在请求中。客户机装置202可以被配置为识别客户机装置202的位置(例如,基于来自gps传感器的地理位置数据,基于客户机装置202连接到的wi-fi网络等)。客户机装置202可以被配置为在请求中包括与客户机装置202的位置相对应的数据。
[0044]
客户机装置202可以被配置为生成请求以识别与用户将要访问的资源206相对应的信息或数据。客户机装置202可以被配置为基于来自用户的输入来生成请求。例如,在输入是针对应用的图标的选择的情况下,客户机装置202可以被配置为生成指示相对应的应用的请求。作为另一个示例,在输入是特定网页的url的情况下,客户机装置202可以被配置为生成指示该url的请求。客户机装置202可以被配置为生成请求以识别请求中指示的资源。
[0045]
客户机装置202可以被配置为生成请求以识别与客户机装置202相对应的用户。客
户机装置可以基于用户向客户机装置202提供的登录证书来识别用户(例如,在启动时)。客户机装置202可以基于由用户提供的用于访问特定资源的登录证书(例如,用于网站或应用的登录证书)来识别用户。在一些实施例中,客户机装置202可以与特定用户(例如,该用户的膝上型计算机、移动电话、专用工作计算机等)唯一地关联。客户机装置202可以维护与对应于客户机装置202的用户相关联的用户标识符。客户机装置202可以在请求中提供该用户标识符。在其他实施例中,客户机装置202可以利用请求提供与客户机装置202相对应的唯一标识符。
[0046]
客户机装置202可以被配置为向策略服务器204输送、传输或以其他方式提供请求。客户机装置202可以跨越计算机网络、在计算机网络上或经由计算机网络向策略服务器204提供请求。该计算机网络可以类似于上面参考用于计算机101的通信接口118描述的计算机网络。因此,计算机网络可以是通过各种有线和/或无线或蜂窝连接的局域网(lan)、广域网(wan)、个人局域网(pan)、或互联网。策略服务器204可以被配置为经由计算机网络接收请求。策略服务器204可以被配置为解析请求以识别生成请求的用户(例如,通过提取请求中提供的登录证书,通过提取请求中包括的用户标识符,通过提取客户机装置202的唯一标识符并将客户机装置的唯一标识符与多个唯一标识符进行交叉引用,以识别与客户机装置202相对应的用户,等等)。策略服务器204可以被配置为解析请求以识别请求中指示的目标资源206。如下面更详细描述的,策略服务器204可以被配置为生成域特定的策略,以使用与请求相对应的命名空间210将其应用于请求。
[0047]
策略服务器204被示出为包括策略生成引擎208和策略应用引擎212。策略生成引擎208可以是被设计或实现为生成域特定的策略的任何装置、组件、处理器、软件、脚本或应用。策略应用引擎212可以是被设计或实现为将策略(包括由策略生成引擎208生成的或经由策略生成引擎208生成的域特定的策略)应用于用于授权对资源的访问的请求的任何装置、组件、处理器、脚本或应用。如本文所使用的,“授权”是指选择性地许可和拒绝对特定资源的访问。
[0048]
策略生成引擎208可以被配置为解析从客户机装置202接收到的请求。策略生成引擎208可以被配置为解析该请求以识别包括在请求中的属性。如上所述,属性可以包括与发出请求的客户机装置202相对应的信息或数据,与请求访问资源206的用户相对应的信息或数据、和/或与资源206相对应的信息或数据。策略生成引擎208可以被配置为解析请求以识别请求中包括的每个属性。因此,策略生成引擎208可以被配置为识别发出请求的客户机装置202、请求访问资源206的用户以及资源206本身的条件。策略生成引擎208可以被配置为使用这样的信息来选择、识别或以其他方式确定用于生成与该请求相对应的策略的适用的命名空间210。
[0049]
如图3所示,策略生成引擎208可以被设计或实现为识别一组命名空间210。具体地,图3描绘了包括各自的域特定的策略语法的多个命名空间210。如图所示,每个命名空间210可以包括域特定的策略语法以生成域特定的策略。域特定的策略语法可以是与特定命名空间210唯一关联的策略语法。域特定的策略语法可以适用于资源206的特定集合、资源206的特定类型、资源206被访问的特定方式,等等。因此,一个命名空间210的域特定的策略语法可能不适用于另一命名空间210,反之亦然。每个策略语法可以是用于定义策略的的结构、语言或一组定义的“构建块”。如图3所示,域特定的策略语法可以包括多个类别的策略
语法,包括例如目标300、条件302、效果304和义务306。策略语法可以指定可接受的运算符(例如特定的布尔运算符)。例如,可接受的运算符可以包括“等于”、“大于”、“小于”、“之间”(范围)、“中”(属于集合)等。
[0050]
命名空间210可以包括全局命名空间210。全局命名空间210可以是适用于与各个客户机装置202相对应的多个租户的命名空间210。租户可以是或包括注册到系统200中的公司、企业或其他组织实体。每个租户可以链接到相应的客户机装置202或以其他方式与其相关联。租户可以指定应用于与其相关联的客户机装置202的策略。命名空间210可以包括适用于对应于各个客户机装置202的单个租户的本地命名空间210。因此,对应于一个租户的本地命名空间210可能不适用于不同的租户。命名空间210可以包括各种命名空间210(b)-210(n)(统称为命名空间210)。在一些实施例中,命名空间210可以是预定义的命名空间210或用户定义的命名空间210。在一些实施例中,命名空间210可以嵌套在其他命名空间210内(例如,命名空间2-1 210(c1)被示出为嵌套在命名空间2 210(c)内)。每个命名空间210被示出为包括相应的域特定的语法。
[0051]
命名空间210可以被定义为对应于计算环境的特定方面。例如,命名空间210可以包括数据库命名空间(例如,以控制对数据库资源的访问)、网络产品命名空间(例如,以控制计算环境内的网络配置和装置)、内容过滤命名空间(例如,以过滤、编辑、重定向或以其他方式阻止内容输送到客户机装置202)、防病毒命名空间(例如,以在防病毒扫描后授权对内容/页面/资源的访问)、url浏览命名空间(例如,以授权对特定类型或特定网站的访问)、应用命名空间(例如,以授权对特定类型或特定应用的访问),列举了一些非限制性的可能性。一些命名空间210可以嵌套在另一个命名空间210内。命名空间210可以嵌套在父命名空间210内,以进一步针对与父命名空间210相对应的计算环境的特定方面定义域特定的策略。例如,在针对网络产品的命名空间210中,某些策略元素可以适用于网络流量,其他策略元素可以适用于诸如路由器的装置和硬件,而其他策略元素还可以适用于防火墙。可以在网络装置命名空间210内定义多个嵌套的命名空间210(例如,对应于网络流量的高级命名空间210、对应于防火墙的嵌套命名空间210、在对应于防火墙的嵌套命名空间210内的对应于网络地址转换(nat)的嵌套命名空间210等)。因此,命名空间210可以是可扩展的并且以捕获策略生成框架内的各种用例为目标。
[0052]
在命名空间210是用户定义的命名空间210的实施方式中,管理员可以在链接到策略服务器204的客户机装置上生成命名空间210。每个命名空间210可以包括唯一名称(例如,“全局命名空间”、“命名空间1”、“命名空间2”、“命名空间2-1”、“命名空间n”等)。在新命名空间210要嵌套在另一个命名空间210(例如,父命名空间210)内的情况下,新命名空间210可以指定父命名空间210。在一些实施方式中,每个命名空间210可以指定范围。范围可以定义命名空间210对各种租户的适用性。范围可以是本地或全局的。例如,具有本地范围的命名空间210可以适用于一个租户。然而,具有全局范围的命名空间210可以适用于多个租户。
[0053]
目标300可以包括、指示或对应于与请求相对应的主体、动作、对象和/或环境。每个目标300可以包括一个或多个属性。例如,在命名空间210是防病毒命名空间210的情况下,防病毒命名空间210可以指定与动作(具有对应于下载的属性)和对象(具有对应于文件的属性)相对应的目标300。作为另一示例,在命名空间210是内容过滤命名空间210的情况
下,内容过滤命名空间210可以指定与动作(具有对应于浏览的属性)和对象(具有对应于特定url和/或url类别的属性)相对应的目标300。主体可以是请求访问资源206的人(例如,用户)。动作可以是主体(例如,用户)请求执行的动作(例如下载、保存、查看、共享等)。对象可以是资源206的标识。环境可以是客户机装置202的环境(例如,当前时间、客户机装置202的ip地址、客户机装置202连接到的网络,等等)。
[0054]
例如,可以基于主体并使用可接受的布尔运算符来定义条件302。条件302可以被配置为接受某些值以与主体进行比较。给定命名空间210的每个条件302可以包括条件名称(每个名称对于相应的命名空间210是唯一的)、条件的类型(例如,布尔条件、数字条件、字符串条件、日期/时间条件,等等)、以及支持的运营商的列表。作为一个示例,字符串条件可以包括要被限制的多个限制值(例如,[“val1”,“val2”,“val3”])。字符串条件可以包括字符串条件的支持运算符“等于”。这样,当限制值[“val1”,“val2”,“val3”]之一“等于”给定目标300属性时,可以定义为满足条件302。给定的命名空间210可以包括任意数量的条件302。命名空间210可以包括与主体、动作、对象和/或环境相对应的条件。当满足条件302时,效果304可以是或包括效果、结果或其他成果。效果304可以包括、指示或以其他方式对应于条件的结果(例如,“许可”、“拒绝”和“空操作”)。“空操作”效果304可以提供与资源206的访问控制无关的策略的表达。义务306可以是或包括用于执行该策略的各种外部或补充功能。义务306可以包括允许、阻止、重定向、电子邮件通知等。
[0055]
返回参考图2,策略生成引擎208可以被配置为从命名空间210的集合中识别命名空间210。策略生成引擎208可以基于来自请求的属性与相应命名空间210的目标300属性相比来识别命名空间210。策略生成引擎208可以基于与请求的属性匹配的目标300属性(例如,主体、动作、对象、环境)来选择命名空间210。例如,在请求包括指示用户正在请求浏览互联网的url的情况下,该请求可以包括识别该url的属性。策略生成引擎208可以被配置为基于来自请求(例如,url)的属性来识别内容过滤命名空间210,该请求的属性匹配于与内容过滤命名空间210的目标300相对应的属性。策略生成引擎208可以被配置为确定内容过滤命名空间210对应于来自请求的属性(例如,基于来自请求的属性与对应于目标300属性匹配)。在命名空间210包括多个嵌套命名空间210的实施方式中,策略生成引擎208可以基于特定嵌套命名空间的目标300属性与请求的属性匹配来选择嵌套命名空间210。例如,来自请求的属性可以匹配与嵌套命名空间相对应的目标300属性,而不匹配其他嵌套命名空间210的任何属性。
[0056]
策略生成引擎208可以被配置为基于与请求相对应的命名空间210的域特定的策略语法,生成用于应用于请求的域特定的策略。如上所述,每个命名空间210可以包括目标300、条件302、效果304和义务306。策略生成引擎208可以使用域特定的策略语法(例如,目标300、条件302、效果304和义务306)为请求生成域特定的策略。策略生成引擎208可以生成用于应用于特定请求的域特定的策略(例如,例如基于请求的属性)。策略生成引擎208可以被配置为通过从域特定的策略语法的特定类别中选择与用于选择命名空间210的目标300属性相对应的条件302、效果304和义务306,来生成域特定的策略。策略生成引擎208可以被配置为使用针对条件302、效果304和义务306的策略语法中指定的词汇,生成用于应用于请求的域特定的策略。
[0057]
作为一个示例,在目标300属性是浏览的情况下,条件302可以包括与将要被限制
的多个url相对应的多个限制值。条件302可以将布尔运算符指定为“等于”。效果304可以是“拒绝”,而相应的义务306是“阻止”。策略生成引擎208可以生成域特定的策略,该策略指定在请求指定等于限制值之一的属性主体(例如url)的情况下,拒绝访问网页(例如,将用户重定向到不同的网页)。作为另一示例,在目标300属性正在下载文件的情况下,条件302可以是文件的状态(例如,文件是否干净)。条件302可以将布尔运算符指定为“等于”。效果304可以是“许可”,而相应的义务306是“允许”。策略生成引擎208可以生成域特定的策略,该策略指定在请求指定具有干净状态(指示文件已经由防病毒软件扫描)的属性对象(例如文件)的情况下,许可访问文件(例如,允许用户下载文件)。虽然提供了这两个示例,但是可以基于来自请求的属性以及与该请求相对应的命名空间210的域特定的策略语法来生成任意数量的域特定的策略,包括特定于用户(或用户类型)、网络连接或客户机装置202的条件的策略等。
[0058]
策略应用引擎212可以被设计或实现为将域特定的策略应用于请求。策略应用引擎212可以将由策略生成引擎208所生成的域特定的策略应用于请求以许可或拒绝对资源206的访问。策略应用引擎212可以从策略生成引擎208接收域特定的策略。策略应用引擎212可以将域特定的策略应用于请求的属性(例如,与该请求相对应的主体、动作、对象或环境)。在将域特定的策略应用于请求之后,策略应用引擎212可以选择性地许可/拒绝对资源206的访问。继续以上示例,在该请求是访问与特定url相对应的网站的情况下,策略应用引擎212可以将域特定的策略应用于该请求以确定url是否等于限制值之一。策略应用引擎212可以拒绝访问url等于限制值之一的网页(例如,将用户重定向到不同的网页)。在请求是要下载文件的情况下,策略应用引擎212可以将域特定的策略应用于请求,以确定该文件是否已被防病毒扫描程序扫描。策略应用引擎212可以许可访问文件防病毒状态等于干净的文件(例如,允许用户下载文件)。
[0059]
现在参考图4,示出了示出用于管理对资源的访问的示例方法400的流程图。方法400的功能可以使用诸如客户机装置202、策略服务器204等的图1-3中所述的组件实现或由所述组件执行。简要概述,在步骤402,策略服务器接收请求。在步骤404,策略服务器识别命名空间的集合。在步骤406,策略服务器选择与该请求相对应的命名空间。在步骤408,策略服务器识别命名空间的域特定的策略语法。在步骤410,策略服务器生成域特定的策略。在步骤412,策略服务器将策略应用于请求。
[0060]
在步骤402,策略服务器接收请求。在一些实施例中,策略服务器可以接收访问计算环境中的资源的请求。该请求可以包括一个或多个属性。策略服务器可以响应于用户在客户机装置处提供一个或多个输入或选择来接收请求。例如,用户可以将url的输入提供给网络浏览器。用户可以在网页、文件共享系统等上提供下载文件选择的输入。客户机装置可以生成与来自用户的输入相对应的请求。客户机装置可以在请求中包括一个或多个属性。客户机装置可以基于与客户机装置相对应的数据(例如,环境)、与输入相对应的数据(例如,动作)、与用户相对应的数据(例如,主体)和/或与资源(对象)相对应的数据来识别用于包括在请求中的属性。客户机装置可以在请求中包括各种属性以传输给策略服务器。在一些实施例中,客户机装置可以在针对客户机装置所关联的租户的请求中包括租户标识符。
[0061]
在步骤404,策略服务器识别命名空间的集合。在一些实施例中,策略服务器可以识别具有域特定的策略语法的命名空间的集合以生成域特定的策略。策略服务器可以识别
对应于与客户机装置相关联的租户的命名空间的集合。策略服务器可以基于请求中包括的租户标识符来识别命名空间的集合。策略服务器可以将租户标识符与链接到相应的命名空间的集合的多个租户标识符进行交叉引用,以识别与该请求相对应的命名空间的集合。命名空间的集合可以包括本地命名空间(例如,特定于租户的命名空间)和/或全局命名空间(例如,可以由多个租户使用的命名空间)。
[0062]
在一些实施例中,命名空间的集合包括数据库命名空间、网络产品命名空间、文件访问命名空间、内容过滤命名空间、防病毒命名空间、统一资源定位符(url)浏览命名空间、和/或应用命名空间。每个命名空间可以包括与相应命名空间相关的域特定的语法。因此,数据库命名空间的域特定的语法可能不同于url浏览命名空间的域特定的语法,因为相应的资源(例如数据库、网站等)可能具有用于处理不同类型的目标的策略。在一些实施例中,命名空间的集合可以包括用户定义的命名空间。在一些实施例中,策略服务器可以接收用户定义的命名空间,以用于合并到命名空间的集合中。用户定义的命名空间可以包括与特定的用户定义的命名空间相对应的域特定的语法。策略服务器可以将用户定义的命名空间合并到命名空间的集合中。这样,命名空间可以扩展为涵盖任何数量的用例。在一些实施例中,命名空间的集合可以包括父命名空间和在相应父命名空间内的嵌套命名空间。父命名空间和嵌套命名空间可以具有各自的域特定的策略语法。例如,嵌套命名空间可以具有父命名空间的域特定的策略语法的子集。
[0063]
在步骤406,策略服务器选择与请求相对应的命名空间。在一些实施例中,策略服务器可以确定来自所识别的命名空间的集合(例如,在步骤404中)的命名空间对应于请求的属性。策略服务器可以将来自请求的属性中的至少一些与域特定的策略语法的目标属性进行交叉引用。例如,(例如,针对每个命名空间、父命名空间、嵌套命名空间等的)每个策略语法可包括至少一个目标,该目标指示与主体、对象、动作、环境等相对应的属性(例如目标属性)。策略服务器可以将来自(例如,在步骤402中接收到的)请求的属性中的至少一些与来自各个命名空间的目标属性进行交叉引用。策略服务器可以选择具有与请求的属性匹配的目标属性的命名空间。
[0064]
在步骤408,策略服务器识别命名空间的域特定的策略语法。策略服务器可以识别在步骤406中选择的命名空间的域特定的策略语法。如上所述,每个命名空间可以包括各自的域特定的策略语法。策略服务器可以识别特定于在步骤406中选择的命名空间的域特定的策略语法。在一些实施方式中,来自所选择的命名空间的域特定的策略语法包括多个类别的策略语法,例如目标、条件、效果、和义务。所选择的命名空间的域特定的语法可适用于多个资源(例如,url浏览命名空间的域特定的语法可适用于要访问的网站,防病毒命名空间的域特定的语法可适用于要下载的文件,等等)。在所确定的命名空间是嵌套命名空间(例如,内容共享命名空间的防病毒命名空间)的实施方式中,域特定的语法的子集(例如,对应于文件下载)可以适用于包括与请求相关联的资源的多个资源的子集(例如,与要传输、上传、共享等的任何文件相比,要下载的任何文件,)。
[0065]
在步骤410,策略服务器生成域特定的策略。在一些实施例中,策略服务器可以使用所确定的命名空间的域特定的策略语法来生成域特定的策略。策略服务器可以生成嵌套命名空间的域特定的策略语法,以将域特定的策略应用到请求。在识别域特定的策略语法之后,策略服务器可以生成域特定的策略。因此,策略服务器可以利用与资源相对应的域特
定的策略语法来构造应用于要由生成请求的用户访问的资源的域特定的策略。策略服务器可以使用来自请求的属性来生成域特定的策略。策略服务器可以使用域特定的策略语法(例如,目标、条件、效果和义务)来为请求生成域特定的策略。策略服务器可以(例如,基于请求的属性)生成用于应用于特定请求的域特定的策略。策略服务器可以通过从与用于从命名空间的集合中选择命名空间的目标属性(例如在步骤406)相对应的域特定的策略语法的特定类别(例如,条件、效果和义务)中进行选择来生成域特定的策略。策略服务器可以使用针对条件、效果和义务的策略语法中指定的词汇生成用于应用于请求的域特定的策略。
[0066]
在步骤412,策略服务器将策略应用于请求。在一些实施例中,策略服务器可以将所生成的域特定的策略(例如,在步骤410中生成的策略)应用于(例如,在步骤402中接收的)请求,以识别用于资源的域特定的策略的效果,以许可或拒绝对该资源的访问。例如,在请求是下载文件的请求的情况下,策略服务器可以应用与防病毒命名空间相对应的域特定的策略,该策略在文件被指示为“干净”文件时许可访问以下载文件。作为另一示例,在请求是导航到网站的请求的情况下,策略服务器可以应用与url浏览命名空间相对应的域特定的策略,该策略许可访问以导航到未包含在禁止网站(或禁止的网站类别)的列表中的网站。策略服务器可以根据效果许可或拒绝对资源的访问。
[0067]
应当理解,上述系统可以提供那些组件中的任何一个或每个组件中的多个组件,并且这些组件可以被提供在独立机器上,或者在一些实施例中,被提供在分布式系统中的多个机器上。可以使用编程和/或工程技术以产生软件、固件、硬件或其任何组合,将上述系统和方法实现为方法、设备或制品。另外,可以将上述系统和方法提供为体现在一个或多个制品上或之中的一个或多个计算机可读程序。本文所使用的术语“制品”旨在涵盖可从一个或多个计算机可读装置可得并嵌入其中的代码或逻辑、固件、可编程逻辑、存储装置(例如eeprom、rom、prom、ram、sram等)、硬件(例如,集成电路芯片、现场可编程门阵列(fpga)、专用集成电路(asic)等)、电子装置、计算机可读非易失性存储单元(例如cd-rom、usb闪存、硬盘驱动器等)。可以从文件服务器访问该制品,该文件服务器经由网络传输线、无线传输介质、在空间传播的信号、无线电波、红外信号等提供对计算机可读程序的访问。制品可以是闪存存储卡或磁带。该制品包括硬件逻辑以及嵌入在由处理器执行的计算机可读介质中的软件或可编程代码。通常,计算机可读程序可以以任何编程语言(例如lisp、perl、c、c++、c#、prolog)或任何字节代码语言(例如java)实现。软件程序可以作为目标代码存储在一个或多个制品上或之中。
[0068]
尽管已经描述了方法和系统的各种实施例,但是这些实施例是说明性的,绝不限制所描述的方法或系统的范围。相关领域的技术人员可以在不脱离所描述的方法和系统的最广泛范围的情况下对所描述的方法和系统的形式和细节进行改变。因此,本文描述的方法和系统的范围不应受到任何说明性实施例的限制,而应根据所附权利要求及其等同物来定义。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1