IP Library Granted Patent US 12,069,058
Granted Patent B2
US 12,069,058 · App. 17/301,149 · Granted Aug 20, 2024

Security mechanisms for content management systems

Inventors: Kerry Xing (San Francisco, CA); Raghav Sharma (San Francisco, CA); Bradley Girardeau (San Francisco, CA); Maxime Serrano (San Francisco, CA); Ruslan Nigmatullin (Mountain View, CA); Soumit Rahman (San Francisco, CA); Sergey Petrenko (San Mateo, CA); Tobias Kohlenberg (Portland, OR)
Assignee: Dropbox, Inc.
H04L63/101G06F21/6218H04L63/104
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 12,069,058
App. No.
17/301,149
Granted
Aug 20, 2024
Kind
B2
Abstract

A system and method for protecting information managed by a content management system are disclosed herein. A first server of the content management system receives a request from a user or service to access a data item managed by the content management system. The first server determines a data type associated with the requested data item. The first server accesses a access control list to determine whether the user or service has permission to access data associated with the data type. The first server processes the request, based on a determination that the user or service has permissions to access data associated with the data type.

Claims (54)

1. A method, comprising:

receiving, by a content management system, a first request from a service executing on a computing system associated with the content management system, the first request to access a first data item stored on a first server of the content management system;

determining, by the content management system, a first data type associated with the first data item;

accessing, by the content management system, an access control list to determine whether the service has permission to access data associated with the first data type;

based on a first determination that the service has permission to access data associated with the first data type, processing, by the content management system, the first request;

receiving, by the content management system, a second request from the service executing on the computing system to access a second data item stored on the first server of the content management system;

determining, by the content management system, a second data type associated with the second data item;

accessing, by the content management system, the access control list to determine whether the service has permission to access data associated with the second data type; and

based on a second determination that the service does not have permission to access data associated with the second data type, rejecting, by the content management system, the second request.

2. The method of claim 1 , wherein accessing, by the content management system, the access control list to determine whether the service has permission to access data associated with the first data type comprises:

determining a first request type associated with the first request; and

determining that the service is permitted to submit the first request type.

3. The method of claim 1 , wherein accessing, by the content management system, the access control list to determine whether the service has permission to access data associated with the first data type comprises:

accessing a group assignment table to determine a group of services to which the service is associated; and

determining whether the group to which the service is associated has permission to access data associated with the first data type.

4. The method of claim 1 , wherein accessing, by the content management system, the access control list comprises:

communicating with a remote file system to obtain an updated access control list; and

replacing the access control list with the updated access control list.

5. The method of claim 1 , wherein processing, by the content management system, the first request comprises:

forwarding the first request to an engine associated with a database storing data associated with the first data type.

6. The method of claim 1 , wherein processing, by the content management system, the first request comprises:

writing data to the first data item stored in a database associated with the content management system.

7. A method, comprising:

receiving, by a content management system, a first request from a first service executing on a computing system associated with the content management system, the first request to access a data item managed by the content management system;

determining, by the content management system, a data type associated with the data item;

accessing, by the content management system, an access control list to determine whether the first service has permission to access data associated with the data type;

based on a first determination that the first service has permission to access data associated with the data type, providing, by the content management system, the data item to the first service;

receiving, by the content management system, a second request from a second service executing on the computing system associated with the content management system, the second request to access the data item;

accessing, by the content management system, the access control list to determine whether the second service has permission to access data associated with the data type; and

based on a second determination that the second service does not have permission to access data associated with the data type, rejecting, by the content management system, the second request.

8. The method of claim 7 , wherein accessing, by the content management system, the access control list to determine whether the first service has permission to access data associated with the data type comprises:

determining a first request type associated with the first request; and

determining that the first service is permitted to submit the first request type.

9. The method of claim 7 , wherein accessing, by the content management system, the access control list to determine whether the first service has permission to access data associated with the data type, comprises:

accessing a group assignment table to determine a group of users or services to which the first service is associated; and

determining whether the group to which the first service is associated has permission to access data associated with the data type.

10. The method of claim 7 , wherein accessing, by the content management system, the access control list comprises:

communicating with a remote file system to obtain an updated access control list that defines the access control list.

11. The method of claim 7 , wherein processing, by the content management system, the first request comprises:

forwarding the first request to an engine dedicated to a database storing data associated with the data type.

12. The method of claim 7 , wherein processing, by the content management system, the first request comprises:

writing data to the data item stored in a database associated with the content management system.

13. A non-transitory computer readable medium comprising instructions which, when executed by a computing system, cause the computing system to perform operations, comprising:

receiving, by a first server of a content management system, a request from a service executing on a computing system associated with the content management system, the request to access a data item managed by the content management system;

determining, by the first server, a data type associated with the requested data item;

accessing, by the first server, an access control list to determine whether the service has permission to access data associated with the data type; and

based on a determination that the service has permissions to access data associated with the data type, processing, by the first server, the request.

14. The non-transitory computer readable medium of claim 13 , wherein receiving, by the first server of the content management system, the request from the service to access the data item managed by the content management system comprises:

receiving, by a first service executing on the first server, the request from the service, wherein the service is a second service executing on the computing system associated with the content management system.

15. The non-transitory computer readable medium of claim 14 , wherein processing, by the first server, the request comprises:

forwarding, by the first service, the request to a data store associated with the content management system for processing.

16. The non-transitory computer readable medium of claim 15 , further comprising:

receiving, by the first service, the data item from the data store; and

sending, by the first service, the data item to the second service.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2021
From: XING, KERRY; SHARMA, RAGHAV; GIRARDEAU, BRADLEY; SERRANO, MAXIME; NIGMATULLIN, RUSLAN; RAHMAN, SOUMIT; PETRENKO, SERGEY; KOHLENBERG, TOBIAS
To: DROPBOX, INC.
Reel/Frame 056200/0642 →