IP Library Granted Patent US 7,320,141
Granted Patent B2
US 7,320,141 · App. 09/814,808 · Granted Jan 15, 2008

Method and system for server support for pluggable authorization systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,320,141
App. No.
09/814,808
Granted
Jan 15, 2008
Kind
B2
Abstract

A method, system, apparatus, and computer program product is presented for plugging in a standard authorization system in a manner such that legacy applications can use the authorization APIs and backend remote interfaces of a legacy authorization system. When a legacy application makes a call intended for a routine within the legacy authorization system, the call is redirected to make the appropriate calls to the APIs of the standard authorization system.

Claims (47)

1. A method for authorizing access to a protected resource within a data processing system, the method comprising:

intercepting a remote procedure call for a remote routine of a Distributed Computing Environment (DCE) authorization service by an authorization plug-in associated with a second authorization service, wherein the authorization plug-in exports remote procedure call endpoints for the remote routines of the DCE authorization service, and wherein the second authorization service supports a standard-compliant authorization application programming interface;

processing the authorization request in the authorization plug-in by calling application programming interfaces of the second authorization service;

recompiling or relinking a target application representing one or more protected resources to include program instructions from the authorization plug-in;

directing calls within the target application to application programming interfaces of the DCE authorization service to be executed by the program instructions from the authorization plug-in;

accepting a call in the authorization plug-in to a “dce_acl_is_client_authorized” application programming interface;

authenticating the authorization credentials passed by the initiator to the target application;

retrieving the privilege attribute certificate from the DCE EPAC structure;

mapping a DCE Access Control List (ACL) manager Universally Unique Identifier (UUID) from the DCE EPAC structure to a resource manager in the second authorization service;

mapping DCE ACL UUID from the DCE EPAC structure to a resource managed by the second authorization service;

mapping the DCE permission set from the DCE EPAC structure to a permission set of the second authorization service;

calling an application programming interface of the second authorization service to make an authorization decision based on the permission set of the second authorization service, the privilege attribute certificate, the resource, and the resource manager; and returning an indication of the authorization decision to the target application.

2. The method of claim 1 further comprising:

intercepting a call to a DCE “rs_login_get_info” routine;

retrieving privilege attributes for an initiator from a privilege attribute database in the second authorization service; and

returning the privilege attributes to a DCE application programming interface.

3. The method of claim 2 further comprising:

intercepting a call to a DCE “rpriv_get_epac” routine;

obtaining authorization credentials for a DCE privilege service;

storing the privilege attributes in a privilege attribute certificate;

embedding the authorization credentials and the privilege attribute certificate in a DCE Extended Privilege Attribute Certificate (EPAC) structure; and

returning the EPAC structure to a DCE application programming interface.

4. The method of claim 1 wherein the standard-compliant authorization application programming interface is The Open Group Technical Standard C908 for an Authorization API.

5. An apparatus for authorizing access to a protected resource within a data processing system, the apparatus comprising:

first intercepting means for intercepting a remote procedure call for a remote routine of a Distributed Computing Environment (DCE) authorization service by an authorization plug-in associated with a second authorization service, wherein the authorization plug-in exports remote procedure call endpoints for the remote routines of the DCE authorization service, and wherein the second authorization service supports a standard-compliant authorization application programming interface;

processing means for processing the authorization request in the authorization plug-in by calling application programming interfaces of the second authorization service;

modifying means for recompiling or reliniking a target application representing one or more protected resources to include program instructions from the authorization plug-in; and

directing means for directing calls within the target application to application programming interfaces of the DCE authorization service to be executed by the program instructions from the authorization plug-in;

accepting means for accepting a call in the authorization plug-in to a “dce_acl_is_client_authorized” application programming interface; and

authenticating means for authenticating the authorization credentials passed by the initiator to the target application;

second retrieving means for retrieving the privilege attribute certificate from the DCE EPAC structure;

first mapping means for mapping a DCE Access Control List (ACL) manager Universally Unique Identifier (UUID) from the DCE EPAC structure to a resource manager in the second authorization service;

second mapping means for mapping DCE ACL UUID from the DCE EPAC structure to a resource managed by the second authorization service;

third mapping means for mapping the DCE permission set from the DCE EPAC structure to a permission set of the second authorization service;

calling means for calling an application programming interface of the second authorization service to make an authorization decision based on the permission set of the second authorization service, the privilege attribute certificate, the resource, and the resource manager; and

third returning means for returning an indication of the authorization decision to the target application.

6. The apparatus of claim 5 further comprising:

second intercepting means for intercepting a call to a DCE “rs_login_get_info” routine;

first retrieving means for retrieving privilege attributes for an initiator from a privilege attribute database in the second authorization service; and

first returning means for returning the privilege attributes to a DCE application programming interface.

7. The apparatus of claim 6 farther comprising:

third intercepting means for intercepting a call to a DCE “rpriv_get_epac” routine;

obtaining means for obtaining authorization credentials for a DCE privilege service;

storing means for storing the privilege attributes in a privilege attribute certificate;

embedding means for embedding the authorization credentials and the privilege attribute certificate in a DCE Extended Privilege Attribute Certificate (EPAC) structure; and

second returning means for returning the EPAC structure to a DCE application programming interface.

8. The apparatus of claim 5 wherein the standard-compliant authorization application programming interface is The Open Group Technical Standard C908 for an Authorization API.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: MIDWAY TECHNOLOGY COMPANY LLC
To: SERVICENOW, INC.
Reel/Frame 038324/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MIDWAY TECHNOLOGY COMPANY LLC
Reel/Frame 037704/0257 →