IP Library Granted Patent US 9,524,308
Granted Patent B2
US 9,524,308 · App. 13/733,057 · Granted Dec 20, 2016

System and method for providing pluggable security in an enterprise crawl and search framework environment

Inventors: Sandeep Yarramreddy (Fremont, CA); DJ Vasant Ursal (Austin, TX)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F17/30318G06F17/3087G06F17/30289G06F17/30607G06F17/30864G06F21/604G06F21/6227G06F21/6236H04L63/101H04L63/20G06F2221/2119G06F2221/2141
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,524,308
App. No.
13/733,057
Granted
Dec 20, 2016
Kind
B2
Abstract

A system and method are described, wherein the system includes an enterprise crawl and search framework, abstracts an underlying search engine, provides a common set of application programming interfaces for developing search functionalities, and allows the framework to serve as an integration layer between one or more enterprise search engines and one or more enterprise applications. A pluggable security environment which includes one or more enterprise application security APIs, authentication services, security plugin, authorization service, and data service, allows an application developer to add security information to enterprise application data before inserting or creating indexes on the search engine, and deploy the enterprise application and use any policies in its configuration to configure enterprise application domain security, so that at query time, the security environment retrieves security keys of a user performing an enterprise application search, and passes those keys to the search engine for filtering the query results.

Claims (48)

1. A system for providing a security environment in an enterprise crawl and search framework (ECSF), comprising:

a computer including one or more microprocessors;

an ECSF framework, operating on the computer, which abstracts a search engine, provides a common set of application programming interfaces (APIs) for developing search functionalities, and serves as an integration layer between the search engine and an enterprise application deployed in an application server domain;

a credential store in the application server domain, wherein the credential store stores security credentials for use by the ECSF framework in accessing a plurality of identifiers of the enterprise applications to integrate the enterprise application into the ECSF framework, and for use by the ECSF framework in communicating with the search engine; and

a security environment, plugged into the ECSF framework, wherein the security environment includes a security service, and a security plug-in;

wherein the security environment operates to

add security information to data associated with the enterprise application before inserting or creating indexes on the search engine, wherein the security information identifies users configured to access the enterprise application data and specifies the access rights of the users to the enterprise application data,

use policies in a configuration of the enterprise application to configure security of the application server domain,

retrieve at query time, via the security service in response to an invocation by the security plug-in, security keys of a user performing an enterprise application search, wherein the security plug-in determines a particular format for the retrieved security keys,

pass the retrieved security keys to the search engine, and

filter query results for the user based on a match between the security keys and the security information added to the enterprise application data.

2. The system of claim 1 , wherein the security service is invoked during crawl time to add the security information to the enterprise application data.

3. The system of claim 2 , wherein the security information added to the enterprise application data includes access control lists.

4. The system of claim 2 , wherein the security service is implemented as a security engine with a plug-in interface.

5. The system of claim 1 , wherein the search engine is an Oracle Secure Enterprise Search engine, and wherein the enterprise application is an Oracle Fusion application.

6. The system of claim 1 , wherein the enterprise application data includes searchable objects, which are loaded from a persistent storage and validated with regard to their definitions.

7. The system of claim 6 , wherein the search engine includes a module that implements a modified Really Simple Syndication (RSS) format, wherein the module deserializes data communicated by the ECSF framework, and interfaces with search engine components that create the indexes.

8. The system of claim 1 , wherein the security environment further includes one or more security components selected from the group consisting of an enterprise application security APIs component, an authentication services component, a security plugin component, an authorization service component, and a data service component.

9. The system of claim 1 , wherein the security plug-in uses a proxy user to invoke the security service to retrieve the security keys of the user, wherein the proxy server is set up on the search engine, and has security privileges for the enterprise application.

10. The system of claim 9 , wherein the security plug-in is written using an application programming interface (API) provided by the search engine.

11. A method for use with an enterprise crawl and search framework (ECSF), for providing support for pluggable security, comprising:

providing an ECSF framework, operating on a computer including one or more microprocessors, which abstracts a search engine, provides a common set of application programming interfaces (APIs) for developing search functionalities, and serves as an integration layer between the search engine and an enterprise application deployed in an application server domain;

providing a credential store in the application server domain, wherein the credential store stores security credentials for use by the ECSF framework in accessing a plurality of identifiers of the enterprise applications to integrate the enterprise application into the ECSF framework, and for use by the ECSF framework in communicating with the search engine; and

plugging a security environment into the ECSF framework, wherein the security environment includes a security service, and a security plug-in;

adding security information to data associated with the enterprise application before inserting or creating indexes on the search engine, wherein the security information identifies users configured to access the enterprise application data and specifies the access rights of the users to the enterprise application data;

using policies in a configuration of the enterprise application to configure security of the application server domain;

retrieving at query time, via the security service in response to an invocation by the security plug-in, security keys of a user performing an enterprise application search, wherein the security plug-in determines a particular format of the retrieved security keys;

passing the retrieved security keys to the search engine; and

filtering query results for the user based on a match between the security keys and the security information added to the enterprise application data.

12. The method of claim 11 , wherein the security service is invoked during crawl time to add the security information to the enterprise application data.

13. The method of claim 12 , wherein the security information added to the enterprise application data includes access control lists.

14. The method of claim 12 , wherein the security service is implemented as a security engine with a plug-in interface.

15. The method of claim 11 , wherein the search engine is an Oracle Secure Enterprise Search engine, and wherein the enterprise application is an Oracle Fusion application.

16. The method of claim 11 , wherein the enterprise application data includes searchable objects, which are loaded from a persistent storage and validated with regard to their definitions.

17. The method of claim 16 , wherein the search engine includes a module that implements a modified Really Simple Syndication (RSS) format, wherein the module deserializes data communicated by the ECSF framework, and interfaces with search engine components that create the indexes.

18. The method of claim 11 , wherein the security environment further includes one or more security components selected from the group consisting of an enterprise application security APIs component, an authentication services component, a security plugin component, an authorization service component, and a data service component.

19. The non-transitory computer readable storage medium including instructions stored thereon which, when executed by a computer, cause the computer to perform the steps comprising:

configuring an ECSF framework, operating on the computer, which abstracts a search engine, provides a common set of application programming interfaces (APIs) for developing search functionalities, and serves as an integration layer between the search engine and an enterprise application deployed in an application server domain;

providing a credential store in the application server domain, wherein the credential store stores security credentials for use by the ECSF framework in accessing a plurality of identifiers of the enterprise applications to integrate the enterprise application into the ECSF framework, and for use by the ECSF framework in communicating with the search engine; and

plugging a security environment into the ECSF framework, wherein the security environment includes a security service, and a security plug-in;

adding security information to data associated with the enterprise application before inserting or creating indexes on the search engine, wherein the security information identifies users configured to access the enterprise application data and specifies the access rights of the users to the enterprise application data;

using policies in a configuration of the enterprise application to configure security of the application server domain;

retrieving at query time, via the security service in response to an invocation by the security plug-in, security keys of a user performing an enterprise application search, wherein the security plug-in determines a particular format of the retrieved security keys;

passing the retrieved security keys to the search engine; and

filtering query results for the user based on a match between the security keys and the security information added to the enterprise application data.

20. The non-transitory computer readable storage medium of claim 19 , wherein the security service is invoked during crawl time to add the security information to the enterprise application data.

21. The non-transitory computer readable storage medium of claim 20 , wherein the security information added to the enterprise application data includes access control lists.

22. The non-transitory computer readable storage medium of claim 19 , wherein the security environment further includes one or more security components selected from the group consisting of an enterprise application security APIs component, an authentication services component, a security plugin component, an authorization service component, and a data service component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2013
From: YARRAMREDDY, SANDEEP; URSAL, DJ VASANT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 029613/0686 →
Continuity (7)
Provisional Application 61609644 · Mar 12, 2012
Provisional Application 61609684 · Mar 12, 2012
Provisional Application 61609698 · Mar 12, 2012
Provisional Application 61621405 · Apr 6, 2012
Provisional Application 61659843 · Jun 14, 2012
Provisional Application 61659877 · Jun 14, 2012
Related Publication 20130238589A1 · Sep 12, 2013