IP Library Granted Patent US 9,886,590
Granted Patent B2
US 9,886,590 · App. 12/508,011 · Granted Feb 6, 2018

Techniques for enforcing application environment based security policies using role based access control

Inventors: Janaki Narasinghanallur (San Ramon, CA); Min-Hank Ho (Newark, CA); Thomas Keefe (Mill Valley, CA); Eric Sedlar (Portola Valley, CA); Chi Ching Chui (San Ramon, CA); Vikram Pesati (San Jose, CA)
Assignee: Oracle International Corporation
G06F21/6218
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 9,886,590
App. No.
12/508,011
Granted
Feb 6, 2018
Kind
B2
Abstract

An application platform examines, at runtime, various specified aspects of an application environment in which an application interacts with a user. Such examinations are made to determine a state for each of the various specified aspects. Further, the platform automatically activates particular application environment roles for the user depending on the result of the examinations. For example, an application environment role may be activated representing a particular detected mode of communication (e.g., encrypted network communications) or a particular detected manner of authentication (e.g., password authentication). Such activations are based on the detected states and specified states for the various specified aspects of the application environment. Such activations may occur in the context of an application attempting to perform an operation on an access controlled object on behalf of a user. Further, such activations may occur in the context of establishing or maintaining a user session for a user of an application.

Claims (48)

1. A computer-implemented method for enforcing application environment based security policies using role based access control, the method comprising:

examining an aspect of an application environment in which an application interacts with a user to determine whether the application environment aspect is in a particular state;

based on determining the application environment aspect is in the particular state, activating an application environment role in a session established at a server;

wherein the user is not assigned to the application environment role;

sending a request to the server on behalf of the user to perform an operation on an access controlled object;

based on the application environment role being activated in the session, the server allowing performance of the operation on the access controlled object;

wherein the application environment role is associated with an access control list;

wherein the access control list is associated with the access controlled object;

wherein the access control list specifies that the application environment role has permission to perform the operation on the access controlled object; and

wherein the server allowing the performance of the operation on the access controlled object is further based on the access control list specifying that the application environment role has permission to perform the operation on the access controlled object.

2. The computer-implemented method of claim 1 , wherein the operation of examining an aspect of an application environment in which an application interacts with the user includes examining a network connection between the user and the application.

3. The computer-implemented method of claim 2 , wherein the operation of examining a network connection between user and the application includes detecting a form of encryption used to encrypt communications over the network connection.

4. The computer-implemented method of claim 3 , wherein the form of encryption is selected from the group consisting of Transport Layer Security (TSL) and Secure Sockets Layer (SSL).

5. The computer-implemented method of claim 2 , wherein the operation of examining a network connection between the user and the application includes detecting a network source of the network connection.

6. The computer-implemented method of claim 5 , wherein detecting a network source of the network connection includes determining whether the network source of the network connection is inside a network firewall.

7. The computer-implemented method of claim 2 , wherein the operation of examining a network connection between the user and the application includes detecting whether the network connection transits a virtual private network (VPN).

8. The computer-implemented method of claim 1 , wherein the operation of examining an aspect of an application environment in which an application interacts with the user includes detecting a manner of authenticating the user.

9. The computer-implemented method of claim 8 , wherein the manner of authenticating the user comprises username and password authentication.

10. The computer-implemented method of claim 1 , wherein the operation of examining an aspect of an application environment in which an application interacts with the user is performed in response to the application establishing a network connection to a server.

11. The computer-implemented method of claim 1 , wherein the session comprises a database session maintained for the user, and wherein the operation of examining an aspect of an application environment in which an application interacts with the user is performed in response to establishing the database session for the user.

12. The computer-implemented method of claim 1 , wherein the access controlled object comprises a database table, a database column, or a database row.

13. The method of claim 1 , further comprising:

sending a second request to the server on behalf of the user to perform a second operation on an access controlled object; and

based on the application environment role being activated in the session, the server allowing performance of the second operation on the access controlled object.

14. A non-transitory computer-readable medium that stores instructions which, when executed by one or more processors, cause performance of operations comprising:

examining an aspect of an application environment in which an application interacts with a user to determine whether the application environment aspect is in a particular state;

based on determining the application environment aspect is in the particular state, activating an application environment role in a session established at a server;

wherein the user is not assigned to the application environment role;

sending a request to the server on behalf of the user to perform an operation on an access controlled object; and

based on the application environment role being activated in the session, the server allowing performance of the operation on the access controlled object;

wherein the application environment role is associated with an access control list;

wherein the access control list is associated with the access controlled object;

wherein the access control list specifies that the application environment role has permission to perform the operation on the access controlled object; and

wherein the server allowing the performance of the operation on the access controlled object is further based on the access control list specifying that the application environment role has permission to perform the operation on the access controlled object.

15. The non-transitory computer-readable medium of claim 14 , wherein the operation of examining an aspect of an application environment in which an application interacts with the user includes examining a network connection between the user and the application.

16. The non-transitory computer-readable medium of claim 15 , wherein the operation of examining a network connection between the user and the application includes detecting a form of encryption used to encrypt communications over the network connection.

17. The non-transitory computer-readable medium of claim 16 , wherein the form of encryption is selected from the group consisting of Transport Layer Security (TSL) and Secure Sockets Layer (SSL).

18. The non-transitory computer-readable medium of claim 15 , wherein the operation of examining a network connection between the user and the application includes detecting a network source of the network connection.

19. The non-transitory computer-readable medium of claim 18 , wherein detecting a network source of the network connection includes determining whether the network source of the network connection is inside a network firewall.

20. The non-transitory computer-readable medium of claim 15 , wherein the operation of examining a network connection between the user and the application includes detecting whether the network connection transits a virtual private network (VPN).

21. The non-transitory computer-readable medium of claim 14 , wherein the operation of examining an aspect of an application environment in which an application interacts with the user includes detecting a manner of authenticating the user.

22. The non-transitory computer-readable medium of claim 21 , wherein the manner of authenticating the user comprises username and password authentication.

23. The non-transitory computer-readable medium of claim 14 , wherein the operation of examining an aspect of an application environment in which an application interacts with the user is performed in response to the application establishing a network connection to the server.

24. The non-transitory computer-readable medium of claim 14 , wherein the session comprises a database session maintained for the user, and wherein the operation of examining an aspect of an application environment in which an application interacts with the user is performed in response to establishing the database session for the user.

25. The non-transitory computer-readable medium of claim 14 , wherein the access controlled object comprises a database table, a database column, or a database row.

26. The non-transitory computer-readable medium of claim 14 , the operations further comprising:

sending a second request to the server on behalf of the user to perform a second operation on an access controlled object; and

based on the application environment role being activated in the session, the server allowing performance of the second operation on the access controlled object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2009
From: NARASINGHANALLUR, JANAKI; HO, MIN-HANK; KEEFE, THOMAS; SEDLAR, ERIC; CHUI, CHI CHING; PESATI, VIKRAM
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 022998/0826 →
Continuity (1)
Related Publication 20110023082A1 · Jan 27, 2011