U.S. Patent No. 6,976,023, entitled “SYSTEM AND METHOD FOR MANAGING APPLICATION SPECIFIC PRIVILEGES IN A CONTENT MANAGEMENT SYSTEM”, Ser. No. 10/131,008, entitled “SYSTEM AND METHOD FOR ENSURING SECURITY WITH MULTIPLE AUTHENTICATION SCHEMES”, and Ser. No. 10/131,659, entitled “SYSTEM AND METHOD FOR INCREMENTAL REFRESH OF A COMPILED ACCESS CONTROL TABLE IN A CONTENT MANAGEMENT SYSTEM” filed concurrently herewith are assigned to the same assignee hereof and contain subject matter related, in certain respect, to the subject matter of the present application. The above identified patent applications are incorporated herein by reference.
1. Technical Field of the Invention
This invention relates to a system and method for managing a database. More particularly, to the configurable binding of controlled entities to access control lists.
2. Background Art
Access control is an important element in a content management system. An access control list (ACL) is used to determine who can access an entity and what operations can be performed on that entity.
IBM Content Manager Version 7 (CM V7) allows an ACL to be associated with either an item or an index class (a table of multiple items with the same attributes). The resolution of access control is based on the entity and the operation. It does not provide the flexibility that allows the resolution to be made at either the item level or the index class level. In addition, with respect to consistency, the ACL of the index class may allow a user to retrieve the items in the index class, but ACL of the item may not allow the user to access the content.
There is, therefore, a need in the art for a system and method for providing configurable binding of ACLs for an item and an item type (a group of tables containing items with same attributes) in order to improve flexibility and consistency on access control resolution.
It is an object of the invention to provide an improved system and method for managing access to entities.
A system and method for authorizing access to a controlled entity by a user by binding an access control list (ACL) to the controlled entity selectively at item type, item, mixed, or library level. A set of user privileges is provided for each user, and that set is intersected with the ACL to authorize access to the controlled entity.
Other features and advantages of this invention will become apparent from the following detailed description of the presently preferred embodiment of the invention, taken in conjunction with the accompanying drawings.
Referring to
Referring to
Referring to
Referring to
User table 16 columns include user ID 130, user kind 140, user privilege set code 142, grant privilege set code 146, default ACL code 148, password 156, and user name 152. User ID 130 is the ID of the individual user or group. For an individual user 141, user ID 130 should match his DBMS user ID. The CM 20 uses this value for user authentication and access control. For a group 141, user ID 130 contains the group name. User kind 140 indicates whether this entry 141 represents an individual user or a group. User privilege set code 142 denotes the user privileges for this user 141. The privilege set 158 must be defined first, and this value is not valid for groups. It is set to 1 by CM system 20 for groups. User privilege set code 142 may be updated. Grant privilege set code 146 is the code assigned to new users 141 by a user 141 who is authorized to create users but not grant privileges to the new users. This value 146 is not valid for groups, and it can be updated. A system administrator GUI for creating a user 141 must have an entry field for that user's grant privilege set code 146. Default ACL code 148 is used to associate with items 42 when the access control 104 is configured at item level if this user 141 does not provide an ACL code when he creates items 42. Password 156 is the encrypted user password. User name 152 is the full name of this user or group 141.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
CM system management entities, aka System Entities 49, such as system tables, views, indexes and stored procedures are not classified as controlled entities 42, and therefore have no ACL 44 associated with them. Access to CM system entities 49 is authorized only by the system administration 34 and data access privileges 36.
In accordance with the preferred embodiment of the invention, a system and method is provided for access control list (ACL) binding with the following levels:
Based on the ACL binding level, an ACL will be bound to the controlled entities. The ACL checking can be performed at the Item Type level, at the Item level, at the Mixed level, or at the entire Library level.
The binding level defines which ACL level is to be managed. ACL binding level column 104 in the system control table (ICMSTSysControl) 31 is used to control both the access of item types and items. In an exemplary embodiment, current valid values for binding level 104 are:
An item type 161, 165 comprises one or more controlled entities (or, items) 40, such as component tables 162, 164. Each component table can have one (base) or more views 166, 168, 169. A group of views (in this example, 168, 169, one from each component table 162, 164) are included in an item type view 163. Other groups of views from component tables 162, 164 may be included in additional item type view 167.
For getItemType, the ACL code 133 of each item type view 163, 167 is checked. If any one of the item type views 163, 167 is granted, the item type 161 and the granted item type views 163, 167 are returned. If none of the item type views 163, 167 of the item type 161 is granted, the item type 161 and item type views 163, 167 are not returned.
For getItem, as long as the user can access the item type view 167, the user can access the item, in this case component tables 162, 164.
For getItemType, all item types 161, 165 and item type views 163, 167 are returned.
For getItem, the ACL check is executed for each item 162, 164.
This binding level 104 allows a user to control some item types but not all item types.
Item level ACL flag 172 indicates whether the binding of this item 161 to ACL 133 is configured at item level. Item level ACL flag 172 is used in conjunction with the system parameter ACLBindingLevel 104
1—True, this item type 161 ACL binding is at item level 135, 137, 138.
This column 174 stores the ACL setting for the entire Item Type 161. It is used in two ways: (1) ACL binding enforcement or (2) default ACL resolution, depending on system configuration
When item type ACL binding in item level ACL flag column 176 in item type definitions table 170 is configured at: (1) item type level, this value 174 is enforced so that all items 162, 164 in this type 161 are bound to this ACL 133; (2) item level, this value 174 is used as the default ACL 133. If ACL code 133 is not set, item type ACL code 174 is used. If the item type ACL binding in the item level ACL flag column 172 is at item type level:
The ACL is a constant, defined in library ACL code column 106 in the IBMSTSysControl table 31.
For get item type, if the ACL 106 is granted, all item types 161, 165 and item type views 163, 167 are returned. Otherwise, no item type 161, 165 or item type view 163, 167 is returned.
For get item, all items 162, 164 are checked by the same ACL code 106.
It is an advantage of the invention that there is provided an improved system and method for managing access to entities.
It is a further advantage of the invention that there is provided an improved system and method for handling configurable binding of access control lists in a content management system.
It will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. In particular, it is within the scope of the invention to provide a computer program product or program element, or a program storage or memory device such as a solid or fluid transmission medium, magnetic or optical wire, tape or disc, or the like, for storing signals readable by a machine, for controlling the operation of a computer according to the method of the invention and/or to structure its components in accordance with the system of the invention.
Further, each step of the method may be executed on any general computer, such as IBM Systems designated as zSeries, iSeries, xSeries, and pSeries, or the like and pursuant to one or more, or a part of one or more, program elements, modules or objects generated from any programming language, such as C++, Java, Pl/1, Fortran or the like. And still further, each said step, or a file or object or the like implementing each said step, may be executed by special purpose hardware or a circuit module designed for that purpose.
Accordingly, the scope of protection of this invention is limited only by the following claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
5390312 | Chairot et al. | Feb 1995 | A |
5495533 | Linehan et al. | Feb 1996 | A |
5504892 | Atsatt et al. | Apr 1996 | A |
5552776 | Wade et al. | Sep 1996 | A |
5560005 | Hoover et al. | Sep 1996 | A |
5627987 | Nozue et al. | May 1997 | A |
5649099 | Theimer et al. | Jul 1997 | A |
5701458 | Bsaibes et al. | Dec 1997 | A |
5758153 | Atsatt et al. | May 1998 | A |
5774668 | Choquier et al. | Jun 1998 | A |
5778222 | Herrick et al. | Jul 1998 | A |
5941947 | Brown et al. | Aug 1999 | A |
6014666 | Helland et al. | Jan 2000 | A |
6052785 | Lin et al. | Apr 2000 | A |
6105027 | Schneider | Aug 2000 | A |
6141754 | Choy | Oct 2000 | A |
6161139 | Win et al. | Dec 2000 | A |
6195705 | Leung | Feb 2001 | B1 |
6256715 | Hansen | Jul 2001 | B1 |
6308173 | Glasser et al. | Oct 2001 | B1 |
6438549 | Aldred et al. | Aug 2002 | B1 |
6460141 | Olden | Oct 2002 | B1 |
6470353 | Yaung et al. | Oct 2002 | B1 |
6523027 | Underwood | Feb 2003 | B1 |
6581060 | Choy | Jun 2003 | B1 |
6609128 | Underwood | Aug 2003 | B1 |
6633878 | Underwood | Oct 2003 | B1 |
6718535 | Underwood | Apr 2004 | B1 |
6772350 | Belani et al. | Aug 2004 | B1 |
6823338 | Byrne et al. | Nov 2004 | B1 |
6823452 | Doyle et al. | Nov 2004 | B1 |
6976023 | Chen et al. | Dec 2005 | B2 |
7016907 | Boreham et al. | Mar 2006 | B2 |
20010037379 | Livnat | Nov 2001 | A1 |
Number | Date | Country |
---|---|---|
WO9940502 | Aug 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20030200443 A1 | Oct 2003 | US |