IP Library Granted Patent US 9,578,009
Granted Patent B2
US 9,578,009 · App. 14/747,778 · Granted Feb 21, 2017

System and method for supporting security in a multitenant application server environment

Inventors: William S. Hopkins (Burlington, MA); Craig Perez (Nashua, NH); David A. Guy (Burlington, MA); Peter Bower (Hollis, NH); Juan Li (Needham, MA); Jeff J. Tancill (Merrimack, NH); Krishna Sriramadhesikan (Cupertino, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L63/08G06F17/30584G06F21/604G06F21/62H04L47/70H04L63/105H04L67/02H04L67/10
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,578,009
App. No.
14/747,778
Filed
Jun 23, 2015
Granted
Feb 21, 2017
Kind
B2
Examiner
LE, KHOI V
Art Unit
2436
USPC
726/6
Abstract

In accordance with an embodiment, described herein is a system and method for providing security in a multitenant application server environment. In accordance with an embodiment, per-partition security configuration includes: per-partition security realm (including configuration for authentication, authorization, credential mapping, auditing, password validation, certificate validation, and user lockout); SSL configuration, including keys, certificates, and other configuration attributes; and access control for partition and global resources. An administrator can designate one or more partition users as partition administrators, via grant of roles.

Claims (88)

1. A method for providing security in a multitenant application server environment (MASE) comprising a plurality of partitions, a plurality of partition resources and a plurality of global resources, the method comprising:

defining a plurality of security realms in the MASE, including an admin security realm, a first security realm, and a second security realm;

configuring a first partition of the plurality of partitions of the MASE to have a first plurality of partition resources of the plurality of partition resources of the MASE;

configuring a second partition of the plurality of partitions of the MASE to have a second plurality of partition resources of the plurality of partition resources of the MASE;

providing a first security configuration associating the first partition with the first security realm;

providing a second security configuration associating the second partition with the second security realm;

associating a first primary identity domain with the first partition, wherein the first primary identity domain represents a first plurality of users associated with a first tenant;

associating each of the first plurality of partition resources of the MASE with the first primary identity domain;

associating a second primary identity domain with the second partition wherein the second primary identity domain represents a second plurality of users associated with a second tenant;

associating each of the second plurality of partition resources of the MASE with the second primary identity domain;

operating each of said admin security realm, first security realm, and second security realm simultaneously at runtime in the MASE to control authentication and authorization for access to said plurality of partition resources and said plurality of global resources;

wherein said operating step includes providing an authorization service in the MASE which in response to receiving a call from a user to access a partition resource of the plurality of partition resources compares a primary identity domain associated with said user to a primary identity domain associated with said partition resource and authorizes access to said partition resource only if the primary identity domain associated with said user matches the primary identity domain associated with said partition resource;

whereby the first plurality of users associated with the first tenant have access to the first plurality of partition resources of the first partition but not the second plurality of partition resources of the second partition; and

whereby the second plurality of users associated with the second tenant have access to the second plurality of partition resources of the second partition but not the first plurality of partition resources of the first partition.

2. The method of claim 1 , further comprising:

configuring the first primary identity domain to reference a first identity store for storing a first representation of the first plurality of users associated with the first tenant; and

configuring the second primary identity domain to reference a second identity store, different than the first identity store, for storing a second representation of the second plurality of users associated with the second tenant.

3. The method of claim 1 , further comprising:

configuring the first primary identity domain to reference a first portion of an identity store for storing a first representation of the first plurality of users associated with the first tenant; and

configuring the second primary identity domain to reference a second portion of said identity store for storing a second representation of the second plurality of users associated with the second tenant.

4. The method of claim 1 , further comprising:

associating an admin identity domain with the multitenant application server environment, wherein the admin identity domain represents a plurality of system administrators of the multitenant application server environment; and

whereby the plurality of system administrators associated with the multitenant application server environment have access to said plurality of global resources.

5. The method of claim 1 , further comprising:

providing a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users.

6. The method of claim 1 , further comprising:

providing a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users; and

providing a second authentication service configured to authenticate the second plurality of users associated with the second tenant and generate second signed principals identifying said second primary identity domain in combination with one or more of said second plurality of users.

7. A non-transitory computer-readable medium including instructions stored thereon for providing security in a multitenant application server environment (MASE) comprising a plurality of partitions having a plurality of partition resources and a plurality of global resources, which instructions, when executed, cause a system to perform steps comprising:

defining a plurality of security realms in the MASE, including an admin security realm, a first security realm, and a second security realm;

configuring a first partition of the plurality of partitions of the MASE to have a first plurality of partition resources of the plurality of partition resources of the MASE;

configuring a second partition of the plurality of partitions of the MASE to have a second plurality of partition resources of the plurality of partition resources of the MASE;

providing a first security configuration associating the first partition with the first security realm;

providing a second security configuration associating the second partition with the second security realm;

associating a first primary identity domain with the first partition, wherein the first primary identity domain represents a first plurality of users associated with a first tenant;

associating each of the first plurality of partition resources of the MASE with the first primary identity domain;

associating a second primary identity domain with the second partition wherein the second primary identity domain represents a second plurality of users associated with a second tenant;

associating each of the second plurality of partition resources of the MASE with the second primary identity domain;

operating each of said admin security realm, first security realm, and second security realm simultaneously at runtime in the MASE to control authentication and authorization for access to said plurality of partition resources and said plurality of global resources;

wherein said operating step includes providing an authorization service in the MASE which in response to receiving a call from a user to access a partition resource of the plurality of partition resources compares a primary identity domain associated with said user to a primary identity domain associated with said partition resource and authorizes access to said partition resource only if the primary identity domain associated with said user matches the primary identity domain associated with said partition resource;

whereby the first plurality of users associated with the first tenant have access to the first plurality of partition resources of the first partition but not the second plurality of partition resources of the second partition; and

whereby the second plurality of users associated with the second tenant have access to the second plurality of partition resources of the second partition but not the first plurality of partition resources of the first partition.

8. The non-transitory computer-readable medium of claim 7 including further instructions stored thereon, which when executed, cause a system to perform further steps comprising:

configuring the first primary identity domain to reference a first identity store for storing a first representation of the first plurality of users associated with the first tenant; and

configuring the second primary identity domain to reference a second identity store, different than the first identity store, for storing a second representation of the second plurality of users associated with the second tenant.

9. The non-transitory computer-readable medium of claim 7 including further instructions stored thereon, which when executed, cause a system to perform further steps comprising:

configuring the first primary identity domain to reference a first portion of an identity store for storing a first representation of the first plurality of users associated with the first tenant; and

configuring the second primary identity domain to reference a second portion of said identity store for storing a second representation of the second plurality of users associated with the second tenant.

10. The non-transitory computer-readable medium of claim 7 including further instructions stored thereon, which when executed, cause a system to perform further steps comprising:

associating an admin identity domain with the multitenant application server environment, wherein the admin identity domain represents a plurality of system administrators of the multitenant application server environment; and

whereby the plurality of system administrators associated with the multitenant application server environment have access to said plurality of global resources.

11. The non-transitory computer-readable medium of claim 7 including further instructions stored thereon, which when executed, cause a system to perform further steps comprising:

providing a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users.

12. The non-transitory computer-readable medium of claim 7 including further instructions stored thereon, which when executed, cause a system to perform further steps comprising:

providing a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users; and

providing a second authentication service configured to authenticate the second plurality of users associated with the second tenant and generate second signed principals identifying said second primary identity domain in combination with one or more of said second plurality of users.

13. The non-transitory computer-readable medium of claim 7 including further instructions stored thereon, which when executed, cause a system to perform further steps comprising:

providing a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users;

providing a second authentication service configured to authenticate the second plurality of users associated with the second tenant and generate second signed principals identifying said second primary identity domain in combination with one or more of said second plurality of users.

14. A multitenant application server environment system comprising:

an application server environment comprising a plurality of microprocessors and memory;

a plurality of partitions configured on said application server environment;

a plurality of partition resources and a plurality of global resources provided in said application server environment;

a plurality of security realms including an admin security realm, a first security realm, and a second security realm configured in said application server environment;

a first partition of the plurality of partitions configured to have a first plurality of partition resources of the plurality of partition resources;

a second partition of the plurality of partitions configured to have a second plurality of partition resources of the plurality of partition resources;

a first security configuration associating the first partition with the first security realm;

a second security configuration associating the second partition with the second security realm;

a first primary identity domain associated with the first partition, wherein the first primary identity domain represents a first plurality of users associated with a first tenant, and wherein the first plurality of partition resources is associated with the first primary identity domain;

a second primary identity domain associated with the second partition wherein the second primary identity domain represents a second plurality of users associated with a second tenant, and wherein the second plurality of partition resources is associated with the second primary identity domain;

an authorization service, provided by said application server environment, which in response to receiving a call from a user to access a partition resource of the plurality of partition resources compares a primary identity domain associated with said user to a primary identity domain associated with said partition resource and authorizes access to said partition resource only if the primary identity domain associated with said user matches the primary identity domain associated with said partition resource;

wherein said admin security realm, first security realm, and second security realm are configured to operate simultaneously at runtime to control authentication and authorization for access to said plurality of partition resources and said plurality of global resources;

whereby the first plurality of users associated with the first tenant have access to the first plurality of partition resources of the first partition but not the second plurality of partition resources of the second partition; and

whereby the second plurality of users associated with the second tenant have access to the second plurality of partition resources of the second partition but not the first plurality of partition resources of the first partition.

15. The system of claim 14 , wherein:

the first primary identity domain is configured to reference a first identity store for storing a first representation of the first plurality of users associated with the first tenant; and

the second primary identity domain is configured to reference a second identity store, different than the first identity store, for storing a second representation of the second plurality of users associated with the second tenant.

16. The system of claim 14 , wherein:

the first primary identity domain is configured to reference a first portion of an identity store for storing a first representation of the first plurality of users associated with the first tenant; and

the second primary identity domain is configured to reference a second portion of said identity store for storing a second representation of the second plurality of users associated with the second tenant.

17. The system of claim 14 , further comprising:

an admin identity domain associated with the multitenant application server environment, wherein the admin identity domain represents a plurality of system administrators of the multitenant application server environment; and

whereby the plurality of system administrators associated with the multitenant application server environment have access to said plurality of global resources.

18. The system of claim 14 , further comprising:

a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users.

19. The system of claim 14 , further comprising:

a first authentication service configured to authenticate the first plurality of users associated with the first tenant and generate first signed principals identifying said first primary identity domain in combination with one or more of said first plurality of users; and

a second authentication service configured to authenticate the second plurality of users associated with the second tenant and generate second signed principals identifying said second primary identity domain in combination with one or more of said second plurality of users.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2016
From: HOPKINS, WILLIAM; PEREZ, CRAIG; GUY, DAVID; BOWER, PETER; LI, JUAN; TANCILL, JEFF; SRIRAMADHESIKAN, KRISHNAKUMAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 039535/0223 →
Continuity (3)
Provisional Application 62016058 · Jun 23, 2014
Provisional Application 62054912 · Sep 24, 2014
Related Publication 20150373004A1 · Dec 24, 2015