# US 2017/0257379 A1 · Policy management, enforcement, and audit for data security

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0257379 A1
- Document ID: US20170257379A1
- Status: Published application
- Kind: A1
- Application number: 15/061,991
- Filed: 2016-03-04
- Published: 2017-09-07
- Earliest claimed: 2016-03-04
- Assignees: BlueTalon, Inc.
- Applicants: BlueTalon, Inc.
- Inventors: Benjamin L. Weintraub; Pratik Verma
- Web page: https://patentgrep.com/patent/US20170257379A1

## CPC

- H04L 63/107: {wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 63/102: {Entity profiles}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 63/205: {involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved (negotiation of communication capabilities H04L69/24)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for managing, and enforcing policies on data security. A policy appliance includes a policy administration point, a policy decision point, a policy enforcement point and, optionally, an auditing module. The policy appliance can execute in a self-contained environment, e.g., a single virtual machine, a single physical machine, or a cluster of virtual machines or physical machines identically configured. The self-contained policy appliance can receive, manage, enforce and audit multiple policies that specify access privileges of multiple users on multiple databases. The databases can include heterogeneous databases that are configured separately and differently from one another. A single configuration of the policy appliance centralizes and unifies policy management of the heterogeneous database in the self-contained environment.

## Claims

### Claim 1

A method, comprising:
receiving, by a policy administration point of a policy appliance, a policy that defines an access privilege of a user on data stored in a database;
submitting the policy by the policy administration point to a policy decision point of the policy appliance that is configured to decide whether the user is permitted to access at least a portion of the data according to the policy;
receiving, by a policy enforcement point of the policy appliance, a data request from an application, the request including a user specification specifying the user and a data specification specifying a data item of the data to access;
submitting the user specification and the data specification to the policy decision point by the policy enforcement point;
receiving, by the policy enforcement point and from the policy decision point, a data access decision that is made by the policy decision point according to the policy, the data access decision specifying that the user is permitted to access a portion of the data item; and
providing, by the policy enforcement point to the application, a redacted data item as a response to the request according to the data access decision,
wherein the policy appliance, including each of the policy administration point, the policy decision point, and the policy enforcement point, executes in a container on a system that includes one or more computer processors.

### Claim 2 (depends on 1)

The method of claim 1, wherein the container is a virtual container that includes a Java virtual machine or a virtual container that includes a Linux container.

### Claim 3 (depends on 1)

The method of claim 1, wherein the container is a virtualized server that provides an isolated, self-contained, and individually configured user space in a cloud-computing environment.

### Claim 4 (depends on 1)

The method of claim 1, wherein the redacted data item includes a portion of the data item that is redacted from content that, according the policy, the user has no access privilege.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
obtaining, by an audit module of the policy appliance, a respective audit log for each of the policy administration point, the policy decision point, and the policy enforcement point; and
providing an aggregation of the audit logs for administrator review.

### Claim 6 (depends on 1)

The method of claim 1, wherein the policy enforcement point is coupled to a plurality of databases, and the policy is applied to data stored on each of the databases.

### Claim 7 (depends on 1)

The method of claim 1, wherein the policy administration point, the policy decision point, and the policy enforcement point have a one-to-one-to-one relationship, wherein one policy administration point corresponds to one policy enforcement point, and one policy decision point corresponds to one policy enforcement point.

### Claim 8 (depends on 1)

The method of claim 1, wherein the policy administration point, the policy decision point, and the policy enforcement point have a one-to-one-to-many relationship, wherein one policy administration point corresponds to one policy enforcement point, and one policy decision point corresponds to a plurality of policy enforcement points.

### Claim 9

A system comprising:
one or more processors; and
a non-transitory storage device storing computer instructions operable to cause the one or more processors to perform operations comprising:
receiving, by a policy administration point of a policy appliance, a policy that defines an access privilege of a user on data stored in a database;
submitting the policy by the policy administration point to a policy decision point of the policy appliance that is configured to decide whether the user is permitted to access at least a portion of the data according to the policy;
receiving, by a policy enforcement point of the policy appliance, a data request from an application, the request including a user specification specifying the user and a data specification specifying a data item of the data to access;
submitting the user specification and the data specification to the policy decision point by the policy enforcement point;
receiving, by the policy enforcement point and from the policy decision point, a data access decision that is made by the policy decision point according to the policy, the data access decision specifying that the user is permitted to access a portion of the data item; and
providing, by the policy enforcement point to the application, a redacted data item as a response to the request according to the data access decision,
wherein the policy appliance, including each of the policy administration point, the policy decision point, and the policy enforcement point, executes in a container on a system that includes one or more computer processors.

### Claim 10 (depends on 9)

The system of claim 9, wherein the container is a virtual container that includes a Java virtual machine or a virtual container that includes a Linux container.

### Claim 11 (depends on 9)

The system of claim 9, wherein the container is a virtualized server that provides an isolated, self-contained, and individually configured user space in a cloud-computing environment.

### Claim 12 (depends on 9)

The system of claim 9, wherein the redacted data item includes a portion of the data item that is redacted from content that, according the policy, the user has no access privilege.

### Claim 13 (depends on 9)

The system of claim 9, the operations comprising:
obtaining, by an audit module of the policy appliance, a respective audit log for each of the policy administration point, the policy decision point, and the policy enforcement point; and
providing an aggregation of the audit logs for administrator review.

### Claim 14 (depends on 9)

The system of claim 9, wherein the policy enforcement point is coupled to a plurality of databases, and the policy is applied to data stored on each of the databases.

### Claim 15 (depends on 9)

The system of claim 9, wherein the policy administration point, the policy decision point, and the policy enforcement point have a one-to-one-to-one or one-to-one-to many relationship, wherein one policy administration point corresponds to one policy enforcement point, and one policy decision point corresponds to one or more policy enforcement points.

### Claim 16

A non-transitory storage device storing computer instructions operable to cause one or more processors to perform operations comprising:
receiving, by a policy administration point of a policy appliance, a policy that defines an access privilege of a user on data stored in a database;
submitting the policy by the policy administration point to a policy decision point of the policy appliance that is configured to decide whether the user is permitted to access at least a portion of the data according to the policy;
receiving, by a policy enforcement point of the policy appliance, a data request from an application, the request including a user specification specifying the user and a data specification specifying a data item of the data to access;
submitting the user specification and the data specification to the policy decision point by the policy enforcement point;
receiving, by the policy enforcement point and from the policy decision point, a data access decision that is made by the policy decision point according to the policy, the data access decision specifying that the user is permitted to access a portion of the data item; and
providing, by the policy enforcement point to the application, a redacted data item as a response to the request according to the data access decision,
wherein the policy appliance, including each of the policy administration point, the policy decision point, and the policy enforcement point, executes in a container on a system that includes one or more computer processors.

### Claim 17 (depends on 16)

The non-transitory storage device of claim 16, wherein the container is a virtual container that includes a Java virtual machine or a virtual container that includes a Linux container.

### Claim 18 (depends on 16)

The non-transitory storage device of claim 16, wherein the container is a virtualized server that provides an isolated, self-contained, and individually configured user space in a cloud-computing environment.

### Claim 19 (depends on 16)

The non-transitory storage device of claim 16, wherein the redacted data item includes a portion of the data item that is redacted from content that, according the policy, the user has no access privilege.

### Claim 20 (depends on 16)

The non-transitory storage device of claim 16, the operations comprising:
obtaining, by an audit module of the policy appliance, a respective audit log for each of the policy administration point, the policy decision point, and the policy enforcement point; and
providing an aggregation of the audit logs for administrator review.
