对具有针对包含固定数量的值的分层组织的域定义的属性的对象的访问控制的制作方法

文档序号:11450682阅读:178来源:国知局
对具有针对包含固定数量的值的分层组织的域定义的属性的对象的访问控制的制造方法与工艺

优先权要求

a.本专利申请涉及于2014年10月8日提交的、序列号为5056/che/2014的标题为“accesscontrolforobjectshavingattributesdefinedagainsthierarchicalorganizeddomainscontainingfixednumberofvalues”的共同未决的印度临时专利申请并要求该印度临时专利申请的优先权,该印度临时专利申请的完整内容在不与本文的公开内容不一致的程度上结合于此。

b.本专利申请还涉及于2015年2月23日提交的、序列号为14/628,308的、指名与本专利申请相同的申请人的、标题为“accesscontrolforobjectshavingattributesdefinedagainsthierarchicalorganizeddomainscontainingfixednumberofvalues”的美国非临时专利申请并要求该美国非临时专利申请的优先权。

本公开涉及应用服务器,并且更具体地涉及对(这样的应用服务器中)具有针对包含固定数量的值的分层组织的域定义的属性的对象的访问控制。



背景技术:

对象被用于数字地表示应用中感兴趣的任何实体。每个对象通常具有属性,其中每个属性的值表示对应实体的特性。实体可以是如相关领域中公知的诸如人、动物、组织、系统等之类的各种各样的事物。

在一些环境中,针对包含固定数量的值的域来定义属性,这意味着仅可以从对应域的值来指派属性。术语“固定”意味着对应域中的值的数量是有限的。例如,域“国家”包含对应于世界上的不同国家的有限数量的值。

域在若干环境中被方便地分层组织(为树数据结构)。例如,国家域中的每个值可以由州域进一步限定,州域同样具有固定数量的对应值(即,州的名称)。州域中的每个值又可以由城市域进一步限定,从而形成分层组织的域。作为附加说明,金融领域中的应用基于由巴塞尔银行监管委员会(bcbs)指定的诸如资产类别、产品类型等之类的分层组织的域来操作。

当对应的属性针对这样的分层组织的域来定义时,一般需要提供对于对象的访问控制。访问控制可以指定关于对象的诸如哪些用户可以访问哪些对象、何处以及何时这样的访问被允许或拒绝、对于每个用户允许或拒绝的具体动作(添加、修改、删除等)等之类的方面。

本公开的方面便于在这样的环境中的访问控制,如下文利用示例所描述的。

附图说明

参考下文简要描述的附图来描述本公开的示例实施例。

图1是示出其中可以实现本公开的若干方面的示例环境(计算系统)的框图。

图2是示出根据本公开的方面的对于对象的访问被控制的方式的流程图。

图3a绘出了在一个实施例中包含固定数量的值的域被分层组织的方式。

图3b绘出了在一个实施例中指示来自多个域/层次的有效值集合的方式。

图3c绘出了在一个实施例中使得管理员能够针对多个域/层次指定安全性规则的方式。

图4a示出了在一个实施例中使得管理员能够选择域的期望层次的用户界面。

图4b和4c中的每个图示出了在一个实施例中使得管理员能够基于所选择的层次来指定安全性规则的用户界面。

图5是示出数字处理系统的细节的框图,在该数字处理系统中本公开的若干方面是通过执行适当的软件指令可操作的。

在附图中,相同的附图标记一般指示完全相同、功能相似和/或结构相似的元件。元件首次出现的附图由对应附图标记中的最左边的(一个或多个)数字指示。

具体实施方式

1.概述

本公开的方面便于控制对具有针对分层组织的域定义的属性的对象的访问,其中每个域包含对应的固定数量的值。在一个实施例中,响应于接收到指示分层组织的域的具体层次的数据,显示每个层次中的对应域的对应固定数量的值。在(由管理员)从对应域的对应固定数量的值中选择期望的值集合后,为所选择的值集合和用户实体的组合指定安全性规则。

其后,当用户实体访问具有与所选择的值集合匹配的属性的对象时,安全性规则被实行。在一个实施例中,安全性规则允许访问具有与所选择的值集合匹配的属性的对象。照此,如果任何对应的安全性规则都不允许对于对象的访问,则该访问被拒绝。

因此,管理员可以方便地在层次的任何级别选择值,并且当具有针对该层次定义的属性的对象由具体的用户实体访问时,使得期望的安全规则被应用。这样的技术解决方案在复杂技术存储环境中尤其是相关的,在该复杂技术存储环境中,(可能在多个级别的)大量的域被用作为对象的属性指定值的基础,并且管理员期望在为各种用户实体指定访问控制时更精细的控制。

根据本公开的另一方面,响应于接收到包含对应值(作为层次中的节点)的多个层次,沿着相应的行显示(值的)多个元组。每个元组包含元素的有序序列,其中每个元素被设置为对应层次的值中的一个值,以使得元组一起表示接收到的层次中所有接收到的层次的值的笛卡尔积。为用户实体选择值通过指示与感兴趣的元组集合对应的行来执行。相应地,当具有与所选择的感兴趣的元组中的任何元组匹配的属性的对象由用户实体访问时,实行与该选择结合指定的安全性规则。

根据本公开的另一个方面,沿着第一维度显示(对应于元组的)行,而沿着第二维度显示包括上面指出的用户实体的用户实体集合。相应地,使得管理员能够为每个用户实体选择感兴趣的行/元组的对应集合。当具有与所选择的感兴趣的元组/行中的任何元组/行匹配的属性的对象由对应的用户实体访问时,实行与该选择结合指定的安全性规则。

根据本公开的又一方面,显示在笛卡尔积(如上面所指出的)中表示元组的数据映射。沿着数据映射的对应维度显示(接收到的)多个层次中的每个层次的值。相应地使得管理员能够指示(来自所显示的元组的)有效元组集合,其中每个有效元组表示可以被指派给对象的属性的对应值集合。响应于管理员指示有效元组,仅将所指示的有效元组显示为沿着第一维度的行(如上面所指出的)。

根据本公开的方面,响应于管理员从具有值作为节点的第一层次中选择第一值集合(如上面所指出的)以及然后从具有用户实体作为节点的第二层次中选择用户实体集合,沿着相应的行显示从所选择的值和用户实体形成的多个元组。每个元组在第一位置和第二位置处具有分别作为所选择的用户实体集合和所选择的值集合之一的集合的元素,以使得元组一起表示所选择的值集合和所选择的用户实体集合的笛卡尔积。管理员相应地通过选择在第一位置中具有期望的用户实体并且在第二位置中具有期望的值的行/元组来指定(如上面所指出的)安全性规则。

根据本公开的另一个方面,(从层次中)对值的选择包括(在层次中的较高级别的)域的值和指示在选择中在值下面是否包括(在层次中相对于该较高级别的较低级别的)子域的后代标志。如果后代标志指示要包括子域,则所选择的值集合(该值集合被用于确定要对其实行安全性规则的对象)包括第一域的值并且还包括层次中该值下面的子域的值,但是否则仅包括该域的值。

根据本公开的另一方面,对象被存储在关系数据库服务器中,并且使用sql(结构化查询语言)查询来执行对于对象的访问,其中由用户实体对第一对象的访问使用第一sql查询来执行。通过向第一sql查询的where子句追加(append)条件来执行安全性规则的实行,其中该条件被设计为检查对象的属性是否与(被指定为安全性规则的一部分的)所选择的值集合匹配。

为了说明,下文参考示例描述本公开的若干方面。然而,相关领域的技术人员将认识到,可以在没有具体细节中的一个或多个具体细节的情况下或者利用其它方法、组件、材料等来实践本公开。在其它实例中,没有详细示出公知的结构、材料或操作,以避免使本公开的特征模糊。此外,可以以各种组合来实践所描述的特征/方面,但是为了简洁本文仅描述这些组合中的一些组合。

2.示例环境

图1是示出其中可以实现本公开的若干方面的示例环境(计算系统)的框图。框图被示为包含终端用户系统110a-110z、因特网120、内联网130、服务器系统140a-140c、管理员系统150以及数据存储库180a-180b。

仅仅为了说明,在附图中仅示出了代表性数量/类型的系统。依赖于环境被设计的目的,许多环境常常包含在数量和类型方面都多得多的系统。下面更详细地描述图1的每个系统/设备。

内联网130表示提供全部在企业(以虚线边界示出)内提供的服务器系统140a-140c、管理员系统150和数据存储库180a-180b之间的连接的网络。因特网120扩展这些(以及企业的其它系统)与诸如终端用户系统110a-110z之类的外部系统的连接。内联网140和因特网120中的每一个可以使用相关领域中公知的诸如传输控制协议(tcp)和/或因特网协议(ip)之类的协议来实现。一般而言,在tcp/ip环境中,ip分组被用作基本运输单元,其中源地址被设置为被指派给分组源自其的源系统的ip地址,而目的地地址被设置为分组将最终被递送到的目的地系统的ip地址。

当分组的目的地ip地址被设置为目的地系统的ip地址时,ip分组被称为指向目的地系统,以使得分组最终由网络120和130递送到目的地系统。当分组包含诸如指定目的地应用的端口号之类的内容时,分组也可以被称为指向这样的应用。可能要求目的地系统保持对应的端口号可用/打开,并且用对应的目的地端口来处理分组。因特网120和内联网130中的每一个可以使用基于有线的介质或无线介质的任何组合来实现。

数据存储库180a-180b中的每一个表示便于在企业的其它系统(诸如服务器系统140a-140c和管理员系统150)中执行的企业应用存储和检索数据集合的非易失性(持久性)存储装置。数据存储库180a-180b中的一些数据存储库可以使用关系数据库技术被实现为数据库服务器,并且相应地使用诸如sql(结构化查询语言)之类的结构化查询来提供数据的存储和检索。其它数据存储库可以被实现为以被组织为一个或多个目录的文件的形式提供数据的存储和检索的文件服务器,如相关领域中公知的。

在一个实施例中,在数据存储库180a-180b中维护的数据作为对象被建模(并且相应地由企业应用访问)。如公知的,对象包含各种属性,其中对象的实例(“对象实例”)具有用于相应属性的对应值。当被存储在关系数据库系统中时,对象可以对应于一个或多个表,其中每个属性对应于(一个或多个)这样的表的相应列,并且每个对象实例对应于(一个或多个)这样的表中的行。

终端用户系统110a-110z中的每一个表示由用户用来生成和发送指向企业的具体系统的用户请求的系统,诸如个人计算机、工作站、移动站、移动电话、计算平板等。可以使用适当的用户界面(例如,由在企业中执行的应用提供的网页)来生成用户请求。例如,用户可以向在服务器系统140a-140c中执行的企业应用发送用于执行各种任务的用户请求,并且从服务器系统接收任务的执行结果。

服务器系统140a-140c中的每一个表示诸如web/应用服务器之类的服务器,该服务器执行能够执行由用户使用终端用户系统110a-110z请求的任务的企业应用。响应于接收到来自终端用户系统的请求,每个服务器系统执行请求中指定的任务,并且将任务的执行结果发送到发出请求的终端用户系统。在执行这样的任务时,每个服务器系统可以使用内部(例如,在服务器内的非易失性存储装置/硬盘中)存储的数据、外部数据(例如,在数据存储库180a-180b中维护的数据)和/或从外部源(例如,从用户)接收的数据。

可以理解的是,服务器系统140a-140c中的每一个使用被建模为具有属性的对象的数据。为了执行任务,服务器系统可以作为任务的一部分访问一个或多个对象并且对对象执行各种动作(诸如添加、编辑、删除)。出于安全性原因,一般期望在执行用户请求的任务期间控制对于对象的访问。照此,响应于(由用户使用终端用户系统110a-110z中的一个终端用户系统生成的)用户请求,仅当用户被允许访问执行任务所需的对象时才执行请求中指定的任务。

控制对于对象的访问存在若干挑战。企业应用通常对大量/类型(在1000+范围内)的对象进行操作,并且相应地为了指定和实现访问,控制如此大量对象的访问都是困难的。此外,与仅仅基于对象(例如,account(账户))的类型相反,可能需要基于与对象的属性关联的值(例如,包含被设置为值“savings(储蓄)”的属性“类型”以及被设置为值“india(印度)”的属性“国家”的account)来允许/拒绝对于对象中的一些对象的访问。

根据本公开的若干方面提供的管理员系统150便于对具有针对包含固定数量的值的分层组织的域定义的属性的对象的访问控制,如下文利用示例所描述的。

3.对于对象的访问控制

图2是示出根据本公开的方面的对于对象的访问被控制的方式的流程图。仅仅为了说明,参考图1,特别是管理员系统150来描述流程图。然而,如通过阅读本文提供的公开内容对于相关领域的技术人员将明显的,在不背离本公开的若干方面的范围和精神的情况下,特征中的许多特征还可以在其它环境中(并且潜在地使用其它类型的系统/服务器)实现。

此外,如对于相关领域的技术人员将明显的,可以以适合于具体环境的、与下面绘出的不同的次序执行步骤中的一些步骤。预期由本公开的若干方面覆盖这样的实施方式中的许多实施方式。该流程图在步骤201开始,在步骤201中控制立即传递到步骤210。

在步骤210中,管理员系统150接收指示分层组织的域的多个层次的数据。管理员可以选择期望作为控制对感兴趣的各种对象的访问的基础的那些层次。可替代地,可以从终端用户系统110a-110z中的一个终端用户系统接收(作为用户请求的)数据。

在步骤230中,管理员系统150在层次中的每个层次中显示域的固定数量的值。域的值可以在与管理员系统150或发出请求的终端用户系统(110a-110z)相关联的显示单元中以任何方便的方式显示。在下面的部分中描述用于显示值的一些样例用户界面。由于值的数量是固定的,因此可以使用若干已知方法中的任何方法来确定对应的信息。例如,用于每个域的固定数量的值可以在管理员可用的元数据中指示。

在步骤250中,管理员系统150(例如,从用户/管理员)接受对每个层次中的域的值的选择。管理员可以选择在对应层次内的不同级别的一个或多个值,并且相应地在管理员系统150内接收该选择。较高级别的值的选择可以暗含包括层次中的较低级别的所有域。在一个实施例中,使得管理员能够选择较高级别的值,并且使用后代标志来指示所选择的值下面的较低级别的子域(中的值)是否将被包括在选择中。

在步骤270中,管理员系统150(例如,响应于从管理员接收的输入)指定用于用户实体和所选择的值集合的组合的安全性规则。用户实体可以是适于对应目标的单个用户或(基于角色、头衔等定义的)用户组。安全性规则还可以被选择为与目标一致。安全性规则的示例包括允许或拒绝访问、对各种动作的授权等,如相关领域的技术人员通过阅读本文提供的公开内容将明显的。

可以理解的是,用户实体可以对应于在步骤250和270中提供输入的用户/管理员。此外,虽然流程图被示为定义单个安全性规则,但是应当理解的是,步骤210-270可以迭代地执行,以定义为每个用户实体实现期望的访问控制的安全性规则集合。

在步骤290中,其后,当具有与所选择的值集合匹配的属性的对象试图由对应的用户实体访问时,实行所指定的(一个或多个)安全性规则。换句话说,当用户实体为了执行动作而尝试访问对象时,基于对象的属性和在安全性规则中指定的对应的所选择的值集合来确定适用于对象的(根据步骤210-270定义的)安全性规则。然后可以应用适用的安全性规则,以检查用户实体是否应当被允许完成对指定对象的访问/动作。在下面的描述中,假设安全性规则允许对具有与所选择的值集合匹配的属性的对象的访问,以使得仅当任何对应的安全性规则都不允许对于对象的访问时才拒绝该访问。

在实施例中,服务器系统140a中的企业应用可以被设计为响应于来自终端用户系统110a/110b的各种请求而生成指向数据存储库180a/180b的sql查询。服务器系统140a向这样的sql查询的where子句追加条件,其中该条件从步骤270中指定的所选择的值集合形成。相应地,访问控制在服务器系统中实现,而不需要对在数据存储库180a/180b中实现的任何数据库类型技术进行改变。该流程图在步骤299中结束。

因此,通过使得管理员能够为用户实体和(被指派给对象的属性的)值的不同集合的组合指定安全性规则,简化了对大量/类型的对象的访问的控制。此外,还便于基于属性的值的访问。下文利用示例来示出根据图2管理员系统150可以执行对于对象的访问控制的方式。

4.说明性示例

图3a-3c和4a-4c一起示出了在一个实施例中的提供对具有针对包含固定数量的值的分层组织的域定义的属性的对象的访问控制的方式。下面详细描述附图中的每个附图。

图3a绘出了在一个实施例中的包含固定数量的值的域被分层组织的方式。特别地,树310绘出了域的层次,其中根是该层次的名称“法人实体”。应当指出,名称以符号方式(以虚线)示为根,以指示所有域(和对应的值)属于同一个层次。

“法人实体”层次被示为具有包含值“xyz银行公司(xyz-bank-inc)”、“xyz投资(xyz-investments)”和“xyz亚洲银行有限公司(xyz-bank-asia-limited)”的(在级别1的)第一域。值“xyz亚洲银行”被示为由包含“xyz新加坡银行(xyz-bank-singapore)”和“xyz印度银行(xyz-bank-india)”的值的子域(该子域与第一域相比处于较低的级别)进一步限定。可以理解的是,被示为树310的节点(除根之外)的值中的任何值可以被指派给对象的属性。换句话说,对象的属性可以被设置为值“xyz银行”、“xyz投资”、“xyz亚洲银行有限公司”、“xyz新加坡银行”和“xyz印度银行”中的任何一个。

类似地,树320绘出了具有作为层次名称“区域”的符号根的域的层次。树320被示为具有包含值“北美”和“其它”的(在级别1的)第一域,并且其中这些值中的每个值由较低级别的相应子域进一步限定。可以理解的是,企业应用可以具有大量相似的分层组织的域(该域具有更多级别),每个域包含固定数量的值。

管理员系统150可以响应于管理员选择域的这样的层次(例如,310、320等)而接收这些层次。然后管理员系统150在与管理员系统150相关联的显示单元中显示域的值。可替代地,层次可以作为来自终端用户系统110a-110z中的一个终端用户系统的用户请求被接收,并且管理员系统150然后在与发出请求的终端用户系统相关联的显示单元中提供显示。

根据本公开的方面,管理员系统150便于管理员首先指示可以被指派给存储在数据存储库180a-180b中的对象的属性的有效值集合,并且然后为期望的有效集合和用户实体的组合指定安全性规则。下面首先描述可以指示有效值集合的方式,然后描述可以基于这样指示的值集合来指定安全性规则的方式。

5.指示有效的值集合

图3b绘出了在一个实施例中的指示来自多个域/层次的有效值集合的方式。特别地,响应于接收到包含对应值的多个层次,管理员系统150显示数据映射,其中(接收到的)层次中的每个层次的值沿着数据映射的对应维度显示。换句话说,数据映射表示(值的)元组,每个元组包含元素的有序序列,其中每个元素被设置为对应层次的值中的一个值,以使得元组一起表示接收到的层次中的所有接收到的层次的值的笛卡尔积。

正如公知的,域/值集合的笛卡尔积被定义为来自域的值的n元组的集合,其中每个n元组包含来自每个域/集合的一个值。因此,对于两个域a和b,笛卡尔积被定义为所有2元组的集合,其中每个2元组包含来自域a的值,并且还包含来自域b的值。元组的数量等于每个域中的值的数量的乘积(即,如果域a包含m个值并且域b包含n个值,则是m×n)。

在一个实施例中,响应于接收到值的第一层次和第二层次,管理员系统150将第一层次的值显示为二维矩阵的行(第一维度),并且将第二层次的值显示为二维矩阵的列(第二维度)。假设图3a中所示的树310和320作为层次被接收以用于指定安全性规则来继续描述。

表340绘出了由管理员系统150响应于接收到树310和320而显示的二维矩阵/数据映射。可以观察到,树310中的域的值被示为表340的行(第一维度),而树320中的域的值被示为表340的列(第二维度)。表340中的单元格中的每个单元格表示值的元组,其中元组的第一个值来自树310,而元组的第二个值来自树320。

管理员执行对要作为安全性规则的基础的有效元组/值集合的选择。例如,管理员可以选择表340中所示的(如由对应单元格中的对号所指示的)单元格,诸如(“xyz银行公司”,“美国”)、(“xyz银行公司”,“加拿大”)、(“xyz投资银行”,“英国”)、(“xyz新加坡银行”,“新加坡”)和(“xyz印度银行”,“印度”)。所选择的值集合表示可以被指派给存储在数据存储库180a-180b中的对象的(对应)属性的有效元组。

因此,管理员指示具体的有效元组/值集合。可以理解的是,虽然上面仅示出了两个层次,但是本公开的特征可以被扩展到多个(多于两个)层次,其中数据映射以适当的方式(例如,用于三维的多个表)被显示为n维矩阵,如通过阅读本文的公开内容对于相关领域的技术人员将明显的。应当指出,有效元组还可以以任何其它方便的方式来指示。例如,有效对可以被预先指定为配置数据的一部分,然后管理员系统150基于这样的配置数据来生成(下面描述的)表360的接口,而不提供表340的接口。

其后,管理员可以为期望的/所选择的用户实体指定安全性规则(例如,允许访问具有所选择的值的对象)。下文利用示例来描述管理员系统150使得管理员能够基于所选择的层次中的值来指定安全性规则的方式。

6.为用户实体指定安全性规则

图3c绘出了在一个实施例中使得管理员能够针对多个域/层次来指定安全性规则的方式。特别地,响应于接收到包含对应值的多个层次,管理员系统150将(值的)多个元组显示为沿着第一维度(例如,二维矩阵的行)的相应的行,而多个用户实体沿着第二维度(例如,二维矩阵的列)被显示。假设用户实体对应于在企业应用中定义的用户组来继续描述。

表360绘出了由管理员系统150响应于接收到图3a中所示的树310和320的层次以及指示感兴趣的各个用户组而显示的二维矩阵。可以观察到,仅仅表340中的由管理员指示的有效元组/值集合被示为表360的行,而感兴趣的(如由管理员指示的)用户组被示为表360的列。然而,在替代实施例中,笛卡尔积中的所有元组(即,包括无效的元组)可以沿着第一维度被显示,由此使得管理员能够指定值和用户实体的元组的任何期望组合。

因此,表中的单元格中的每个单元格表示值的组合,其中组合的第一个值来自树310,组合的第二个值来自树320,并且组合的第三个值来自用户组(ug1、ug2等)。每个单元格还可以被视为从对应于行的笛卡尔积的2元组到对应于列的用户组的映射。

管理员可以通过指示值的组合(即,表360中的单元格)来执行用于用户实体(这里是用户组)的值的选择,然后为(在行中)所选择的值和(沿着列的)用户实体的组合指定安全性规则。例如,管理员可以选择(如由对应单元格中的对号所指示的)期望的单元格/三元组,如表360中所示。可以理解的是,单元格365中的选择指示具有与2元组(“xyz银行公司”,“加拿大”)匹配的属性的对象对于属于用户组ug3的用户被允许访问。

由管理员在表360中指定的安全性规则可以被存储在非易失性存储装置(诸如数据存储库180a-180b)中,并且其后在服务器系统140a-140c处理从终端用户系统110a-110z接收的用户请求时被检索和实行。例如,响应于(在服务器系统中执行的)企业应用接收到来自终端用户系统的用户请求,企业应用可以识别出该用户请求是从第一用户实体(例如,ug1)接收的,并且需要访问第一对象以处理该用户请求。

然后,企业应用(或者诸如授权应用之类的公共应用)可以(基于第一对象的属性针对其定义的层次与安全性规则中指定的层次的匹配)确定适用于第一对象的安全性规则集合。例如,如果第一对象具有分别针对层次“法人实体”和“区域”定义(并且相应地被指派来自这两个层次的值)的两个属性,则在表360中为用户实体ug1指定的安全性规则可以被包括在适用的安全性规则集合中。

如果第一对象的两个属性(如上面所指出的)具有与在表360中对于用户实体ug1所指示的值对(单元格)中的任何值对匹配的(已存储的)值,则可以允许企业应用访问第一对象(并且相应地处理用户请求)。换句话说,如果两个属性具有对(“xyz银行公司”,“美国”)和(“xyz新加坡银行”,“新加坡”)中的任何对,则访问被允许。假设安全性规则允许对具有与所选择的值集合匹配的属性的对象的访问,以使得仅当任何对应的安全性规则都不允许对于对象的访问时才拒绝该访问。

因此,使得管理员能够指定用于多个用户实体的安全性规则。下文利用示例描述为了便于安全性规则的指定可以提供的一些样例用户界面。

7.样例用户界面

图4a-4c绘出了在一个实施例中的为了便于安全性规则的指定可以被提供的样例用户界面。每个图的显示区域400绘出了在与管理员系统150相关联的显示单元(图1中未示出)上提供的用户界面的一部分。在一个实施例中,每个显示区域对应于显示由管理员系统150提供的相应网页的浏览器。网页是响应于企业的管理员使用管理员系统150中的浏览器发送适当的请求来提供的。

可以理解的是,图3b和图3c的矩阵/表340和360可以类似地被提供为用户界面的一部分。例如,表340/360可以连同图4b-4c的用户界面中所示的其它信息被提供,如通过阅读本文的公开内容对相关领域的技术人员将明显的。下面详细描述图4a-4c中的每一个。

图4a示出了在一个实施例中的使得管理员能够选择域的期望层次的用户界面。显示区域410使得管理员能够指定安全性规则的名称、描述和其它细节。可以观察到,映射类型被示为被选择为“安全性过滤器”,这指示管理员正在选择用于指定安全性规则的层次。

相应地,显示区域415显示在企业应用中定义的(并且可选择的)层次/域的名称,而显示区域420显示由管理员(从显示区域415中示出的列表)选择的层次/域的名称。可以观察到,显示区域420指示管理员已经选择了风险层次以及用户组层次。响应于管理员点击/选择“保存”按钮425,管理员系统150将显示区域420中的层次识别为从管理员接收的层次,并且相应地显示在(显示区域420的)管理员选择的层次中的域的值。下面利用示例描述可以显示值的方式。

图4b和4c中的每一个示出了在一个实施例中的使得管理员能够基于所选择的层次来指定安全性规则的用户界面。参考图4b,响应于管理员选择图4a的显示区域420中的层次,显示区域430被显示。显示区域460和465中的每一个绘出了显示所选择的层次中的一个层次的值的对应面板。显示区域460被示为显示来自“风险层次”的值,而显示区域465被示为显示来自“用户组”的值。一般而言,显示区域430包含与由管理员选择的层次数量(即,显示区域420中的项的数量)相等的若干面板。

可以观察到,所选择的层次中的域的值在显示区域460和465中以对应的树结构的形式显示。树结构中的每个节点被示为与复选框相关联,这便于管理员从所显示的层次的各个域中选择期望的值。管理员可以(通过点击/选择对应的复选框)选择显示区域430中的(来自层次的)值和用户组的期望组合,并且点击/选择“前往(go)”按钮435,以使得该组合在显示区域440中作为安全性规则被添加(并且显示)。

应当指出,管理员可以重复地执行选择值和选择按钮435的上述动作,以添加多个安全性规则。在一个实施例中,管理员从显示区域430中示出的层次(诸如460和465)选择具体的值,并且响应于点击“前往”按钮,管理员系统150从所选择的值生成元组。可以理解的是,由于管理员一般将选择(其组合)有可能被指派给对象的属性的值,因此在显示区域440中仅示出有效元组。

显示区域440便于管理员基于所选择的层次/域中的值来指定安全性规则。显示区域440被示为显示分别从层次460和465中选择的值和用户实体的笛卡尔积。可以理解的是,显示区域440中的每个行表示可以由管理员指定的可能的安全性规则。

显示区域440中的每个行/安全性规则指示从域“风险层次”中选择的值(例如,“信用风险”)、指示安全性规则是仅适用于域值(选项“自身”)还是适用于该值下面的所有较低级别域(选项“自身&后代”)的第一个宏、规则对其适用的用户组/实体(例如,“授权者”)以及指示规则是仅适用于组(选项“自身”)还是适用于组的所有后代(选项“自身&后代”)的第二个宏。每行还在“已排除”列下指示用户组被允许访问(选项“否”)还是被拒绝访问(选项“是”)。

可以理解的是,与域值相关联的(第一个)宏充当指示在值的选择中是否包括域值下面的子域的后代标志。例如,为值“信用风险”指定的选项“自身”指示安全性规则仅适用于该值(即,选择仅包括值“信用风险”),而为值“市场风险”指定的选项“自身&后代”指示安全性规则适用于该值以及该值下面的子域中的所有值(即,选择包括值“市场风险”以及“市场风险”下面的子域中的所有值)。

还可以理解的是,安全性规则中的大多数安全性规则指示在属性与所选择的值集合匹配时将允许访问(在“已排除”列下的选项“否”)。相应地,管理员系统150允许对具有与所选择的值集合匹配的属性的对象的访问,并且如果任何对应的安全性规则都不允许对于对象的访问,则拒绝该访问。可替代地,如果利用对应的值指定安全性规则并且在“已排除”列中选择选项“是”,则管理员系统150拒绝对于对象的访问。

然后管理员可以(通过选择对应的复选框)选择期望的安全性规则,并且点击/选择“保存”按钮445,以使得规则被存储在非易失性存储装置(诸如数据存储库180a-180b)中。其后,当服务器系统140a-140c处理从终端用户系统110a-110z接收的用户请求时,可以检索和实行安全性规则,如上文所指出的。

图4c示出了类似于图4b的用户界面,但是向管理员提供了首先选择用户组、然后选择来自不同域的值的期望组合的能力。因此,显示区域470类似于显示区域430,但是先示出用户组的面板/层次,再示出所选择的“风险层次”的面板/层次。再次,管理员可以从用户组层次中选择期望的用户实体的组合以及来自其它层次的值的对应选择,并且(通过点击“前往”按钮)作为对应的安全性规则添加该组合。显示区域480类似于显示区域440,并且基于所选择的层次/域中的值来显示安全性规则的可能列表。然而,显示区域480中的每个行/安全性规则被示为首先是指定的用户组,然后是“资产类型”(所选择的值)。

可以观察到,显示区域480中的第二和第三个行/安全性规则指示用户实体“管理员”将被允许访问(“已排除”列下的选项“否”)具有与值“信用风险”或子域中的值中的任何值(在第二个“宏”列下的选项“自身&后代”)匹配的属性的对象,但是将被拒绝访问(选项“是”)具有与(在值“信用风险”下面的子域中的)值“cva-标准方法”匹配的属性的对象。换句话说,第二和第三安全性规则操作以仅允许访问具有与“信用风险”或“信用风险”下面的子域中的任何其它值但排除值“cva-标准”匹配的属性的那些对象。

因此,便于管理员控制对具有针对包含固定数量的值的分层组织的域定义的属性的对象的访问。特别地,通过为(被指派给对象的属性)不同的值集合和用户实体的组合指定安全性规则,简化了控制对大量/类型的对象的访问的任务。

应当理解的是,上文描述的特征在各种实施例中可以被实现为硬件、可执行模块和固件中的一个或多个的期望组合。继续关于如下实施例的描述:在该实施例中当可执行模块中的指令被执行时各种特征是可操作的。

8.数字处理系统

图5是示出数字处理系统500的细节的框图,在数字处理系统500中本公开的若干方面是通过适当的软件指令的执行可操作的。数字处理系统500对应于可以从其提供上文描述的各种特征的管理员系统150或其它系统(例如,终端用户系统110a-110z)。

数字处理系统500可以包含一个或多个处理器(诸如中央处理单元(cpu)510)、随机存取存储器(ram)520、辅助存储器530、图形控制器560、显示单元570、网络接口580和输入接口590。除了显示单元570之外的所有组件可以经通信路径550彼此通信,路径550可以包含相关领域中公知的若干总线。下面更详细地描述图5的组件。

cpu510可以执行存储在ram520中的指令,以提供本公开的若干特征。cpu510可以包含多个处理单元,其中每个处理单元潜在地被设计为用于具体的任务。可替代地,cpu510可以仅包含单个通用处理单元。ram520可以使用通信路径550从辅助存储器530接收指令。

ram520被示为当前包含构成共享环境525和/或用户程序526(诸如企业应用、授权应用等)的软件指令。共享环境525包含由用户程序共享的实用程序,并且这样的共享的实用程序包括提供用于执行用户程序的(公共)运行时环境的操作系统、设备驱动程序、虚拟机、流引擎等。

图形控制器560基于从cpu510接收的数据/指令来向显示单元570生成(例如,以rgb格式的)显示信号。显示单元570包含显示屏幕,以显示由显示信号定义的图像(诸如图3b-3c和图4a-4c的用户界面的部分)。输入接口590可以对应于可用于提供各种输入(诸如在图3b-3c和图4a-4c的用户界面中指定期望的输入等等)的键盘和指向设备(例如,触摸板、鼠标)。网络接口580提供到网络的(例如,使用因特网协议的)连接,并且可以被用于与其它连接的系统(诸如服务器系统140a-140c、数据存储库180a-180b)通信。

辅助存储器530表示非暂态介质,该非暂态介质可以存储数据(例如,图3a中示出的数据的部分)和软件指令(例如,用于执行图2的步骤的软件指令),以使得数字处理系统500能够提供根据本公开的若干特征。存储在辅助存储器530中的代码/指令可以为了较高的执行速度在由cpu510执行之前被复制到ram520,或者可以由cpu510直接执行。

辅助存储器530可以包含硬盘驱动器535、闪存存储器536和可移除存储驱动器537。可以在可移除存储单元540上提供数据和指令中的一些或全部,并且数据和指令可以由可移除存储驱动器537读取并且提供给cpu510。可移除存储单元540可以使用与可移除存储驱动器537兼容的介质和存储格式来实现,以使得可移除存储驱动器537可以读取数据和指令。因此,可移除存储单元540包括具有存储在其中的计算机软件和/或数据的计算机可读(存储)介质。然而,计算机(或一般地说,机器)可读介质可以以其它形式(例如,不可移除的、随机存取的等)。

在本文档中,术语“计算机程序产品”一般被用于指代安装在硬盘驱动器535中的可移除存储单元540或硬盘。这些计算机程序产品是用于向数字处理系统500提供软件的装置。cpu510可以检索软件指令,并且执行指令,以提供上文描述的本公开的各种特征。

如本文所使用的术语“存储介质”是指存储使得机器以特定方式操作的数据和/或指令的任何非暂态介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘、磁盘或固态驱动器,诸如存储存储器530。易失性介质包括动态存储器,诸如ram520。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、cd-rom、任何其它光学数据存储介质、具有孔的图案的任何物理介质,ram、prom和eprom、flash-eprom、nvram、任何其它存储器芯片或盒式磁带(cartridge)。

存储介质不同于传输介质但是可以与传输介质结合使用。传输介质参与在存储介质之间传送信息。例如,传输介质包括同轴线缆、铜线和光纤,它们包括包含总线550的线。传输介质还可以采取声波或光波的形式,诸如在无线电波通信和红外数据通信期间生成的声波或光波。

根据本发明的实施例,提供了一种计算系统,该计算机系统可以实现上面的特征、功能或步骤中的一些或全部。计算系统可以对应于如上所述的数字处理系统500。

计算系统可以包括输入接口,通过该输入接口从用户实体(例如终端用户系统)接收指示分层组织的域的多个层次的数据。计算系统还可以包括显示单元,该显示单元被配置为例如在图形控制器的控制下显示所述多个层次的每个层次中的对应域的值。计算系统还可以经由输入接口接收从所显示的对应域的值中选择第一值集合的输入、以及为所述第一值集合和用户实体的组合指定安全性规则的输入。计算系统还可以包括一个或多个处理器,该一个或多个处理器被配置为在具有与所述第一值集合匹配的属性的对象由所述用户实体访问时实行所述安全性规则。

显示单元可以沿着相应的行显示多个元组,其中每个元组包含元素的有序序列。每个元素被设置为所述多个层次中的对应层次的值中的一个值,以使得所述多个元组一起表示所述多个层次中的所有层次的值的笛卡尔积。选择第一值集合的输入可以指示与包含在所述多个元组中的感兴趣的元组集合对应的第一行集合。该一个或多个处理器还可以被配置为针对具有与所述感兴趣的元组集合中的任何元组匹配的属性的对象实行所述安全性规则。

显示单元还可以被配置为沿着第一维度显示所述行并且沿着第二维度显示包括所述用户实体的多个用户实体。选择第一值集合的输入可以为所述多个用户实体中的每个用户实体指示对应的感兴趣的行集合,其中为所述用户实体指示所述第一行集合。该一个或多个处理器还可以被配置为在具有与对应于所述所选择的感兴趣的行集合的元组中的任何元组匹配的属性的对象由对应的用户实体访问时,实行所述安全性规则。

显示单元还可以被配置为显示表示所述多个元组的数据映射,其中沿着所述数据映射的对应维度显示所述多个层次中的每个层次的值。计算系统还可以经由输入接口从所述用户接收包含在所述多个元组中的有效元组的集合,每个有效元组表示可以被指派给对象的属性的对应值集合。显示单元还可以被配置为仅将所述有效元组的集合显示为沿着所述第一维度的所述行。

优选地,所述多个层次包括第一层次和第二层次,所述第一层次具有多个值作为节点,并且所述第二层次具有多个用户实体作为节点。所述第一值集合由所述用户从所述多个值中选择,其中所述用户还选择所述多个用户实体中的用户实体集合。显示单元还可以被配置为响应于所述第一值集合和所述用户实体集合的所述选择而沿着相应的行显示多个元组,其中每个元组包含元素的有序序列。在所述有序序列中的第一位置和第二位置处的元素分别被设置为所述用户实体集合中的一个用户实体和所述第一值集合中的一个值,以使得所述多个元组一起表示所述第一值集合和所述用户实体集合的笛卡尔积。计算系统可以通过根据用户输入选择与所述多个元组中的第一元组集合对应的行来指定所述安全性规则,其中所述第一元组集合中的每个元组具有在所述第一位置中的所述用户实体以及在所述第二位置中的所述第一值集合中的一个值。

选择第一值集合的输入可以包括所述第一层次中的第一域的第一值和后代标志,其中所述第一域在所述第一层次中的较高级别,其中所述第一值与在所述第一层次中的相对于所述较高级别的较低级别的子域相关联。所述后代标志指示在所述选择中是否包括所述第一值下面的子域。如果所述后代标志指示子域将被包括在所述选择中,则选择第一值集合的输入还可以在所述第一值集合中包括所述第一域的值和所述第一值下面的子域,否则仅包括所述第一域的值。

优选地,所述安全性规则允许对具有与所述第一值集合匹配的属性的对应对象的访问,其中,如果任何对应的安全性规则都不允许对于对象的访问,则拒绝该访问。所述对象可以被存储在关系数据库服务器中,并且对所述对象的访问是使用sql(结构化查询语言)查询来执行的,其中由所述用户实体对第一对象的访问是使用第一sql查询来执行的。该一个或多个处理器还被配置为向所述第一sql查询的where子句追加条件,所述条件被设计为检查所述对象的属性是否与所述第一值集合匹配。

本领域技术人员应当理解,被包括在计算系统中的上面的组件可以与参考图5描述的组件相同或不同。被包括在计算系统中的组件可以被组合或被分开成子块,以实现如上文描述的本发明的先前的实施例。因此,本文的描述可以支持本文描述的这些组件的任何可能的组合或分开或进一步定义。

贯穿本说明书对“一个实施例”、“实施例”或类似语言的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”和类似语言的出现可以但不一定都指代同一实施例。

此外,在一个或多个实施例中可以以任何合适的方式组合本公开的所描述的特征、结构或特性。在上面的描述中,提供了诸如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例之类的许多具体细节,以提供对本公开的实施例的透彻理解。

9.结论

虽然上文描述了本公开的各种实施例,但是应当理解的是,它们仅仅作为示例而不是限制被给出。因此,本公开的宽度和范围不应当由上文描述的示例性实施例中的任何示例性实施例限制,而是应当仅根据以下权利要求和它们的等价物来限定。

应当理解,附件中示出的强调本公开的功能和优点的附图和/或屏幕截图仅仅是为了示例的目的而给出的。本公开是足够灵活的和可配置的,以使得它可以以不同于附图中示出的方式被利用。

此外,以下摘要的目的是使得专利局和公众,一般并且特别是不熟悉专利或法律术语或措辞的本领域科学家、工程师和从业者,能够通过粗略检查而快速确定本申请的技术公开的本质和实质。摘要不旨在以任何方式限制本公开的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1