CN100430951C - 向用户/组授予访问控制列表所有权的访问控制***和方法 - Google Patents

向用户/组授予访问控制列表所有权的访问控制***和方法 Download PDF

Info

Publication number
CN100430951C
CN100430951C CNB2005101186916A CN200510118691A CN100430951C CN 100430951 C CN100430951 C CN 100430951C CN B2005101186916 A CNB2005101186916 A CN B2005101186916A CN 200510118691 A CN200510118691 A CN 200510118691A CN 100430951 C CN100430951 C CN 100430951C
Authority
CN
China
Prior art keywords
user
acl
access control
control list
privilege
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005101186916A
Other languages
English (en)
Other versions
CN1770169A (zh
Inventor
肯尼斯·C·尼尔森
罗德尔·马里莱尼·A·诺隆哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1770169A publication Critical patent/CN1770169A/zh
Application granted granted Critical
Publication of CN100430951C publication Critical patent/CN100430951C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的实施例支持灵活的访问控制设计,其包括灵活的访问控制列表(ACL)所有权及其分配。ACL可以被分配给一个或多个资源或项目、或者资源或项目的类型。ACL的创建者或拥有者可以向他人授予特权,使得他们可以修改或分配该ACL。每个ACL可以具有一个或多个拥有者,即可以对该ACL施加控制的用户。ACL的任何拥有者可以向其他用户指定特定特权。然后,这些其他用户可以基于授予给他们的特权而使用该ACL。

Description

向用户/组授予访问控制列表所有权的访问控制***和方法
技术领域
本发明一般涉及保护对存储在数据库***中的资源的访问。
背景技术
访问控制列表(ACL)是控制对受保护资源如文档的访问的公知方式。例如,很多公知的***和应用允许对可以如何查看、打印、修改或转发文档施加限制。典型地,ACL包含关于哪些用户或用户组具有对资源的访问权以及每一个被授予了什么级别的访问权的信息。
公知的***一般提供两种ACL:***或预定义的ACL;以及定制或用户定义的ACL。***ACL通常可用于***的所有用户,并且典型地由***管理员拥有。定制或用户定义的ACL由***中的用户创建和拥有。
遗憾的是,公知的***难以结合定制ACL来管理***ACL。由于针对特定资源的权限可以大大不同,因此用户经常需要创建他们自己的定制ACL的能力。然而,由于各种安全性原因,公知的***和应用不允许用户访问由不同的用户创建的其它定制ACL。例如,公知的***一般限制用户访问其它定制ACL,以便防止该用户故意或无意地授予不适当的对资源或项目的访问。因此,用户必须从零开始创建他们的定制ACL。
随着用户和资源的数量增加,管理定制ACL的复杂性惊人地增长。这最终可能消耗大量的***资源或者降低其性能。
从而,期望提供允许灵活的ACL所有权及其使用的方法和***。
发明内容
根据本发明的实施例,创建可以由多个用户使用的访问控制列表。从第一用户接收用于访问控制列表的信息。还从第一用户接收已被授予给第二用户的针对该访问控制列表的特权集。然后,基于由第一用户授予的该特权集,准许第二用户使用该访问控制列表。
根据本发明的其它实施例,可以向受保护资源分配访问控制列表。该访问控制列表已经由第一用户创建,并且准许至少一个另外用户使用该访问控制列表。接收来自该至少一个另外用户的向该受保护资源分配该访问控制列表的请求。确定已经从第一用户授予给该至少一个另外用户的针对该访问控制列表的特权集。然后,基于该特权集,准许该至少一个另外用户向该受保护资源分配该访问控制列表。
本发明的另外特征将在下面描述中加以阐述,并且从该描述中部分将是明显的,或者可以通过本发明的实施来了解。本发明的特征将通过在所附权利要求中具体指出的单元和组合来实现和获得。
应当理解,前述一般描述和下面详细描述只是示例性和说明性的,并且不限制要求保护的本发明。
附图说明
包括在本说明书中且形成其一部分的附图示出了本发明的实施例,并且与本描述一起用来说明本发明的原理。
图1示出了根据本发明实施例的访问控制列表的概念图;
图2示出了根据本发明实施例的内容管理***;
图2A是可以实现根据本发明的方法和***的示例性计算机***的内部方框图;
图3示出了根据本发明实施例的库服务器;
图4A示出了可以由本发明的实施例使用的用户简档表(user profiletable)的一个例子;
图4B示出了可以由本发明的实施例使用的访问控制列表表的一个例子;
图5示出了根据本发明原理的用于创建访问控制列表的处理流程;以及
图6示出了根据本发明原理的用于分配访问控制列表的处理流程。
具体实施方式
本发明的实施例支持灵活的访问控制设计。作为其访问控制的一部分,访问控制列表(ACL)在一些实施例中可以被定义为用户标识符和对应的特权或特权集的集合。特权可以是允许用户或用户组的特定操作例如创建、更新、读取或删除的权限或许可的任何集合。ACL可以被分配给一个或多个资源、或项目、或资源或项目的类型。
本发明的一些实施例允许灵活的ACL所有权及其分配。ACL的创建者或拥有者可以向他人授予特权,使得他们可以基于他们的特权而修改或分配ACL。每个ACL可以具有一个或多个拥有者,即可以对ACL施加控制的用户。然后,ACL的任何拥有者可以向其他用户指定特定特权。例如,拥有者可以指定其自己可以向项目分配ACL的其他用户。拥有者也可以限制其它拥有者能够修改ACL。然后,多个用户可以基于授予给他们的特权而分配、拥有或修改ACL。
一些实施例可以提供接口,以便有效地管理ACL,例如定制或用户定义的ACL。这些接口可以包括列出用户是拥有者的那些ACL或者用户已被授予了分配特权的那些ACL的能力。这些接口还可以列出提供给所有用户的***ACL。
图1示出了根据本发明实施例的管理ACL的概念图。如图所示,用户组101和102可以包括一个或多个用户104。***ACL 106可用于所有用户104即用户组101和102。然而,另外,ACL 108A-N和110A-N分别可用于用户组101和102。也就是,用户组101具有对ACL 108A-N的特权,而用户组102具有对ACL 110A-N的特权。在一些实施例中,用户组101还可以被阻止访问其域之外的ACL,例如分配给用户组102的那些ACL,并且反之亦然。
现在将详细参考在附图中示出的本发明的示例性实施例。只要可能,就将贯穿附图使用相同的附图标记,以表示相同或类似的部分。
图2示出了根据本发明实施例的内容管理***200。如图所示,内容管理***200可以包括客户端202、库服务器204、以及资源管理器206。这些组件可以使用一个或多个网络如局域网或广域网耦接在一起。另外,这些组件可以使用公知的协议如传输控制协议和网际协议(“TCP/IP”)和超文本传输协议(“HTTP”)相互通信。
内容管理***200的这些组件可以在单独的设备上实现,或者可以在一个或多个相同设备或***上实现。例如,库服务器204和资源管理器206可以被安装在相同的机器上,并且在公共的操作***下运行。可选地,内容管理***200的组件中的一个或多个可以在运行不同操作***的多个机器上实现。现在将描述内容管理***200的一些特定组件。
客户端202提供用于内容管理***200的用户接口。客户端202可以使用各种设备和软件来实现。例如,客户端202可以在个人计算机、工作站或终端上实现。另外,客户端202可以在Windows操作***下或者通过浏览器应用程序如Microsoft
Figure C20051011869100081
公司的Internet ExplorerTM或者Mozilla的FireFox来运行。虽然图2示出了单个客户端,但是内容管理***200可以包括任意数目的客户端。
库服务器204存储、管理和提供对由内容管理***200存储的项目和资源的访问控制。库服务器204处理来自客户端202的请求,例如创建、读取、更新和删除,并且在内容管理***200的其它组件如资源管理器206之间维持数据完整性。例如,库服务器204可以结合资源管理器206工作,以检索由项目引用的对象,如文档或图像文件。另外,库服务器204可以施行(enforce)特定访问控制,例如访问控制列表,以保护由资源管理器206存储的资源或项目。
库服务器204可以使用各种设备和软件来实现。例如,库服务器204可以是在操作***如z/OS、Windows、AIX或Solaris下运行一个或多个应用程序和存储过程的计算机。另外,库服务器204可以包括数据库管理***例如关系数据库管理***,以管理所存储的项目并且执行对内容管理***200的搜索。例如,库服务器204可以使用国际商业机器公司的DB2通用数据库。库服务器204还参照图3加以描述。
资源管理器206存储与内容管理***200中的项目或资源相对应的对象。项目或资源可以是采取数字形式的任何数据实体。例如,项目或资源可以是音频文件、应用程序、图像、文本或者视频文件。资源管理器206可以存储采取各种格式的项目或资源,例如JPEG图像、MP3音频、AVI视频和ASCII文本。资源管理器206还可以存储采取多种格式的项目或资源,例如Microsoft
Figure C20051011869100091
WordTM、Lotus
Figure C20051011869100092
Word ProTM、以及WordperfectTM
此外,资源管理器206还可以被配置为在相同或单独的资源管理器(未示出)上存储项目或资源的多个副本。虽然图2示出了单个资源管理器,但是内容管理***200可以包括任意数目的资源管理器。例如,内容管理***200可以包括跨越一个或多个网络分布的多个资源管理器。
资源管理器206可以使用公知的设备和软件来实现。例如,资源管理器206可以被安装于在z/OS操作***下运行的一个或多个计算机上,并且包括DB2通用数据库、以及用来与客户端202和库服务器204通信的服务器如HTTP服务器。另外,资源管理器206可以包括一个或多个存储设备,例如磁盘驱动器。
图2A是可以实现根据本发明的方法和***的示例性计算机***250的内部方框图。计算机***250可以代表图2中的示例性***架构200的客户端202、库服务器204、资源管理器206或服务器的内部组件。
计算机***250可以例如是传统的个人计算机(PC)、桌面和手持设备、多处理器计算机、笔式计算机、基于微处理器或可编程的消费电子产品、微型计算机、大型机计算机、个人移动计算设备、移动电话、便携或静止个人计算机、掌上型计算机或者在本技术领域内公知的其它这样的计算机。
计算机***250包括全都通过***总线295互连的CPU 260、存储器270、网络接口280、I/O设备285、显示器290。如图2A所示,计算机***250包含中央处理单元(CPU)260。CPU 260可以是微处理器,例如由英特尔公司制造的微处理器的Pentium
Figure C20051011869100093
系列。然而,可以使用任何其它的适当微处理器、微型、小型或大型计算机,例如微控制器单元(MCU)、数字信号处理器(DSP)。
存储器270可以包括随机存取存储器(RAM)、只读存储器(ROM)、视频存储器、大容量存储装置、或者高速缓冲存储器,例如固定和移动介质(例如,磁、光或磁光存储***或者其它可用的大容量存储技术)。
存储器270存储多个支持模块,例如基本输入输出***(BIOS)、操作***(OS)、程序库、编译器、解释器和文本处理工具。支持模块可以购得,并且可以由本领域的技术人员安装在计算机***250上。为了简单起见,未示出这些模块。此外,存储器270可以包含操作***、应用例程、程序、应用程序编程接口(API)以及用于执行根据本发明的方法的其它指令。
其例子包括以太网或者拨号电话连接的网络接口280可以用来与网络上的计算***通信。计算机***250还可以通过输入/输出(I/O)设备285来接收输入,其中输入/输出(I/O)设备285可以包括键盘、定点设备或者其它类似的输入设备。计算机***250也可以通过显示器290向用户呈现信息和接口。
总线295可以是双向***总线。例如,总线295可以包含用于对存储器270进行寻址的三十二位地址线、以及通过其在组件之间传输数据的三十二位数据线。可选地,可以使用多路复用数据/地址线而非单独的数据和地址线。
图3示出了根据本发明实施例的库服务器。如图所示,库服务器204可以包括应用程序300、访问控制模块302、以及库服务器数据库304。
应用程序300是实现库服务器204的函数和过程例如与客户端202和资源管理器206的通信以及与库服务器数据库304的操作的程序代码。应用程序300可以采用各种主机编程语言例如C、C++、Java
Figure C20051011869100101
或COBOL编写。
库服务器数据库304用作由内容管理***200存储的项目的目录。库服务器数据库304可以包括一个或多个数据结构,其保护对由资源管理器206存储的项目或资源的访问。
访问控制模块302是实现由库服务器204施行的访问控制的程序代码,例如检索被授予给用户104的ACL特权,以及访问被分配给所请求的项目或资源的ACL。访问控制模块302可以被实现为硬件、固件或软件的组合。例如,访问控制模块302可以是采用各种主机编程语言例如C、C++、Java或COBOL编写的软件。虽然访问控制模块302被示出为独立于应用程序300的组件,但是本领域的技术人员应当认识到,访问控制模块302可以集成在库服务器204的应用程序或某其它组件内。
库服务器数据库304可以使用各种设备和软件来实现。例如,库服务器数据库304可以被实现为关系数据库,例如DB2通用数据库。另外,库服务器数据库304可以使用各种存储装置、例如磁带驱动器、光存储单元或者磁盘驱动器。
为了帮助访问控制,库服务器数据库304可以使用一组表,例如ACL表306和用户简档表308。ACL表306可以是指定应用于资源或项目的安全性保护的任何数据结构。用户简档表308可以是指定被授予给用户或用户组的特权的任何数据结构。ACL表306和用户简档表308的例子参照图4A和4B加以描述。
在一些实施例中,库服务器304可以使用一个或多个标志如二进制位,以表示各种ACL。例如,管理器定义或者***ACL(即,可用于所有用户的ACL)可以以“0”的二进制值标记。同时,用户定义或者定制ACL可以以“1”的二进制值标记。现在将进一步描述一些实施例中的对这些用户定义或定制ACL的管理。例如,应用程序300的管理员可以向一个或多个用户104授予创建他们自己的定制ACL的能力。当然,本领域的技术人员应当认识到,用户可以缺省地被授予创建他们自己的ACL而无需管理员或其它许可的能力。
在一些实施例中,一个或多个用户104可以被授予对ACL的各种特权。例如,一个或多个用户104可以被授予ACL的所有权。用户的特权可以在用户简档表308中表明,在下文中其可以被称作用户的一般特权集。另外,ACL表306可以表明哪些用户104可以直接地或者通过组规则改变或删除ACL。如果用户具有ACL的所有权,则该用户可以将该ACL分配给项目或项目类型。
另外,可以向一个或多个用户104授予ACL的特定有限特权,例如向资源或项目分配ACL的特权或权限。此外,通过在用户简档表308中配置用户的一般特权集,可以将该特权授予给用户。另外,可以直接地或者通过组规则在ACL表306中针对用户表示该特权。
在一些实施例中,可以如同对项目或资源的其它特权一样处理上面对ACL的特权,以便例如受益于先前在应用程序300或者访问控制模块302中实现的现有逻辑。另外,可以维持由应用程序300施行的其它访问规则。例如,如果除了ACL的所有权或分配权限之外,用户还具有更一般的对项目的访问权,例如管理员权限,则该用户可以被授予每一个用户定义的ACL中的所有权,或者能够分配每一个用户定义的ACL。
为了帮助用户管理ACL,应用程序300可以结合访问控制模块302工作,以便提供一个或多个ACL接口。例如,应用程序300可以与客户端202接口,以提供所有ACL的列表、仅仅***ACL的列表、用户所拥有的所有ACL的列表、用户可以分配的ACL的列表。另外,应用程序300可以允许用户按照名称或某其它标准搜索和检索ACL。应用程序300可以允许基于用户特权或显示名称而显示ACL。例如,应用程序300可以提供列出用户具有“删除”授权的所有ACL的接口。
同样地,客户端202可以允许用户104创建、列出、分配和修改他们的用户定义ACL。可以将一个或多个对话框从应用程序300提供给客户端202,以便帮助搜索和列出用户或用户组。在一些实施例中,这些列表可以局限于特定域、用户或用户组。
当用户创建用户定义的ACL时,可以由应用程序300提示用户提供ACL的名称或标识符。可选地,应用程序300可以自动地生成ACL的名称。例如,在一些实施例中,应用程序300可以生成具有一个或多个数字的代码。另外,用户可以为用户定义的ACL提供描述或显示名称。
为了帮助创建用户定义的ACL,访问控制模块302可以包括各种预定义的特权集(或者特权组),其包括新用户ACL特权。在这些实施例中,特权集可以由后安装(post-install)程序创建,并且还可以例如由应用程序300的管理员在以后修改。现在将参照图4A和4B描述用来施行这些访问控制的表的例子。
图4A示出了可以由本发明的实施例使用的用户简档表308的一个例子。正如所述,用户简档表308可以表示授予给用户的各种特权。如图所示,用户简档表308可以包括用户标识符列400和特权集列402。
用户标识符列400包括唯一标识应用程序300的每个用户或用户组的信息。用户标识符可以采取各种格式例如数字或字母数字。例如,用户简档表308被示出为在用户标识符列400中具有“用户1”和“用户2”。另外,用户标识符可以由库服务器204自动分配。
特权集列402包括表示授予给用户的特权的信息。这些特权可以采用各种格式例如数字或字母数字代码表示。例如,“用户ACL拥有者”和“用户ACL分配”可以用来分别表示用户是否具有所有权或分配特权。如图4A所示,用户1被授予了“所有权”特权,并且用户2被授予了“分配”特权。
图4B示出了可以由本发明的实施例使用的访问控制列表表306的一个例子。正如所述,ACL表306可以用来表示用于保护项目或资源的各种特权和安全性措施。在一些实施例中,ACL表306可以包括ACL标识符列404、资源标识符列406、用户标识符列408、以及特权集列408。
ACL标识符列404包括标识特定ACL的信息。这些标识符可以由用户例如创建了ACL的用户或者ACL的拥有者之一确定,或者可以由***200或库服务器204自动生成。ACL的标识符可以采取各种格式,例如数字或字母数字。例如,如图4B所示,表306被示出为在ACL标识符列404中具有“ACL1”。
资源标识符列406包括标识一个或多个资源或项目的信息。这些标识符也可以由用户例如创建了资源的用户确定,或者可以由***200或库服务器204自动生成。资源或项目的标识符可以采取各种格式,例如数字或者字母数字。例如,如图4B所示,表306被示出为在列406中具有“A1234”、“A1235”和“A1457”作为资源的标识符。
用户标识符列408包括标识要与ACL相关联的一个或多个用户的信息。这些标识符可以由用户自己确定,或者可以由***200或库服务器204自动生成。用户的标识符可以采取各种格式,例如数字或者字母数字。例如,如图4B所示,表306被示出为具有“用户1”和“用户2”作为在列408中标识的示例性用户。可选地,用户标识符列408可以标识用户、用户组、或者特定用户角色的一种或多种类型。
特权集列410包括表示针对特定ACL分配给用户的一个或多个特权的信息。这些特权可以采用各种格式例如数字或字母数字代码表示。例如,如图4B所示,针对“ACL1”向“用户1”分配了“用户ACL所有权”作为特权。另外,还可以针对“ACL1”向“用户2”分配“用户ACL分配”作为特权。这些特权还可以基于应用程序300和访问控制模块302的配置而引用其它操作或者甚至是其它特权。虽然图4B以单个特权示出,但是本领域的技术人员应当认识到,可以向用户分配多个特权。例如,还可以针对“ACL1”向“用户2”分配其它特权,例如“读取”特权。另外,特权可以一起被编组为由应用程序300的用户或管理员定义或者由应用程序300自动提供的一个或多个集合。
本领域的技术人员应当认识到,表306和308只是可以由本发明的实施例使用的示例性数据结构。任何类型的数据结构可以由本发明的实施例使用,以允许灵活的用户定义ACL所有权及其分配。下面将描述用于用户定义ACL的创建、所有权和分配的示例性处理流程。
图5示出了根据本发明原理的用于创建访问控制列表的处理流程。在步骤505,第一用户向应用程序300提供用于创建ACL的信息。例如,用户104之一可以操作客户端202,并且与库服务器204接口,以便指定用于ACL的各种参数。如上所述,在一些实施例中,库服务器204的应用程序300可以提供一个或多个接口,其帮助用户创建或修改ACL。这些接口可以使用公知的图形用户接口,如窗口、下拉菜单和对话框。例如,应用程序300可以提供已被用户访问的ACL例如在当前会话内已被增加、更新或删除的那些ACL的日志或列表。
由用户指定的参数可以包括感兴趣的资源或项目、要被分配的特权或权限、谁可以访问资源或项目、以及向这些用户授予了什么级别的访问权。用户还可以提供其它信息,例如ACL的名称以及ACL的简短描述。可选地,用户可以从其它ACL例如由该用户授权的ACL,或者从用户具有特权的那些ACL,检索信息。然后,处理流到步骤510。
在步骤510,创建ACL的用户还可以向另一个用户授予一个或多个特权。例如,可以由应用程序300在表306和308中自动地将创建ACL的用户指定为该ACL的拥有者。依次地,该用户可以向其他用户授予对ACL的特权。例如,ACL的拥有者可以指定其他用户作为ACL的拥有者,使得他们也可以读取、修改或删除该ACL。另外,ACL的拥有者可以允许其他用户向他们选择的资源或项目分配ACL。其它特权和权限可以被授予,例如读取访问。例如,可以允许用户:限制对ACL的访问;查看,但是不改变ACL;读取和创建ACL的新版本;读取和修改ACL;以及删除ACL。此外,应用程序300可以提供一个或多个缺省特权集。
应用程序300可被配置成控制用户可以如何指定对ACL的特权。例如,只能允许ACL的拥有者指定对ACL的特权。可选地,用户可以基于他们的角色或者他们是成员的编组而继承对ACL的特权。本发明的实施例可以支持各种指定对ACL的特权的规则和配置。
在一些实施例中,可以通过应用程序300经由由库服务器204提供的接口授予或修改对ACL的特权。如上所述,该接口可以使用公知的图形用户接口特性,以确定针对ACL向谁授予了哪些特权。依次地,应用程序300然后可以修改表306和308中的信息,存储该信息。然后,处理流到步骤515。
在步骤515,已被授予了特权的用户可以使用对应的一个或多个ACL。例如,库服务器204可以参考表306和308,以控制谁可以访问和使用ACL。正如所述,在图4A和4B所示的例子中,“用户1”是“ACL1”的拥有者,并且“用户2”已被授予了向资源或项目分配“ACL1”的特权。在一些实施例中,库服务器204可以首先检查用户简档表308,以确定“用户2”是否具有ACL分配权限作为其一般特权集的一部分。然后,库服务器204可以检查ACL表306,以确定“用户2”对哪个特定ACL已被授予了特权。
应用程序300或库服务器204还可以施行确定如何授予对ACL的特权的各种规则。例如,应用程序300可以基于用户的角色、域或者他们所请求的操作的上下文而限制用户的特权。ACL的特权本身也可以取决于ACL的角色,或者基于从涉及资源或项目的另一个事务继承特权。用于授予和施行对ACL的特权的其它类型的策略也可以由本发明的实施例支持。
图6示出了根据本发明原理的用于分配访问控制列表的处理流程。具体地说,示出了用于向受保护资源如文档或其它类型的文件分配ACL的处理流程。在本例中,假定用户104中的第一用户先前创建了ACL。
在步骤605,应用程序300从另外用户(例如,除了第一用户之外的用户)接收向受保护资源分配访问控制列表的请求。例如,该另外用户可以操作客户端202,以与库服务器204接口,以便选择一个或多个ACL。在一些实施例中,该另外用户可以基于各种标准如ACL名称、ACL拥有者、描述中的关键字等而搜索ACL。然后,库服务器204可以在库服务器数据库304中进行搜索,以查找与该另外用户的标准相匹配的一个或多个ACL。然后,可以通过应用程序300使用一个或多个接口呈现相匹配的ACL。
库服务器204还可以被配置成限制向该另外用户呈现的ACL。例如,访问控制模块302可以实现控制如何呈现ACL的一个或多个策略。访问控制模块302可以参考用户简档表308和ACL表306或两者,以确定是否可以向特定用户呈现ACL。具体地说,访问控制模块302可以分别检查在这些表的特权集列402或特权列410中表示的特权。访问控制模块302还可以例如由应用程序300的管理员提供各种安全性策略,其控制如何呈现和管理ACL。
然后,该另外用户可以选择所呈现的ACL中的一个或多个。另外,该另外用户可以指定要向其分配所选ACL的一个或多个项目或资源。然后,应用程序300的处理流到步骤610。
在步骤610,访问控制模块302确定已经从第一用户授予给该另外用户的特权。具体地说,访问控制模块302可以检查用户简档表308,以确定该另外用户如“用户2”是否被授予了分配权限作为其特权的一部分。在一些实施例中,访问控制模块302还可以检查ACL表306,以确定该另外用户是否对所选ACL已被特定授予了特权。当然,本领域的技术人员应当认识到,应用程序300可以使用各种其它技术,例如查询库服务器数据库304中的一个或多个其它表(未示出),确定授予给用户的特权。
例如,如图4A和4B所示,“用户2”实际上已被授予了对“ACL1”的分配权限。因此,在本例中,访问控制模块302将基于用户简档表308和ACL表306中的信息而确定“用户2”已被授予了对“ACL1”的特权。然后,访问控制模块302可以向应用程序300通知授予给该用户的特权。然后,处理流到步骤615。
在步骤615,应用程序300准许该另外用户基于他的特权而向受保护资源分配ACL。例如,应用程序300可以从该另外用户接收用于受保护资源的标识符,然后向ACL表306写入该信息。如图4B所示,应用程序300准许了“用户2”向资源“A1235”和“A1457”分配“ACL1”。另外,应用程序300可以与资源管理器206通信,以表示其资源中的一个或多个已被分配了ACL。依次地,资源管理器206可以基于包括在ACL中的安全性措施而实现对这些资源的一个或多个保护。然后,应用程序300的处理完成。
虽然本发明的实施例被描述为与存储在存储器和其它存储介质中的程序相关联,但是本领域的技术人员应当理解,这些方面也可以存储在其它类型的计算机可读介质上或者从其读取,其中这些计算机可读介质例如为次级存储设备如硬盘、软盘或CD-ROM;来自因特网的载波;或者RAM或ROM的其它形式。从而,本发明不局限于上述实施例,而是由所附权利要求按照其完全等价范围定义。
此外,根据本发明实施例的方法例如图5和6所示的方法可以方便地使用程序模块来实现。在被执行时,这些程序模块可以执行这里公开的步骤和特征,包括参照图5和6的示例性流程图公开的步骤和特征。对于实现上述各种过程,没有指示特定编程语言,因为可以认为,上面描述且在附图中示出的操作、级和过程已被充分地公开,从而允许本领域的普通技术人员实施本发明。而且,存在很多计算机和操作***可以用于实施本发明的实施例。
本发明的上述特征和方面可以在各种环境中实现。这些环境和相关应用可以被具体构造成用于执行本发明的各种处理和操作,或者它们可以包括由程序代码选择性地激活或再配置以提供该功能性的通用计算机或计算平台。这里公开的处理不是固有地与任何特定计算机或其它设备相关,并且这些处理的各方面可以由任何适当的硬件、软件和/或固件的组合实现。例如,各种通用机器可以与根据本发明的教导而编写的程序一起使用,或者可能更方便的是,构造专用设备或***以执行所需方法和技术。
本发明的实施例还涉及计算机可读介质,其包括用于基于本发明实施例的方法和处理而执行各种计算机实现的操作的程序指令或程序代码。这些程序指令可以是为了本发明的目的而特定设计和构造的程序指令,或者它们可以是公知且可用于计算机软件领域的技术人员的类型。程序指令的例子包括例如由编译器产生的机器代码、以及包含可以使用解释器由计算机执行的高级代码的文件。
通过考虑这里公开的本发明的说明书和实施,本发明的其它实施例对于本领域的技术人员将是清楚的。说明书和例子旨在被认为仅是示例性的。

Claims (20)

1.一种创建可以由多个用户使用的访问控制列表的方法,所述方法包括:
从第一用户接收用于访问控制列表的信息;
从第一用户接收已被授予给第二用户的针对该访问控制列表的特权集;以及
基于由第一用户授予的该特权集,准许第二用户使用该访问控制列表。
2.如权利要求1所述的方法,还包括自动地命名该访问控制列表。
3.如权利要求1所述的方法,其中接收针对该访问控制列表的特权集包括:接收表示第二用户已被授予了对该访问控制列表的所有权权限的信息。
4.如权利要求1所述的方法,其中接收针对该访问控制列表的特权集包括:接收表示第二用户已被授予了向资源分配该访问控制列表的权限的信息。
5.一种用于创建可以由多个用户使用的访问控制列表的计算机***,所述设备包括:
存储器,具有程序指令;以及
处理器,响应于所述程序指令,被配置成:
从第一用户接收用于访问控制列表的信息;
从第一用户接收已被授予给第二用户的针对该访问控制列表的特权集;以及
基于由第一用户授予的该特权集,准许第二用户使用该访问控制列表。
6.一种向受保护资源分配访问控制列表的方法,其中所述访问控制列表已经由第一用户创建,并且准许至少一个另外用户使用该访问控制列表,所述方法包括:
接收来自该至少一个另外用户的向该受保护资源分配该访问控制列表的请求;
确定已经从第一用户授予给该至少一个另外用户的针对该访问控制列表的特权集;以及
基于该特权集,准许该至少一个另外用户向该受保护资源分配该访问控制列表。
7.如权利要求6所述的方法,还包括接收来自该至少一个另外用户的修改该访问控制列表的请求。
8.如权利要求6所述的方法,其中确定已经从第一用户授予给该至少一个另外用户的特权集包括:确定第一用户是否向该至少一个另外用户授予了该访问控制列表的所有权权限。
9.如权利要求8所述的方法,其中在被授予了所有权权限时,准许该至少一个另外用户修改该访问控制列表。
10.如权利要求8所述的方法,其中在被授予了所有权权限时,准许该至少一个另外用户删除该访问控制列表。
11.如权利要求6所述的方法,其中确定已经从第一用户授予给该至少一个另外用户的特权集包括:确定第一用户是否向该至少一个另外用户授予了向受保护资源分配该访问控制列表的权限。
12.如权利要求11所述的方法,其中限制该至少一个另外用户修改该访问控制列表,但是准许其向该受保护资源分配该访问控制列表。
13.如权利要求6所述的方法,还包括向该至少一个另外用户提供表示该至少一个另外用户已被授予了特权的访问控制列表的集合的信息。
14.如权利要求13所述的方法,其中向该至少一个另外用户提供表示该至少一个另外用户已被授予了特权的访问控制列表的集合的信息包括:提供与由该至少一个另外用户指定的标准相匹配的访问控制列表的名称。
15.一种用于向受保护资源分配访问控制列表的计算机***,其中所述访问控制列表已经由第一用户创建,并且准许至少一个另外用户使用该访问控制列表,所述***包括:
存储器,具有程序指令;以及
处理器,响应于所述程序指令,包括:
用于接收来自该至少一个另外用户的向该受保护资源分配该访问控制列表的请求的装置;
用于确定已经从第一用户授予给该至少一个另外用户的针对该访问控制列表的特权集的装置;以及
用于基于该特权集,准许该至少一个另外用户向该受保护资源分配该访问控制列表的装置。
16.如权利要求15所述的计算机***,其中还包括用于接收来自该至少一个另外用户的修改该访问控制列表的请求的装置。
17.如权利要求15所述的计算机***,其中用于确定已经从第一用户授予给该至少一个另外用户的特权集的装置包括:用于确定第一用户是否向该至少一个另外用户授予了该访问控制列表的所有权权限的装置。
18.如权利要求15所述的计算机***,其中用于确定已经从第一用户授予给该至少一个另外用户的特权集的装置包括:用于确定第一用户是否向该至少一个另外用户授予了向受保护资源分配该访问控制列表的权限的装置。
19.如权利要求15所述的计算机***,还包括用于向该至少一个另外用户提供表示该至少一个另外用户已被授予了特权的访问控制列表的集合的信息的装置。
20.如权利要求19所述的计算机***,其中用于向该至少一个另外用户提供表示该至少一个另外用户已被授予了特权的访问控制列表的集合的信息的装置包括:用于提供与由该至少一个另外用户指定的标准相匹配的访问控制列表的名称的装置。
CNB2005101186916A 2004-11-05 2005-11-04 向用户/组授予访问控制列表所有权的访问控制***和方法 Active CN100430951C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/982,376 US9697373B2 (en) 2004-11-05 2004-11-05 Facilitating ownership of access control lists by users or groups
US10/982,376 2004-11-05

Publications (2)

Publication Number Publication Date
CN1770169A CN1770169A (zh) 2006-05-10
CN100430951C true CN100430951C (zh) 2008-11-05

Family

ID=36317561

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101186916A Active CN100430951C (zh) 2004-11-05 2005-11-04 向用户/组授予访问控制列表所有权的访问控制***和方法

Country Status (2)

Country Link
US (1) US9697373B2 (zh)
CN (1) CN100430951C (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4552739B2 (ja) * 2005-04-18 2010-09-29 ソニー株式会社 会議システム及び端末装置
US7925666B1 (en) * 2005-10-06 2011-04-12 Hewlett-Packard Development Company, L.P. System and method for managing the application of access control lists on network devices
US20070100830A1 (en) * 2005-10-20 2007-05-03 Ganesha Beedubail Method and apparatus for access control list (ACL) binding in a data processing system
US8326296B1 (en) 2006-07-12 2012-12-04 At&T Intellectual Property I, L.P. Pico-cell extension for cellular network
US7761559B2 (en) * 2006-10-13 2010-07-20 International Business Machines Corporation System and method of remotely managing and loading artifacts
US7720931B2 (en) * 2006-10-13 2010-05-18 International Business Machines Corporation System and method of remotely managing and loading artifacts
US7831576B2 (en) * 2006-12-22 2010-11-09 International Business Machines Corporation File plan import and sync over multiple systems
US7836080B2 (en) * 2006-12-22 2010-11-16 International Business Machines Corporation Using an access control list rule to generate an access control list for a document included in a file plan
US7805472B2 (en) * 2006-12-22 2010-09-28 International Business Machines Corporation Applying multiple disposition schedules to documents
US7979398B2 (en) * 2006-12-22 2011-07-12 International Business Machines Corporation Physical to electronic record content management
US8904391B2 (en) * 2007-04-23 2014-12-02 International Business Machines Corporation Policy-based access control approach to staff activities of a business process
US7984512B2 (en) * 2007-06-14 2011-07-19 Microsoft Corporation Integrating security by obscurity with access control lists
US20090234686A1 (en) * 2008-03-17 2009-09-17 Al Chakra System and method for providing access control in a collaborative environment
US8179847B2 (en) 2008-05-13 2012-05-15 At&T Mobility Ii Llc Interactive white list prompting to share content and services associated with a femtocell
US8719420B2 (en) 2008-05-13 2014-05-06 At&T Mobility Ii Llc Administration of access lists for femtocell service
US20100036845A1 (en) * 2008-08-07 2010-02-11 Research In Motion Limited System and Method for Negotiating the Access Control List of Data Items in an Ad-Hoc Network with Designated Owner Override Ability
US9882769B2 (en) * 2008-08-08 2018-01-30 Blackberry Limited System and method for registration of an agent to process management object updates
CN101677441B (zh) * 2008-09-18 2013-03-20 华为终端有限公司 一种授权控制的方法、装置和***
US8327457B1 (en) * 2008-10-31 2012-12-04 Sprint Communications Company L.P. Managing asset access
US8620955B2 (en) * 2009-03-17 2013-12-31 Novell, Inc. Unified file access across multiple protocols
US8510801B2 (en) 2009-10-15 2013-08-13 At&T Intellectual Property I, L.P. Management of access to service in an access point
US8621647B1 (en) * 2010-01-11 2013-12-31 Google Inc. Restricting privileges of first privileged process in operating system using second privileged process
US9135664B2 (en) 2010-10-29 2015-09-15 Nokia Corporation Method and apparatus for granting rights for content on a network service
WO2012090189A1 (en) * 2010-12-29 2012-07-05 Varonis Systems, Inc. Method and apparatus for ascertaining data access permission of groups of users to groups of data elements
US8744528B2 (en) 2011-05-16 2014-06-03 Lg Electronics Inc. Gesture-based control method and apparatus of an electronic device
WO2014109022A1 (ja) * 2013-01-09 2014-07-17 株式会社野村総合研究所 アクセス制御装置、アクセス制御方法、およびプログラム
US10129173B2 (en) 2013-01-31 2018-11-13 Nec Corporation Network system and method for changing access rights associated with account IDs of an account name
EP3296914B1 (en) * 2013-02-19 2019-07-24 Sony Interactive Entertainment Inc. Information processing system
US9298933B2 (en) * 2013-07-18 2016-03-29 Sybase, Inc. Autonomous role-based security for database management systems
CN103441883B (zh) * 2013-09-04 2016-10-05 上海辰锐信息科技公司 一种***用户管理方法
CN104504343A (zh) * 2014-12-05 2015-04-08 国云科技股份有限公司 一种基于资源粒度的权限控制方法
US10277601B1 (en) * 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
US9805084B2 (en) 2015-05-14 2017-10-31 Walleye Software, LLC Computer data system data source refreshing using an update propagation graph
CN104901958B (zh) * 2015-05-21 2017-11-07 大连理工大学 一种用户驱动的sdn网络集中式访问控制方法
CN105404821B (zh) * 2015-10-23 2018-05-04 上海帝联信息科技股份有限公司 操作***的文件访问控制方法及装置
US10270778B2 (en) 2016-03-21 2019-04-23 Google Llc Methods and systems for dynamic creation of access control lists
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
US20210064775A1 (en) * 2019-09-03 2021-03-04 International Business Machines Corporation Nlp workspace collaborations
US20230421597A1 (en) * 2022-06-28 2023-12-28 QSecGrid, Inc. Cybersecurity risk assessment and measurement

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145489A (zh) * 1995-06-06 1997-03-19 美国电报电话公司 数据库访问管理的***和方法
WO2001061487A2 (en) * 2000-02-18 2001-08-23 Netscape Communications Corporation Access control via properties system
WO2003027834A2 (de) * 2001-09-26 2003-04-03 Siemens Aktiengesellschaft Verfahren zur rollenbasierten steuerung des zugriffs auf ressourcen eines datenverarbeitungssystems, datenverarbeitungssystem und computerprogramm
CN1451109A (zh) * 1999-11-22 2003-10-22 耐兹凯卜通信股份有限公司 简化的ldap访问控制语言***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412070B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Extensible security system and method for controlling access to objects in a computing environment
US6321238B1 (en) 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
WO2001055870A1 (en) 2000-01-26 2001-08-02 Yefim Zhuk Distributed active knowledge and process base
US7013485B2 (en) * 2000-03-06 2006-03-14 I2 Technologies U.S., Inc. Computer security system
US6732100B1 (en) 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US7447782B2 (en) 2000-12-18 2008-11-04 Sun Microsystems, Inc. Community access control in a multi-community node
US20020162077A1 (en) 2001-04-30 2002-10-31 Chau-Iou Jeng In-sync hierarchy browser which provides version and access control on design collaboration for chip designs
US7380271B2 (en) 2001-07-12 2008-05-27 International Business Machines Corporation Grouped access control list actions
US7296056B2 (en) 2001-07-30 2007-11-13 International Business Machines Corporation Method, system, and program for selecting one user to assign a work item in a workflow
US7124192B2 (en) 2001-08-30 2006-10-17 International Business Machines Corporation Role-permission model for security policy administration and enforcement
JP4574957B2 (ja) * 2002-05-30 2010-11-04 株式会社東芝 グループ管理機関装置、利用者装置、サービス提供者装置及びプログラム
US6950825B2 (en) 2002-05-30 2005-09-27 International Business Machines Corporation Fine grained role-based access to system resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145489A (zh) * 1995-06-06 1997-03-19 美国电报电话公司 数据库访问管理的***和方法
CN1451109A (zh) * 1999-11-22 2003-10-22 耐兹凯卜通信股份有限公司 简化的ldap访问控制语言***
WO2001061487A2 (en) * 2000-02-18 2001-08-23 Netscape Communications Corporation Access control via properties system
WO2003027834A2 (de) * 2001-09-26 2003-04-03 Siemens Aktiengesellschaft Verfahren zur rollenbasierten steuerung des zugriffs auf ressourcen eines datenverarbeitungssystems, datenverarbeitungssystem und computerprogramm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
访问控制技术研究进展. 刘宏月,范九伦,马建峰.小型微型计算机***,第25卷第1期. 2004
访问控制技术研究进展. 刘宏月,范九伦,马建峰.小型微型计算机***,第25卷第1期. 2004 *

Also Published As

Publication number Publication date
US9697373B2 (en) 2017-07-04
CN1770169A (zh) 2006-05-10
US20060101019A1 (en) 2006-05-11

Similar Documents

Publication Publication Date Title
CN100430951C (zh) 向用户/组授予访问控制列表所有权的访问控制***和方法
US9591000B2 (en) Methods, systems, and computer readable media for authorization frameworks for web-based applications
Colombo et al. Privacy aware access control for big data: A research roadmap
CN101663671B (zh) 对web服务资源的访问的授权
RU2586866C2 (ru) Дифференцирование набора признаков участником арендуемой среды и пользователем
US9519940B1 (en) Method and system for recording and using a traveler's travel preferences
US7478094B2 (en) High run-time performance method for setting ACL rule for content management security
US7124192B2 (en) Role-permission model for security policy administration and enforcement
US7630974B2 (en) Multi-language support for enterprise identity and access management
US20110313981A1 (en) Data Privacy, Redaction and Integrity for Relational Databases
WO2003015342A1 (en) Dynamic rules-based secure data access system for business computer platforms
CN102165447A (zh) 用于管理对于实体的组织信息的访问的技术
WO2006069866A1 (en) Automatic enforcement of obligations according to a data-handling policy
US8589306B1 (en) Open source license management
US20100217716A1 (en) Method and apparatus for restricting access to an electronic product release within an electronic software delivery system
US7035838B2 (en) Methods and systems for organizing information stored within a computer network-based system
US9158932B2 (en) Modeled authorization check implemented with UI framework
US9697279B2 (en) Online safety deposit box
JP2003323528A (ja) 人事管理システムおよびその方法
US9043328B2 (en) Configurable catalog builder system
CN107679065A (zh) 数据展示方法、装置及计算机可读存储介质
US7506053B1 (en) Software distribution system and method
CN101794312A (zh) 基于安全视图的xml访问控制方法
Pernul Canonical security modeling for federated databases
US9600639B2 (en) Method for automating the management and interpretation of digital documents and their owners rights metadata for generating digital rights management protected contents

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant