CPC G06F 21/6227 (2013.01) [G06F 16/2282 (2019.01); G06F 16/245 (2019.01)] | 16 Claims |
1. A method for selectively searching at least a portion of a database, the method comprising:
storing one or more data source tables in a memory device containing data source information associated with a plurality of data sources;
receiving a query having a query context including one or more of requesting user context, requesting application, data type or purpose of use;
constructing a security envelope in response to receipt of the query, wherein the security envelope for a respective query includes the query context including one or more of the requesting user context, the requesting application, the data type or the purpose of use;
in response to the query, executing, using processing circuitry, a review of the one or more data source tables including a first data source table that defines each of a plurality of data sources of data stored by the database, wherein the first data source table separately identifies, for each of the plurality of data sources, a purpose of use, which specifies a limitation on use of data sourced from the respective one of the plurality of data sources, and one or more of a source organization, a data type, or a sourcing application, and wherein reviewing the one or more data source tables comprises identifying one or more data sources that provide data that is accessible in response to the query and denying access to data provided by one or more sources that are restricted based upon the security envelope constructed for the query;
executing, using the processing circuitry, a search on at least the portion of the database for responsive data that: (i) was provided by the one or more data sources that were identified to provide data that is accessible in response to the query and (ii) is responsive to the query; and
responding to the query with a representation of the responsive data,
wherein executing, using the processing circuitry, the search on at least the portion of the database for responsive data comprises searching only the portion of the database that stores data that was provided by the one or more data sources that were identified to provide data that is accessible in response to the query without searching other portions of the database that store data provided by one or more other data sources.
|