IP Library Granted Patent US 11,089,007
Granted Patent B2
US 11,089,007 · App. 16/690,316 · Granted Aug 10, 2021

Role-based resource access control

Inventors: Ruchir Tewari (San Ramon, CA); Vineet Banga (San Ramon, CA); Atul Chandrakant Kshirsagar (San Ramon, CA)
Assignee: General Electric Company
H04L63/0823G06F9/505G06F9/5022G06F9/5038G06F16/953H04L9/3247H04L47/808H04L63/0869H04L63/102
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,089,007
App. No.
16/690,316
Granted
Aug 10, 2021
Kind
B2
Abstract

Systems and methods for role-based access control to computing resources are presented. In an example embodiment, a request to perform a type of access of a computing resource is received via a communication network from a process executing on a client device. Using a data store storing process identifiers and associated access control information, access control information associated with the requesting process is identified based on a process identifier of the requesting process. Based on the access control information associated with the requesting process, a determination is made whether the requesting process is allowed to perform the requested type of access of the computing resource. The request is processed based on the requesting process being allowed to perform the requested type of access of the computing resource.

Claims (54)

1. A method for role-based control of access to computing resources, the method comprising:

receiving, via a communication network from a process executing on a client device, a request to perform a type of access of a computing resource;

identifying, from a data store storing process identifiers and associated access control information, access control information associated with the requesting process based on a process identifier of the requesting process;

wherein each process identifier and its associated access control information describe a role corresponding to the process identified by the process identifier;

determining whether the requesting process is allowed to perform the requested type of access of the computing resource based upon the role;

when the determination is that the requesting process is allowed to perform the requested type of access, providing access to a computing resource;

subsequently, receiving a change of role request from a first role to a second role by the requesting process;

determining whether to accept the change of role from the first role to the second role, and when the change of role is accepted, allow the role to be changed to the second role for a period of time and allow the requesting process to access the computing resource.

2. The method of claim 1 , based on the requesting process not being allowed to perform the requested type of access of the computing resource in the first role, automatically determining whether the second role is available for the requesting process.

3. The method of claim 1 , wherein:

the access control information associated with the requesting process indicates one or more computing resources that the requesting process is allowed to access.

4. The method of claim 3 , wherein;

the access control information associated with the requesting process further indicates, for at least one of the indicated one or more computing resources, a type of access to the at least one of the indicated one or more computing resources allowed for the requesting process.

5. The method of claim 1 , further comprising:

receiving, via the communication network, at least one text file comprising the process identifiers and the associated access control information; and

storing the process identifiers and the associated access control information in the data store.

6. The method of claim 5 , the at least one text file comprising at least one of a JavaScript Object Notation (JSON) file and an Extensible Markup Language (XML) file.

7. The method of claim 1 , further comprising:

based on the requesting process not being allowed to perform the requested type of access of the computing resource, denying the request.

8. The method of claim 1 , further comprising:

reverting the requesting process from the second role to the first role after a predetermined event has occurred.

9. The method of claim 8 , wherein the predetermined event comprises the processing of the request.

10. The method of claim 1 , wherein the period of time is a predetermined period of time and further comprising reverting the requesting process from the second role to the first role after a predetermined period of time has elapsed.

11. The method of claim 1 , wherein the second role corresponds to the access control information corresponding to the first role, and to additional access control information allowing the requested type of access of the computing resource.

12. The method of claim 1 , wherein the second role is specified in a role hierarchy associated with the requesting process.

13. The method of claim 1 , further comprising:

receiving, prior to the receiving of the request, a digital certificate corresponding to the client device and the process identifier for the requesting process; and

authenticating, prior to the receiving of the request, the requesting process based on the received digital certificate and the received process identifier.

14. The method of claim 13 , further comprising:

performing a two-way authentication with the client device, the performing of the two-way authentication comprising the receiving of the digital certificate and the authenticating of the requesting process.

15. The method of claim 1 , wherein the computing resource comprises a data streaming service, a queue, a database, or a webserver.

16. A system comprising:

one or more hardware processors; and

a memory storing instructions that, when executed by at least one of the one or more hardware processors, cause the system to perform operations comprising:

receiving, via a communication network from a process executing on a client device, a request to perform a type of access of a computing resource;

identifying, from a data store storing process identifiers and associated access control information, access control information associated with the requesting process based on a process identifier of the requesting process;

wherein each process identifier and its associated access control information describe a role corresponding to the process identified by the process identifier;

determining whether the requesting process is allowed to perform the requested type of access of the computing resource based upon the role;

when the determination is that the requesting process is allowed to perform the requested type of access, providing access to a computing resource;

subsequently, receiving a change of role request from a first role to a second role by the requesting process;

determining whether to accept the change of role from the first role to the second role, and when the change of role is accepted, allow the role to be changed to the second role for a period of time and allow the requesting process to access the computing resource.

17. The system of claim 16 , wherein based on the requesting process not being allowed to perform the requested type of access of the computing resource in the first role, the hardware processors automatically determine whether the second role is available for the requesting process.

18. The system of claim 16 , wherein:

the access control information associated with the requesting process indicates one or more computing resources that the requesting process is allowed to access.

19. The system of claim 18 , wherein;

the access control information associated with the requesting process further indicates, for at least one of the indicated one or more computing resources, a type of access to the at least one of the indicated one or more computing resources allowed for the requesting process.

20. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one hardware processor of a machine, cause the machine to perform operations comprising:

receiving, via a communication network from a process executing on a client device, a request to perform a type of access of a computing resource;

identifying, from a data store storing process identifiers and associated access control information, access control information associated with the requesting process based on a process identifier of the requesting process;

wherein each process identifier and its associated access control information describe a role corresponding to the process identified by the process identifier;

determining whether the requesting process is allowed to perform the requested type of access of the computing resource based upon the role;

when the determination is that the requesting process is allowed to perform the requested type of access, providing access to a computing resource;

subsequently, receiving a change of role request from a first role to a second role by the requesting process;

determining whether to accept the change of role from the first role to the second role, and when the change of role is accepted, allow the role to be changed to the second role for a period of time and allow the requesting process to access the computing resource.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: GENERAL ELECTRIC COMPANY
To: GE DIGITAL HOLDINGS LLC
Reel/Frame 065612/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: BANGA, VINEET; KSHIRSAGAR, ATUL CHANDRAKANT
To: GENERAL ELECTRIC COMPANY
Reel/Frame 056802/0878 →
Continuity (2)
Continuation 15601831 · May 22, 2017
Related Publication 20200104182A1 · Apr 2, 2020