Approaches of enforcing data security, compliance, and governance in shared infrastructures
AssigneePalantir Technologies Inc.
InventorsPeter Wilczynski, Stephen Freiberg
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for obtaining a request for a data object or a data structure from a client; determining an access level of the client and one or more access permissions of the requested data object or data structure; determining whether to transmit the requested data object or data structure to the client based on the access level of the client and the one or more access permissions; and transmitting the requested data object or data structure to the client.
Claims20
A computing system that stores data to be accessed by multiple clients, the computing system comprising:
- one or more processors;
- and
- memory storing instructions that, when executed by the one or more processors, cause the computing system to perform:
- obtaining a request for a data object or a data structure from a client, the data object or the data structure being stored within a first database associated with the computing system;
- determining an access level of the client and one or more access permissions of the requested data object or data structure;
- forming a first communication channel between the first database associated with the computing system and the client, the first communication channel regulating access to data according to the access level of the client and the first communication channel being configured to access the first database, the first database being accessed by a plurality of clients;
- determining whether to transmit the requested data object or data structure to the client based on the access level of the client and the one or more access permissions;
- selectively transmitting the requested data object or data structure, via the first communication channel, to the client based on the determination of whether to transmit the requested data object or data structure;
- in response to transmitting the requested data object or data structure to the client:
- setting a level of encryption on a portion of data corresponding to the transmitted requested data object or data structure based on the security level of the portion of the data, wherein the setting of the level of encryption comprises:
- determining whether the security level of the portion of the data exceeds a threshold security level;
- and
- in response to determining that the security level of the portion of the data exceeds a threshold security level, setting the level of encryption based on an encryption key to be retrieved from the computing system;
- receiving a request from the client to replicate the transmitted data object or data structure into an other data container;
- in response to receiving the request, selectively replicating the transmitted data object or data structure based on a permitted security level of the other data container and a security level of the transmitted data object or data structure;
- receiving an update to the requested data object or data structure, a change in the access level of the client or a change in the one or more access permissions;
- and
- selectively transmitting the update to the requested data object or data structure, the change in the access level of the client or the change in the one or more access permissions to the client based on a security level of the update.
A computer-implemented method of a computing system that stores data to be accessed by one or more clients, wherein the method is performed using one or more processors, the method comprising:
- obtaining a request for a data object or a data structure from a client, the data object or the data structure being stored within a first database associated with the computing system;
- determining an access level of the client and one or more access permissions of the requested data object or data structure;
- forming a first communication channel between the first database associated with the computing system and the client, the first communication channel regulating access to data according to the access level of the client and the first communication channel being configured to access the first database, the first database being accessed by a plurality of clients;
- determining whether to transmit the requested data object or data structure to the client based on the access level of the client and the one or more access permissions;
- selectively transmitting the requested data object or data structure, via the first communication channel, to the client based on the determination of whether to transmit the requested data object or data structure;
- in response to transmitting the requested data object or data structure to the client:
- setting a level of encryption on a portion of data corresponding to the transmitted requested data object or data structure based on the security level of the portion of the data, wherein the setting of the level of encryption comprises:
- determining whether the security level of the portion of the data exceeds a threshold security level;
- and
- in response to determining that the security level of the portion of the data exceeds a threshold security level, setting the level of encryption based on an encryption key to be retrieved from the computing system;
- receiving a request from the client to replicate the transmitted data object or data structure into an other data container;
- in response to receiving the request, selectively replicating the transmitted data object or data structure based on a permitted security level of the other data container and a security level of the transmitted data object or data structure;
- receiving an update to the requested data object or data structure, a change in the access level of the client or a change in the one or more access permissions;
- and
- selectively transmitting the update to the requested data object or data structure, the change in the access level of the client or the change in the one or more access permissions to the client based on a security level of the update.
A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:
- obtaining a request for a data object or a data structure from a client, the data object or the data structure being stored within a first database associated with the computing system;
- determining an access level of the client and one or more access permissions of the requested data object or data structure;
- forming a first communication channel between the first database associated with the computing system and the client, the first communication channel regulating access to data according to the access level of the client and the first communication channel being configured to access the first database, the first database being accessed by a plurality of clients;
- determining whether to transmit the requested data object or data structure to the client based on the access level of the client and the one or more access permissions;
- selectively transmitting the requested data object or data structure, via the first communication channel, to the client based on the determination of whether to transmit the requested data object or data structure;
- in response to transmitting the requested data object or data structure to the client:
- setting a level of encryption on a portion of data corresponding to the transmitted requested data object or data structure based on the security level of the portion of the data, wherein the setting of the level of encryption comprises:
- determining whether the security level of the portion of the data exceeds a threshold security level;
- and
- in response to determining that the security level of the portion of the data exceeds a threshold security level, setting the level of encryption based on an encryption key to be retrieved from the computing system;
- receiving a request from the client to replicate the transmitted data object or data structure into an other data container;
- in response to receiving the request, selectively replicating the transmitted data object or data structure based on a permitted security level of the other data container and a security level of the transmitted data object or data structure;
- receiving an update to the requested data object or data structure, a change in the access level of the client or a change in the one or more access permissions;
- and
- selectively transmitting the update to the requested data object or data structure, the change in the access level of the client or the change in the one or more access permissions to the client based on a security level of the update.
Dependencies are inferred from the claim text.