Authorization methods and systems for accessing multiple data sources
A data analytics system to authenticate and authorize access to multiple sources of data for access to the multiple data sources for one or more requesting devices. The system may duplicate and/or access rule sets included in the metadata of the corresponding data source and read identifiers of authorized users maintained by each of the multiple data sources. The access rule sets and authenticated identifiers may be synchronized or otherwise correlated to requesting device identifiers maintained by the data analytics system such that, as requests to access data obtained from one or more of the multiple data sources are received, the system may control access to or otherwise manage the requesting devices interactions with the data from the multiple data systems, reducing the authorization and authentication actions needed to be taken or executed by the requesting devices and the data sources.
1 . A method for providing access to multiple sets of data, the method comprising:
aggregating, at a data analytics server, data from a plurality of data sources into an aggregated data set, wherein each of the data sources is associated with an access rule set comprising an entity identifier and a corresponding access permission to access a data record available from a corresponding data source of the plurality of data sources;
receiving, at the data analytics server and from a requesting device, a request to access the aggregated data set, the request comprising an identifier associated with the requesting device; wherein,
the requesting device is denied access, based on the identifier associated with the requesting device, to at least one of the plurality of data sources providing data to the aggregated data set; and
the requesting device is allowed access to the aggregated data set based on a transformed access control list generated by the data analytics server; and
transmitting the aggregated data set to the requesting device when the requesting device is allowed access.
2 . The method of claim 1 , wherein aggregating the data from the plurality of data sources comprises:
utilizing a plurality of application programming interfaces (APIs) to convert requests for data to each of the plurality of data sources; and
transmitting the converted requests to each of the plurality of data sources.
3 . The method of claim 1 further comprising:
converting data received from the plurality of data sources into a common data format prior to aggregating the data into the aggregated data set.
4 . The method of claim 1 , wherein determining the requesting device is denied access to at least one of the plurality of data sources comprises:
obtaining a plurality of access rule sets from the plurality of data sources, each of the plurality of access rule sets comprising an entity identifier and a corresponding access permission to access a data record available from a corresponding data source of the plurality of data sources; and
comparing the identifier associated with the requesting device to the obtained plurality of access rule sets.
5 . The method of claim 4 , wherein the plurality of access rule sets are embodied in metadata received from the plurality of data sources.
6 . The method of claim 4 further comprising:
generating a mapping from the entity identifiers of the plurality of access rule sets to one or more entries in the transformed access control list.
7 . The method of claim 4 , wherein the transformed access control list comprises a plurality of synchronized identifiers each corresponding to an entity identifier of the plurality of access rule sets and a plurality of synchronized permission rules corresponding to access permissions of the plurality of access rule sets.
8 . The method of claim 1 , wherein aggregating data from the plurality of data sources comprises registering a username and password with the data sources to authenticate the data analytics server with the plurality of data sources, the username and password unique to the data analytics server.
9 . The method of claim 4 further comprising:
generating an aggregate access rule set for the data analytics server by combining a plurality of permission rules of the transformed access control list based on the identifier associated with the requesting device.
10 . The method of claim 9 , wherein the combined plurality of permission rules is based on a ranking of permissions of the plurality of permission rules.
11 . A data management device comprising:
a processor in communication with a non-transitory, tangible storage medium storing instructions that are executed by the processor to perform operations comprising:
aggregating data from a plurality of data sources into an aggregated data set, wherein each of the data sources is associated with an access rule set comprising an entity identifier and a corresponding access permission to access a data record available from a corresponding data source of the plurality of data sources;
receiving, from a requesting device, a request to access the aggregated data set, the request comprising an identifier associated with the requesting device;
determining, based on the identifier associated with the requesting device, the requesting device is denied access to at least one of the plurality of data sources providing data to the aggregated data set;
determining, based on a transformed access control list, the requesting device is allowed access to the aggregated data set; and
providing the aggregated data set to the requesting device.
12 . The data management device of claim 11 , wherein the instructions further cause the processor to perform the operation of:
utilizing a plurality of application programming interfaces (APIs) to convert requests for data to each of the plurality of data sources; and
transmitting the converted requests to each of the plurality of data sources.
13 . The data management device of claim 11 , wherein the instructions further cause the processor to perform the operation of:
converting data received from the plurality of data sources into a common data format prior to aggregating the data into the aggregated data set.
14 . The data management device of claim 11 , wherein determining the requesting device is denied access to at least one of the plurality of data sources comprises:
obtaining a plurality of access rule sets from the plurality of data sources, each of the plurality of access rule sets comprising an entity identifier and a corresponding access permission to access a data record available from a corresponding data source of the plurality of data sources; and
comparing the identifier associated with the requesting device to the obtained plurality of access rule sets.
15 . The data management device of claim 14 , wherein the plurality of access rule sets are embodied in metadata received from the plurality of data sources.
16 . The data management device of claim 14 , wherein the instructions further cause the processor to perform the operation of:
generating a mapping from the entity identifiers of the plurality of access rule sets to one or more entries in the transformed access control list.
17 . The data management device of claim 14 , wherein the transformed access control list comprises a plurality of synchronized identifiers each corresponding to an entity identifier of the plurality of access rule sets and a plurality of synchronized permission rules corresponding to access permissions of the plurality of access rule sets.
18 . The data management device of claim 11 , wherein aggregating data from the plurality of data sources comprises registering a username and password with the data sources to authenticate the data management device with the plurality of data sources, the username and password unique to the data management device.
19 . The data management device of claim 14 , wherein the instructions further cause the processor to perform the operation of:
generating an aggregate access rule set for the data management device by combining a plurality of permission rules of the transformed access control list based on the identifier associated with the requesting device.
20 . A system for managing a plurality of data sources, the system comprising:
at least one processor; and
memory storing computer-readable instructions that, when executed by the at least one processor, cause the at least one processor to:
receive, from a requesting device, a request to access an aggregated data set comprising data from at least two of the plurality of data sources, the request comprising an identifier associated with the requesting device; and
transmit the aggregated data set to the requesting device when an access rule set associated with one of the at least two of the plurality of data sources comprises a rule denying access to the requesting device to the one of the at least two of the plurality of data sources.