首页> 中国专利> 带有活动角色的基于角色的访问控制模型的方法和系统

带有活动角色的基于角色的访问控制模型的方法和系统

摘要

一种通过基于角色的访问控制模型管理对资源的访问的方法、系统、设备以及计算机程序产品,基于角色的访问控制模型包括使用角色过滤器和能力过滤器的动态更新功能。为每个角色定义一个角色过滤器,而不是直接将每个用户与某个角色联系起来。通过评价角色过滤器确定与给定角色匹配的用户,并且将匹配的用户自动与给定的角色联系起来。除角色过滤器之外,每个命名的角色均包含一组能力。每种能力包括一组访问条件和一个能力过滤器。每个访问条件包括一组权限。管理员可以定义每种能力的能力过滤器,而不是直接将每种资源与一种能力联系起来。当添加、删除或更改目标实例时,重新评价能力过滤器以保持适当的关系集合。

著录项

  • 公开/公告号CN1537262A

    专利类型发明专利

  • 公开/公告日2004-10-13

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN02810345.9

  • 发明设计人 P·D·格里芬;G·科莱;G·A·威尔逊;

    申请日2002-05-08

  • 分类号G06F1/00;

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人于静;李峥

  • 地址 美国纽约

  • 入库时间 2023-12-17 15:39:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-09-01

    未缴年费专利权终止 IPC(主分类):G06F1/00 授权公告日:20060524 申请日:20020508

    专利权的终止

  • 2006-05-24

    授权

    授权

  • 2004-12-29

    实质审查的生效

    实质审查的生效

  • 2004-10-13

    公开

    公开

说明书

技术领域

本发明涉及经过改进的数据处理系统,确切地说,涉及使用数据库的方法和系统。更确切地说,本发明提供根据特定数据模型管理对资源的访问的方法和系统。

背景技术

分布式系统内部的安全管理一直是令人头痛的问题。公司职员需要以安全方式访问应用和资源。然而,在任何给定时间段内,应用的安装、删除;公司内员工的流动导致了人员(包括临时雇员)的增加、解雇或内部调动;资源的增加、删除或组织内的移动,包括逻辑上或物理上的移动;以及项目的外包,要求承包商对组织的数据系统具有有限的访问权限;所有这些都增加了安全风险。此外,网络的互操作性也增加了安全风险,因此安全管理上的失误代价非常大。

传统安全管理是依赖平台的—不同类型的计算机系统遵循不同的管理和实施规则。分布式系统的早期网络管理工具试图罗列出所有需要安全策略定义的资源和权限。传统访问控制列表(ACL)管理模型在企业内部的各个资源上做出安全性设置。在某些组织中,安全管理员的职责就是管理资源、权限和职员之间的每个允许或禁止关系列表,即,某个列表上的各要素与其他各列表上的各要素之间的关系。由于信息技术(IT)的不断变化,IT管理员的负担越来越沉重。

在过去十年中,人们开发了一种可伸缩的、能够避免错误的、可审核的安全管理方法,并被许多企业采用:基于角色的访问控制(RBAC),也称为基于角色的管理或基于角色的授权。在该方法中,采用与传统安全解决方案类似的方式,将用户分成组。然而,在使用安全数据处理系统的组织内部,将资源和访问权限也分成角色,以反映在组织内部通用的各种业务过程和业务职责集合。这样,为各组分配能够反映企业活动的多重角色。在使用基于角色的访问控制的管理系统中,管理员的职责归纳如下:定义每个角色;定义该角色对有关资源的能力;将用户同一个或多个角色联系起来;将资源同一个或多个能力联系起来。一旦定义,就能在追加或更新数据库时自动实现安全策略,以便根据基于角色的访问控制关系改变人员或资源。

这种角色定义提供了一个额外的抽象层,从而改善安全管理员的可伸缩性、审计能力和质量。通过使用许多不同类型的角色,能够管理雇员与承包人之间的差异。总的来说,基于角色的访问控制系统能够改善最终用户的安全性和服务,同时降低安全管理成长型企业的管理成本。

尽管安全管理得到改善,但是基于角色的访问控制系统在管理和费用上做了很多的考虑。大多数企业是动态实体,当企业的组织和商业目标随着时间改变时,也希望相关的IT系统能迅速无误地迁移。当组织变更或壮大时,更加难以管理、更新用户和角色之间的关系,以及资源和能力之间的关系。

因此,提供自动协助管理带有基于角色的访问控制的安全管理系统之方法和系统是有利的。每当组织内的人员和资源变化时,总能自动、有效地更新安全管理系统将是非常有利的。

发明内容

一种通过基于角色的访问控制模型来管理对资源的访问的方法、系统、设备以及计算机程序产品,基于角色的访问控制模型包括使用角色过滤器和能力过滤器(也称为“活动角色”)的动态更新功能。为每个角色定义一个角色过滤器,而不是由安全管理员明确将各个用户与某个角色联系起来。通过评价角色过滤器确定与给定角色匹配的用户,并且将匹配的用户自动与给定的角色联系起来。通过使用角色过滤器,管理员能够按照雇员职务、组织、工作状态或项目分配情况,为基于角色的资源访问创建业务规则。

除角色过滤器之外,每个命名的角色均包含一组的访问能力。每种能力包括一组访问条件和能力过滤器,每个访问条件包括一组权限以及此类权限的资格和条件。与角色过滤器的操作类似,能力过滤器用于描述将要应用的特定能力的实例集合。管理员可以为每种能力定义能力过滤器,而不是由安全管理员明确将每种资源与某种能力联系起来。当添加、删除或更改目标实例时,重新评价能力过滤器以保持适当的关系集合。

附图说明

附属权利要求书阐述被认为是本发明之特征的全新功能。通过连同附图一起阅读以下详细说明书,将更加了解本发明,其目的以及其优点,其中附图为:

图1A表示可以实施本发明的典型分布式数据处理系统;

图1B表示可以实施本发明的数据处理系统中使用的典型计算机体系结构;

图2的方块图表示典型的基于角色的访问控制系统;

图3的方块图表示对象及对象间的关系,包括根据本发明之最佳实施方式的基于角色的访问控制模型中的角色过滤器和能力过滤器功能;以及

图4是一个流程图,表示更新图3所示的根据本发明之最佳实施方式的数据关系组织的数据库时,出现的活动角色处理。

具体实施方式

本发明的目的在于,通过基于角色的访问控制模型来管理对资源的访问的系统和方法,基于角色的访问控制模型包括“活动角色”,而后者是一种动态更新机制。在详细论述本发明前,首先介绍可以实施本发明的分布式数据处理系统的组织结构的背景信息。

现在参照附图,图1A表示典型的数据处理系统网络,每个系统均能实施本发明或本发明的一部分。分布式数据处理系统100包含网络101,网络101是一种介质,为连接在分布式数据处理系统100内的各种设备和计算机之间提供通信链路。网络101可以包括永久连接,如电缆或光缆,或通过电话或无线通信建立的临时连接。在所示示例中,将服务器102和103和存储器104连接到网络101。此外,将客户机105-107也连接到网络101。客户机105-107和服务器102-103代表各种计算设备,如大型机、个人计算机、个人数字助理(PDA)等。分布式数据处理系统100可以包括附加服务器、客户机、路由器和其他设备,以及对等体系结构(未示出)。

在所示示例中,分布式数据处理系统100包括因特网,其中网络101表示遍布世界的彼此使用各种协议进行通信的网络和网关集合,通信协议如轻量目录访问协议(LADP)、传输控制协议/网际协议(TCP/IP),超文本传输协议(HTTP)。当然,分布式数据处理系统100还包括不同类型的网络,如内联网、局域网(LAN)或广域网(WAN)。例如,服务器102直接支持采用无线通信链路的客户机109和网络110。网络电话111通过无线链路112连接到网络110,PDA 113通过无线链路114连接到网络110。通过使用诸如蓝牙TM无线技术之类的适当技术创建所谓的个人局域网或个人专用网,电话111和PDA113能够通过它们之间的无线链路115直接传输数据。同样,PDA113能够通过无线通信链路116向PDA117传输数据。

可以在各种硬件平台上实施本发明;图1A只是作为异构计算环境的示例,并不作为本发明的体系结构限制。

现在参照图1B,正如在图1A中说明的那样,该图表示可以实施本发明的数据处理系统的典型计算机体系结构。数据处理系统120包含一个或多个与内部系统总线123相连的中央处理器(CPU)122,系统总线123互连随机存取存储器(RAM)124、只读存储器126以及支持各种I/O设备的输入/输出适配器128,I/O设备如打印机130、磁盘机132或诸如音响系统之类的其他设备(未示出)等。同时,系统总线123与通信适配器134相连,后者提供对通信链路136的访问。用户接口适配器148连接各种用户设备,如键盘140和鼠标142,以及诸如触屏、触笔、麦克之类其他设备(未示出)。显示适配器144将系统总线123连接到显示设备146。

一般技术人员可以理解,图1B所示的硬件随系统实现变化。例如,该系统可以有一个或多个处理器,以及一种或多种非易失存储器。除图1B所示的硬件之外或代替图1B所示的硬件,可以使用其他外围设备。换句话说,一般技术人员并不会在网络电话和全功能台式工作站中发现相似组件或体系结构。所示示例并不意味有关本发明的体系结构限制。

除能够在各种硬件平台上实施之外,也可以在各种软件环境中实施本发明。可以使用典型操作系统来控制各数据处理系统内的程序的执行。例如,某台设备运行UnixTM操作系统,而另一台设备包含简单JavaTM运行环境。有代表性的计算机平台包括浏览器,浏览器是一众所周知的软件应用,用于访问各种格式的超文本文件,如图形文件、字处理文件、扩展标记语言(XML)、超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML),以及各种其他格式和类型的文件。因此,请注意,图1A所示的分布式数据处理系统完全能够支持各种对等子网和对等服务。

尽管参照使用面向对象的应用的最佳实施方式描述本发明,但本发明并不限于使用面向对象的编程语言。相反,可以使用大部分编程语言实现本发明。尽管在最佳实施方式中使用Java命名和目录接口(JNDI)应用编程接口(API),为采用Java编程语言编写的系统管理功能提供命名和目录功能。JNDI体系结构包括API和服务提供者接口(SPI)。Java应用使用JNDI API访问各种名称和目录服务,而SPI能够以透明方式插入各种命名和目录服务,从而允许使用JNDI API的Java应用访问上述服务,所述服务包括LDAP、通用对象请求代理体系结构(CORBA)、通用对象服务(COS)名称服务,以及Java远程方法调用(RMI)注册。换句话说,JNDI允许本发明的系统管理功能独立于任何具体的目录服务实现,因此能够以通用方式访问各种目录。

同时请注意,可以部分或全部使用不同于服务器功能的客户机功能实施本发明。换句话说,或者由客户机或者由服务器处理对象的数据表示,但是可以按照同一物理设备上的客户机进程和服务器进程的方式,实现客户机和服务器功能。因此,关于最佳实施方式的说明,客户机和服务器可以构成独立的远程设备,或者以两种独立身份运行的同一设备。可以在本地存储器或分布式存储器中存储本发明的数据和应用代码。

如上所述,可以在各种硬件和软件平台上实施本发明。确切地说,本发明的目的在于通过基于角色的访问控制模型对资源的访问进行管理,基于角色的访问控制模型包括使用角色过滤器和能力过滤器的动态更新功能。作为背景,在详细论述本发明前,首先介绍典型的基于角色的访问控制系统。

现在参照图2,方块图表示典型的基于角色的访问控制系统。在安全管理系统200中所示的部件仅仅表示基于角色的访问控制系统内的某些通用概念、对象、关系或联系。依据安全管理系统的实施,对象和关系可能具有不同的名称和功能。

在企业内部,雇员可能“属于”一个或多个组织单位,如某个部门和项目。用户对象202代表和组织对象204关联的一名雇员。组织对象204-208代表企业内部的众多组织单位,假设每个组织单位有多名雇员或用户,在公司目录210中存储有关雇员的信息,其中目录210为一个或多个目录服务支持的数据目录。

用户对象202不仅代表雇员而且代表经理,因此用户对象202与代表类似经理组的组对象212相关联。在图2中,将组织单位对象206和208表示为与组对象212相关联。假定企业内部的每个组织单位都有一个组对象212表示的类型的经理,尽管该图并未明确标识对象206和208表示的组织内的具体雇员。

根据雇员在企业内的职务和工作描述,雇员可以在安全管理系统中分配一个或多个角色。组对象212与角色对象214相关联,角色对象214定义具有对资源216和218的基本访问权限的角色。例如,企业内的每个雇员可以访问某些类型的基本计算资源,如访问内部网站的内联网帐户。此类基本访问适用于与组对象212关联的每个经理,因此组对象212已经同角色对象214相关联;资源216代表对访问特定内部Web服务器的授权,而资源218代表对访问因特网防火墙的授权。

然而,组织内的每个经理可能需要访问公司计时应用的特权。为了反映真实的事务处理过程,定义角色对象220,并和组对象212相关联,角色对象220具有一组访问权限222,这些权限明确定义与角色对象220关联的用户如何使用资源224,该资源代表计时应用。

可以通过示例阐明访问权限的必要性。假设企业内部具有不同计时应用使用权限的不同类型的雇员使用计时应用。每个部门有一个计时员,其主要任务是准确记录出勤、病假、加班费等。可以为每个计时员定义一个计时员角色,并且每个计时员具有一定的使用计时应用的权限。

计时应用具有定义公司内部假期的功能,限制计时员在系统内设置公司内部假期。然而,必须由公司中的某人配置计时应用,以识别假日,此功能限于经理。因此,与角色对象220相关联的访问权限的集合为,代表计时功能的资源224内的特权的访问权限222。

组织单位对象208表示从事特定项目的部门,特定项目需要只有该部门内的雇员才能使用的资源226。因此,对象208(即,与对象208相关联的任何用户对象)与角色对象228相关联,角色对象具有对资源226的访问权限。尽管该图并未表示,但是将用与组织单位对象相关联的用户对象表示部门内的每个雇员,并且每个用户对象最终与表示除其他角色对象之外的基本资源访问的角色对象相关联。更重要的是,角色对象228表示制订和管理特殊角色的方法。例如,外部承包商雇员也能与组对象230相关联,进而与角色对象228相关联;因此承包商雇员可以访问资源226,而企业内的其他雇员不能访问。如果雇佣另一家承包公司协助特定项目,可以为新承包商的雇员构造一个新组,新组能够快速与预先定义的适当角色对象(如角色对象228)相关联,而无需改变其他关系和联系。

正如参照图2说明的那样,安全管理员的负担是手工(通过适当的管理应用)将资源同现有安全管理系统中的角色关联起来。本发明旨在提供特定的基于角色的访问控制模型,在该模型中,通过使用称为“活动角色”的方法自动实现某些管理职责。以下参照其他附图进行详细描述。

现在参照图3,方块图表示对象及对象间的关系,包括根据本发明之最佳实施方式的基于角色的访问控制模型中的角色过滤器和能力过滤器。与现有安全管理系统类似,本发明也使用资源和角色的概念。资源,也称为目标。资源在企业内部为系统、服务、应用、设备、软件/硬件组件、数据对象/记录等。角色是实体的特征或类别,如人员或服务,通过实体的功能抽象,角色应用于实体。然而,有关本发明的一个重要问题是就用户、用户组、服务对保护资源的安全访问进行控制,以便在状态不断改变时有效管理大量用户与大量资源之间的关系。因此,正如下面详细说明的那样,本发明扩展了资源和角色的概念。

在本发明中,角色(如角色302)由一个或多种能力(如能力304)的集合组成,能力定义对特定资源(如资源306)集合的访问。角色可以有过滤器,如角色过滤器308,通过评价角色过滤器确定分配给该角色的主体(principal)列表,如主体310。换句话说,角色过滤器确定角色适用的主体的集合。

主体表示资源的潜在消费者,可能包括用户、应用、服务,或其他类型的资源消费者。假定本发明是采用面向对象的方式实现的,主体对象为比各用户对象更广的对象类。一般而言,主体的实例是个人或应用。

过滤器由包含属性条件的表达式组成。对角色过滤器而言,过滤器表达式使用的属性是主体和主体子集所特有的。在本发明中,过滤器的句法最好遵循因特网工程任务组(IETF)公布的请求注释(RFC)标准,特别是RFC 2254,“LDAP搜索过滤器的字符串表示”,该标准定义通用过滤器句法。

能力由一个或多个访问条件的集合组成(如访问条件312),每个条件都有一个或多个权限的集合(如权限314)。访问条件定义某一访问标准,如日历约束。例如,如果资源是登录验证应用,则某些用户只能在特定时间内登录到系统上。对特定类型的资源而言,权限为采用简单术语描述的访问类型,如读、写、执行和删除。某一权限的存在可能隐含其他权限。例如,对于特定对象类型而言,写权限隐含删除权限。

能力有两个附加限定符:资源类型316和“对象或引用对象”标志318。正如资源类型限定符表示的那样,每种能力定义对不同类型的资源的访问。假定本发明是采用面向对象的方式实现的,利用“目标对象类”属性定义资源类型;“目标对象类”属性系指WindowsNT类服务器、文件、打印机和其他计算资源、乃至其他能力、角色或主体。

请注意,角色并没有相应的“目标对象类”属性,因为角色总是与主体关联。尽管主体可以为不同类型实体的子集,但是总是参照主体评价角色过滤器。从某个方面来看,角色的“目标对象类”暗指主体。

编程上称为“对象或引用”标志的能力内的“对象或引用”标志定义访问类型:对象访问或引用访问。对象访问指访问数据库中存储的资源的信息,而引用访问指对资源的物理访问。通过举例说明两种不同访问类型之间的差别的重要性。某人可能有一个角色,如打印机技师,对打印设备资源而言,技师有两种能力:一种能力允许打印机技师获得有关打印设备的所有数据,此时,能力具有对象访问;另一种能力允许打印机技师物理访问打印设备,以便向打印设备提交打印作业。另一个人有一个角色,如计算机程序员,对打印设备资源而言,他只有一种能力:为了向打印设备提交打印作业而允许计算机程序员物理访问打印设备的能力。

与对有关角色的描述类似,能力也有一个过滤器,如能力过滤器320,通过评价能力过滤器确定该能力定义的访问资源列表。换句话说,利用能力过滤器确定特定能力应用的资源集合。诸如安全管理员之类的系统用户可以利用本发明来定义每种能力的能力过滤器,而不是像现有系统那样,通过手工方式明确将各种资源连接到某种能力。当添加、删除、修改资源实例时,重新评价能力过滤器,以保持正确的关系集合。    

另外,过滤器由包含属性条件的表达式组成;对能力过滤器而言,过滤器表达式使用的属性为能力的资源类型定义的资源类型所特有的(“目标对象类”)。例如,如果“目标对象类”代表个人,则过滤器引用的属性为诸如地址、姓氏或职务之类的属性。

资源可以为系统中的任何对象,包括主体、角色或能力的任何实例。因此,具有对象访问的能力应该允许以下情况。某人可能具有某个角色,如打印机技师经理,他具有打印机技师角色的能力的超集。相对于打印机技师,打印机技师经理除具有对打印设备资源的所有访问权限之外,还具有以下能力:以打印机技师为资源,打印机技师经理具有获得有关打印机技师之所有信息的对象访问权限。

活动角色处理检查特定实例(角色、能力、主体或资源)和/或特定实例属性的添加、删除或修改,检索与特定实例类型相关的过滤器,并对照特定实例“运行”过滤器,从而引起一个或多个成员资格列表的变更。换句话说,任何实例的任何改变导致与实例相关联的过滤器的识别,并对照该实例运行所识别的过滤器。

如果添加或修改过滤器,则对照所有适用实例运行过滤器,从而导致一个或多个成员资格列表的变更。

成员资格列表是与包含成员资格列表的实例关联的实例的列表。利用角色(“过滤器成员”322)、能力(“过滤器目标”324)、主体(“过滤器角色”326)以及作为资源的各对象类(“过滤器能力”328)内的多值属性表示成员资格列表。在“过滤器成员”与“过滤器角色”之间是双向关系,“过滤器目标”与“过滤器能力”之间也是双向关系,如下:

当向角色的“过滤器成员”属性添加主体时,将角色添加到主体的“过滤器角色”属性中。

当向主体的“过滤器角色”属性添加角色时,将主体添加到角色的“过滤器成员”属性中。

当向能力的“过滤器目标”属性添加资源时,将能力添加到资源的“过滤器能力”属性中。

当向资源的“过滤器能力”属性添加能力时,将资源添加到能力的“过滤器目标”属性中。

请注意,角色有0个或1个角色过滤器;如果角色没有角色过滤器,则它不会有任何“过滤器成员”,也不参与活动角色处理。然而,在这种情况中,没有角色过滤器的角色还是很有用的,因为诸如安全管理员之类的系统用户,可以使用管理应用用手工方式将角色与主体联系起来,即静态方式。因此,角色的实例中可能有其他静态属性。相应地,静态关联的有关主体不会有该角色的任何“过滤器角色”。

同样,请注意,能力有0个或1个能力过滤器;如果能力没有能力过滤器,则它不会有任何“过滤器目标”,也不会参与活动角色处理。然而,在这种情况中,没有能力过滤器的能力还是很有用的,因为安全管理员或其他用户可以使用管理应用用手工方式将资源和能力联系起来,即静态方式。因此,能力实例中可能有其他静态属性。相应地,静态关联的有关资源不会有该能力的“过滤器能力”。

如上所述,最好采用以下面向对象的方式实现本发明。活动角色处理在存储和管理与安全性有关的数据(用户、帐户、角色等)的基于Java的目录服务器中进行。客户使用JNDI向服务器请求更新和检索,服务器与后端数据仓库(数据库或与LDAP兼容的命名服务)进行交互,以服务请求。对数据库的每个更新(除成员资格列表的更新之外),总是调用活动角色处理,以分析该更新是否需要重新生成上述成员资格列表。如果需要的话,则生成新列表,并调用后台数据仓库以修改与该列表关联的属性。请注意,只有成员资格列表的变更才会引起活动角色处理。因此,如果请求更新数据库内的成员资格列表,则该请求更新并不调用其他活动角色处理,以防止在活动角色处理内部产生循环。

再次参照图3,在该系统中,分别用“角色”、“能力”和“访问条件”对象类来表示角色、能力和访问条件。客户通过创建JNDI “属性”结构并向目录服务器发送“bind()”请求将“属性”绑定到目录中的名称,实例化对象类的实例。例如,要创建“能力”对象类的实例,诸如安全管理员之类的用户借助管理应用,指定实例的名称,以及由值为“能力”的“对象类”、与RFC2254兼容的过滤器、表示与创建的能力关联的资源的资源类型的“目标对象类”属性、“对象或引用对象”标志,以及其他可能的属性组成的“属性”。然后将创建的“能力”对象“绑定”到该系统中的现有“角色”对象。

“主体”是一个抽象对象类。它不能直接实例化,但可以实例化它的子集(如“人”,“服务”)。“资源”并不是真正的对象类,因为任何对象类都可以为资源。然而,从概念上说,当实例成为能力的目标时,它就成为资源。

现在参照图4,该流程图表示更新图3所示的根据本发明之最佳实施方式的数据关系组织的数据库时,出现的活动角色处理。图4所示的处理仅仅表示添加或修改数据库内的数据时,活动角色处理器模块(与目录或数据库一起运行)可能触发的处理事项的一个流程。然而,请注意,活动角色处理器可以以守护程序或监视方式运行,因此能够以事件循环方式重复执行该处理。

当活动角色处理器模块收到带有关联属性的添加或更新实例时,处理开始(步骤402)。活动角色处理器可以接收实例的副本,作为有关实例发生与数据库关联的操作时的通知。作为选择,也可以选择其他数据通知机制。然后,确定所接收实例的对象类(步骤404),并开始搜索其资源类型与接收实例之对象类匹配的能力(步骤406)。假设至少有一个能力匹配,则活动角色处理器针对接收的示例,运行匹配能力的能力过滤器(步骤408),从而导致数据库中的属性的更新,在授权处理期间使用数据库确定发出请求的主体是否收到对保护资源的访问。

接着,确定收到实例的对象类是否是“主体”类或任何“主体”的子集(步骤410)。如果是的话,则针对接收实例运行所有角色过滤器(步骤412),从而导致数据库中属性的更新,在授权处理期间使用数据库确定发出请求的主体是否收到对保护资源的访问,并且完成有关该实例的活动角色处理。此时,该处理确定应用于主体的角色。因为角色能够应用于所有主体,所以必须评价所有角色过滤器。请注意,因为某些主体还服从能力过滤器,所以新主体或经过修改的主体导致有关步骤408的能力过滤器和步骤412的角色过滤器的过滤处理。

如果已接收实例的对象类不是“主体”类型,则确定已接收实例的对象类是否是“角色”类型或“能力”类型(步骤414)。若不然,则处理结束。如果是的话,则确定已接收实例的过滤器属性是否改变,即,过滤器是新过滤器还是经过修改的过滤器(假设实例有过滤器)(步骤416)。若不然,则处理结束。如果是的话,则以适当方式运行已接收实例的过滤器(步骤418),从而导致数据库中的属性的更新,在授权处理器期间使用该数据库,确定发出请求的主体是否收到对保护资源的访问,然后处理结束。如果实例是“角色”类型,则相对于所有主体运行实例的角色过滤器。假如实例是“能力”类型,则相对于带有匹配资源类型的所有资源运行该实例的能力过滤器。无论如何,如果系统定义了成千上万个主体或资源,则完成此步骤需要大量计算。

考虑到本发明的以上详细说明,本发明的优势是显而易见的。在现有技术中,基于角色的访问控制模型使用角色概念自动进行与用户以及关联组有关的处理。尽管通过使用基于角色的访问控制模型能够改善安全管理应用,但上述系统仍会给安全管理员带来沉重的负担。

相反,本发明通过引入基于角色的存取控制模型这一新颖概念而获得了明显改善。除与现有系统中的角色关联的访问条件和/或权限之外,通过将一组能力合并到角色中,本发明能够自动处理有关用户和资源之间的关系。特别地,角色具有角色过滤器,评价角色过滤器以匹配用户,然后自动与给定角色关联起来。除角色过滤器之外,每个已命名的角色包含一组能力,每种能力有一个能力过滤器。当添加、删除、修改目标实例时,需要重新评价能力过滤器以保持正确的关系集合。通过自动管理角色和用户以及该角色的能力和资源之间的关系,本发明提供增强安全管理员之能力的方法,从而用户能够安全访问资源。

请注意,尽管在全功能数据处理系统的环境中描述本发明,但是一般技术人员可以理解,能够以计算机可读介质上的指令的方式或以各种其他方式,分发本发明的处理方法,而不关心进行分发时实际使用的信号承载介质的特定类型。计算机可读介质的示例包括:EPROM、ROM、磁带、纸张、软盘、硬盘、RAM、CD-ROM以及其他传输类型的介质,如数字和模拟通信链路。

提供本发明之详细说明书的目的是为了举例说明,而不是穷举或限制所公开的实施方式。一般技术人员容易想到许多修改和变更。选择上述实施方式的目的是解释本发明的特征以及其实际应用,并使一般技术人员理解本发明,以便实现其修改适合于其他预期用途的各种实施方式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号