The invention relates to the security of files, objects or other resources on a network and how access to the resources is granted.
Security levels are used to limit access to resources, such as applications, objects, and files, on a computer. The security levels for resources are assigned as a function of a computer's file system. Each resources requires a certain security level to be accessed, viewed or updated. Examples of the security levels, ordered from highest to lowest, are root/admin, super user, user, and guest. Thus, a database table may require “user” level access to read the contents, “super user” to change a table entry, and “admin” to delete the table. A user with a “guest” access level would not be able to even read the table. Assignment of security levels to resources and limiting user access to restricted resources is well known in the art.
Each server, computer, or logical partition on a network has its own file system. Because resources are distributed across different file systems, a “resource manager” is used to create a hierarchy categorizing the files, applications and other objects on the network. An “authorization engine” is part of the resource manager that controls access to each resource. The authorization engine uses the file system security levels for each component of the network. Because of the differences in security protocols between file systems, users of a resource on one file system on the network may have difficulty accessing another resource on another file system on the network.
Middleware is software designed to facilitate interoperability between different file systems on a network. IBM's WEBSPHERE Virtual Member Manger is an example of middleware. WEBSPHERE Virtual Member Manger and other middleware products use “access control engines” to overcome problems caused by different security protocols used by different file systems on the same network. An access control engine insulates applications from a resource manager by separating the authorization engine from the rest of the resource manager. The access control engine can, for example, supply a security proxy granting a user or an object access to another resource.
IBM developed a View Processor plug-in to WEBSPHERE Virtual Member Manger for displaying multiple views on the same set of organizational data. The View Processor works with WEBSPHERE Virtual Member Manger components, including the access control engine. The View Processor collects organizational data from repositories on each file system, then displays the organizational data in a uniform manner. The View Processor transforms the organizational data related to resources on a file system into a “delegated administration hierarchy.” Each resource on a delegated administration hierarchy can be represented by a delegated administration path, which describes the resource's physical or logical location in the delegated administration hierarchy. The View Processor allows network users or administrators to define custom organizational hierarchies that transcend the physical or logical locations on a file system. Custom organizational hierarchies allow resources to be categorized by how the resources interrelate independently from how or where the resources are stored on the network. Custom organizational hierarchies can organize resources by a business functional role or by a corporate reporting structure. For example, the Human Resources group of a company may need to access payroll data on a first server with a LDAP file system and may need to access time keeping data on a second server with a different file system. A custom Human Resources hierarchy can be set up that shows both the payroll and time keeping resources within the same organizational structure. A second example of a custom organization hierarchy could display a reporting view of an organization where the reporting hierarchy consists of managers and their employees.
Although access control engines overcome some of the limitations caused by native file system security protocols, access control engines are still limited by the defined organizational hierarchies of the underlying file systems. The access control engine must work within these predefined frameworks when assigning security proxies for granting access to resources on different file systems on a network. A need exists for a method to transform pre-defined organizational hierarchies of underlying file systems to a uniform custom organizational hierarchy, and apply the security protocols of the pre-defined underlying organizational hierarchy to the custom organizational hierarchy for use by an access control engine.
The Custom Access Controller adds a custom security hierarchy to the organizational data in the View Processor of WEBSPHERE Virtual Member Manager. Whenever an entity or application attempts to access a resource, the access control engine starts the View Processor to identify a delegated administration path with the organizational data and assigned security policy for the resource. The assigned security policy identifies the security policy of the entity or application and applies the security policy to the delegated administration path. The delegated administration path and security policies are sent to an access control engine that grants or denies access to the resource. A View Processor Interface allows network administrators to create and modify custom security hierarchies.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will be understood best by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
The principles of the present invention are applicable to a variety of computer hardware and software configurations. The term “computer hardware” or “hardware,” as used herein, refers to any machine or apparatus that is capable of accepting, performing logic operations on, storing, or displaying data, and includes without limitation processors and memory; the term “computer software” or “software,” refers to any set of instructions operable to cause computer hardware to perform an operation. A “computer,” as that term is used herein, includes without limitation any useful combination of hardware and software, and a “computer program” or “program” includes without limitation any software operable to cause computer hardware to accept, perform logic operations on, store, or display data. A computer program may, and often is, comprised of a plurality of smaller programming units, including without limitation subroutines, modules, functions, methods, and procedures. Thus, the functions of the present invention may be distributed among a plurality of computers and computer programs. The invention is described best, though, as a single computer program that configures and enables one or more general-purpose computers to implement the novel aspects of the invention. For illustrative purposes, the inventive computer program will be referred to as the “Custom Access Controller”
Additionally, the Custom Access Controller is described below with reference to an exemplary network of hardware devices, as depicted in
Custom Access Controller 200 typically is stored in a memory, represented schematically as memory 220 in
Referring to
A preferred form of the invention has been shown in the drawings and described above, but variations in the preferred form will be apparent to those skilled in the art. The preceding description is for illustration purposes only, and the invention should not be construed as limited to the specific form shown and described. The scope of the invention should be limited only by the language of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6505244 | Natarajan et al. | Jan 2003 | B1 |
6718380 | Mohaban et al. | Apr 2004 | B1 |
6751662 | Natarajan et al. | Jun 2004 | B1 |
6765864 | Natarajan et al. | Jul 2004 | B1 |
6769024 | Natarajan et al. | Jul 2004 | B1 |
7019740 | Georgalas | Mar 2006 | B2 |
20030018760 | Putzolu et al. | Jan 2003 | A1 |
20030088614 | Bellaton et al. | May 2003 | A1 |
20030097575 | Owada et al. | May 2003 | A1 |
20040148517 | Banks-Binici et al. | Jul 2004 | A1 |
20040254884 | Haber et al. | Dec 2004 | A1 |
20050050073 | Demiroski et al. | Mar 2005 | A1 |
20050071449 | Alex et al. | Mar 2005 | A1 |
20060028252 | McCauley et al. | Feb 2006 | A1 |
20070185916 | Prahlad et al. | Aug 2007 | A1 |
20080021921 | Horn | Jan 2008 | A1 |
Number | Date | Country |
---|---|---|
1653710 | May 2006 | EP |
Number | Date | Country | |
---|---|---|---|
20080168530 A1 | Jul 2008 | US |