IP Library › Granted Patent US 11,783,078
Granted Patent B1
US 11,783,078 · App. 18/304,063 · Granted Oct 10, 2023

Database redaction for semi-structured and unstructured data

Inventors: Yimeng Li (Bellevue, WA); Carl Yates Perry (Burlingame, CA); Raghavendran Ramakrishnan (Kirkland, WA); Frantisek Rolinek (Seattle, WA); Yunqiao Zhang (Bellevue, WA)
Assignee: Snowflake Inc.
G06F21/6227G06F16/285G06F21/6254
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 11,783,078
App. No.
18/304,063
Granted
Oct 10, 2023
Kind
B1
Abstract

Embodiments of the present disclosure describe systems, methods, and computer program products for redacting sensitive data within a database. An example method can include examining a first column of a plurality of columns of a database to identify a first category of sensitive data in a first location of the first column and a second category of sensitive data in a second location of the first column, receiving a masking policy for the first column, the masking policy identifying the first category of sensitive data, and, in response to a data query accessing the first column, executing a redaction operation to redact the first category of sensitive data from the first location of the first column to generate redacted data for a response to the data query.

Claims (44)

1. A method comprising:

examining a first column of a plurality of columns of a database to identify a first category of sensitive data in a first location of the first column and a second category of sensitive data in a second location of the first column, wherein the first location and the second location are within a same row of the first column;

receiving a masking policy for the first column, the masking policy identifying the first category of sensitive data, wherein the masking policy for the first column further identifies the second category of sensitive data; and

in response to a data query accessing the first column, executing, by a processing device:

a first redaction operation to redact the first category of sensitive data from the first location of the first column to generate redacted data for a response to the data query; and

a second redaction operation to redact the second category of sensitive data from the second location of the first column to generate the redacted data for the response to the data query.

2. The method of claim 1 , wherein database data associated with the first location comprises a plurality of hierarchical sub-columns, and

wherein the method further comprises:

generating a path mapping that associates a first sub-column of the plurality of hierarchical sub-columns with the first category of sensitive data.

3. The method of claim 2 , wherein the fir redaction operation is to redact the first category of sensitive data located at the first sub-column of the plurality of hierarchical sub-columns based on the path mapping.

4. The method of claim 1 , wherein examining the first column of the plurality of columns of the database to identify the first category of sensitive data in the first location of the first column and the second category of sensitive data in the second location of the first column comprises identifying a first offset indicating the first location of the first category of sensitive data within the first column and a second offset indicating the second location of the second category of sensitive data within the first column.

5. The method of claim 4 , wherein the fir redaction operation is to redact the first category of sensitive data located at the first location indicated by the first offset.

6. The method of claim 1 , wherein the first redaction operation is a full redaction of the first category of sensitive data from the first location of the first column and the second redaction operation is a partial redaction of the second category of sensitive data from the second location of the first column.

7. The method of claim 1 , wherein the first location and the second location are within different rows of the first column.

8. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

examine a first column of a plurality of columns of a database to identify a first category of sensitive data in a first location of the first column and a second category of sensitive data in a second location of the first column, wherein the first location and the second location are within a same row of the first column;

receive a masking policy for the first column, the masking policy identifying the first category of sensitive data, wherein the masking policy for the first column further identifies the second category of sensitive data; and

in response to a data query accessing the first column:

execute a first redaction operation to redact the first category of sensitive data from the first location of the first column to generate redacted data for a response to the data query; and

execute a second redaction operation to redact the second category of sensitive data from the second location of the first column to generate the redacted data for the response to the data query.

9. The system of claim 8 , wherein database data associated with the first location comprises a plurality of hierarchical sub-columns, and

wherein the processing device is further to:

generate a path mapping that associates a first sub-column of the plurality of hierarchical sub-columns with the first category of sensitive data.

10. The system of claim 9 , wherein the first redaction operation is to redact the first category of sensitive data located at the first sub-column of the plurality of hierarchical sub-columns based on the path mapping.

11. The system of claim 8 , wherein, to examine the first column of the plurality of columns of the database to identify the first category of sensitive data in the first location of the first column and the second category of sensitive data in the second location of the first column, the processing device is to identify a first offset indicating the first location of the first category of sensitive data within the first column and a second offset indicating the second location of the second category of sensitive data within the first column.

12. The system of claim 11 , wherein the first redaction operation is to redact the first category of sensitive data located at the first location indicated by the first offset.

13. The system of claim 8 , wherein the first redaction operation is a full redaction of the first category of sensitive data from the first location of the first column and the second redaction operation is a partial redaction of the second category of sensitive data from the second location of the first column.

14. The system of claim 8 , wherein the first location and the second location are within different rows of the first column.

15. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

examine a first column of a plurality of columns of a database to identify a first category of sensitive data in a first location of the first column and a second category of sensitive data in a second location of the first column, wherein the first location and the second location are within a same row of the first column;

receive a masking policy for the first column, the masking policy identifying the first category of sensitive data, wherein the masking policy for the first column further identifies the second category of sensitive data; and

in response to a data query accessing the first column, execute, by the processing device;

a first redaction operation to redact the first category of sensitive data from the first location of the first column to generate redacted data for a response to the data query; and

a second redaction operation to redact the second category of sensitive data from the second location of the first column to generate the redacted data for the response to the data query.

16. The non-transitory computer-readable storage medium of claim 15 , wherein database data associated with the first location comprises a plurality of hierarchical sub-columns, and

wherein the processing device is further to:

generate a path mapping that associates a first sub-column of the plurality of hierarchical sub-columns with the first category of sensitive data.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the first redaction operation is to redact the first category of sensitive data located at the first sub-column of the plurality of hierarchical sub-columns based on the path mapping.

18. The non-transitory computer-readable storage medium of claim 15 , wherein, to examine the first column of the plurality of columns of the database to identify the first category of sensitive data in the first location of the first column and the second category of sensitive data in the second location of the first column, the processing device is to identify a first offset indicating the first location of the first category of sensitive data within the first column and a second offset indicating the second location of the second category of sensitive data within the first column.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the first redaction operation is to redact the first category of sensitive data located at the first location indicated by the first offset.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the first redaction operation is a full redaction of the first category of sensitive data from the first location of the first column and the second redaction operation is a partial redaction of the second category of sensitive data from the second location of the first column.

21. The non-transitory computer-readable storage medium of claim 15 , wherein the first location and the second location are within different rows of the first column.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2023
From: LI, YIMENG; PERRY, CARL YATES; RAMAKRISHNAN, RAGHAVENDRAN; ROLINEK, FRANTISEK; ZHANG, YUNQIAO
To: SNOWFLAKE INC.
Reel/Frame 064343/0558 →
Cited By (2)
US 12,367,314 US 12,437,100