IP Library Granted Patent US 9,619,631
Granted Patent B1
US 9,619,631 · App. 14/301,849 · Granted Apr 11, 2017

Role-based permissions for accessing computing resources

Inventors: Michael P. DeHaan (Morrisville, NC); Christopher S. Church (Durham, NC); Christopher L. Houseknecht (Wake Forest, NC); Matthew W. Jones (Apex, NC)
Assignee: Ansible, Inc.
G06F21/31
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 9,619,631
App. No.
14/301,849
Granted
Apr 11, 2017
Kind
B1
Abstract

Mechanisms for controlling access to a computing resource are disclosed. A request to initiate an action against a computing resource of a plurality of computing resources is received from a user. A plurality of permission definitions that identify a plurality of corresponding permissions that grant access to the plurality of computing resources is accessed. Based on a set of permissions comprising at least one permission associated with the user and at least one permission associated with a team of which the user is a member, it is determined that at least one permission in the set of permissions grants the user access to the computing resource. The request to initiate the action against the computing resource is processed.

Claims (66)

1. A method for controlling access to a computing resource, comprising:

receiving, by a computing device comprising a processor device from a user, a first request to identify a set of credentials which the user has a right to use;

accessing a plurality of credential definitions that comprise authentication information for use in authenticating an action against a computing resource of a plurality of computing resources;

determining a set of credential definitions that comprises each credential definition designated as being associated with the user and each credential definition designated as being associated with a team of which the user is a member; and

effecting presentation of credential identifiers that identify the credential definitions in the set of credential definitions to the user;

receiving, by the computing device, a second request associated with the user to initiate an action against the computing resource;

accessing, by the computing device, a plurality of permission definitions that identify a plurality of corresponding permissions that grant access to the plurality of computing resources;

based on a set of permissions comprising at least one permission associated with the user and at least one permission associated with the team of which the user is the member, determining that at least one permission in the set of permissions grants the user access to the computing resource; and

processing the second request to initiate the action against the computing resource.

2. The method of claim 1 , further comprising:

receiving, from the user, a request to identify a set of computing resources which the user has a right to access based on the set of permissions;

determining the set of computing resources; and

effecting presentation of the set of computing resources to the user.

3. The method of claim 2 , further comprising receiving, from the user, a selection of the computing resource from the set of computing resources.

4. The method of claim 1 , wherein processing the request to initiate the action against the computing resource comprises:

generating a reference to a playbook comprising a plurality of actions to be performed against the computing resource; and

providing the reference to an orchestration engine for execution of the plurality of actions.

5. The method of claim 4 , wherein the request identifies a credential, and further comprising:

accessing a credential definition associated with the credential;

extracting authentication information from the credential definition; and

providing the authentication information with the reference to the orchestration engine for execution of the plurality of actions.

6. The method of claim 1 , wherein no authentication information associated with any credential definition in the set of credential definitions is presented to the user.

7. The method of claim 1 , wherein the at least one permission associated with the user does not grant the user access to the computing resource and the at least one permission associated with the team of which the user is a member does grant the user access to the computing resource.

8. A computing device, comprising:

a communications interface configured to communicate with a network; and

a processor device coupled to the communications interface, and configured to:

receive, from a user, a first request to identify a set of credentials which the user has a right to use;

access a plurality of credential definitions that comprise authentication information for use in authenticating an action against a computing resource of a plurality of computing resources;

determine a set of credential definitions that comprises each credential definition designated as being associated with the user and each credential definition designated as being associated with a team of which the user is a member; and

effect presentation of credential identifiers that identify the credential definitions in the set of credential definitions to the user;

receive, from the user, a second request to initiate an action against the computing resource;

access a plurality of permission definitions that identify a plurality of corresponding permissions that grant access to the plurality of computing resources;

based on a set of permissions comprising at least one permission associated with the user and at least one permission associated with the team of which the user is the member, determine that at least one permission in the set of permissions grants the user access to the computing resource; and

process the second request to initiate the action against the computing resource.

9. The computing device of claim 8 , wherein the processor device is further configured to:

receive, from the user, a request to identify a set of computing resources which the user has a right to access based on the set of permissions;

determine the set of computing resources; and

effect presentation of the set of computing resources to the user.

10. The computing device of claim 8 , wherein to process the request to initiate the action against the computing resource, the processor device is further configured to:

generate a reference to a playbook comprising a plurality of actions to be performed against the computing resource; and

provide the reference to an orchestration engine for execution of the plurality of actions.

11. The computing device of claim 10 , wherein the request identifies a credential, and wherein the processor device is further configured to:

access a credential definition associated with the credential;

extract authentication information from the credential definition; and

provide the authentication information with the reference to the orchestration engine for execution of the plurality of actions.

12. The computing device of claim 8 , wherein the at least one permission associated with the user does not grant the user access to the computing resource and the at least one permission associated with the team of which the user is a member does grant the user access to the computing resource.

13. A computer program product for controlling access to a computing resource, the computer program product stored on a non-transitory computer-readable storage medium and including instructions configured to cause a processor to carry out the steps of:

receiving, from a user, a first request to identify a set of credentials which the user has a right to use;

accessing a plurality of credential definitions that comprise authentication information for use in authenticating an action against a computing resource of a plurality of computing resources;

determining a set of credential definitions that comprises each credential definition designated as being associated with the user and each credential definition designated as being associated with a team of which the user is a member; and

effecting presentation of credential identifiers that identify the credential definitions in the set of credential definitions to the user;

receiving, from the user, a second request to initiate an action against the computing resource;

accessing a plurality of permission definitions that identify a plurality of corresponding permissions that grant access to the plurality of computing resources;

based on a set of permissions comprising at least one permission associated with the user and at least one permission associated with the team of which the user is the member, determining that at least one permission in the set of permissions grants the user access to the computing resource; and

processing the second request to initiate the action against the computing resource.

14. The computer program product of claim 13 , wherein the instructions are further configured to cause the processor to carry out the steps of:

receiving, from the user, a request to identify a set of computing resources which the user has a right to access based on the set of permissions;

determining the set of computing resources; and

effecting presentation of the set of computing resources to the user.

15. The computer program product of claim 13 , wherein the instructions are further configured to cause the processor to carry out the steps of:

generating a reference to a playbook comprising a plurality of actions to be performed against the computing resource; and

providing the reference to an orchestration engine for execution of the plurality of actions.

16. The computer program product of claim 15 , wherein the request identifies a credential, and wherein the instructions are further configured to cause the processor to carry out the steps of:

accessing a credential definition associated with the credential;

extracting authentication information from the credential definition; and

providing the authentication information with the reference to the orchestration engine for execution of the plurality of actions.

Assignments (5)
CHANGE OF NAME Recorded Apr 26, 2017
From: ANSIBLE, INC.
To: ANSIBLE, LLC
Reel/Frame 042154/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: ANSIBLE, LLC
To: RED HAT, INC.
Reel/Frame 042154/0713 →
RELEASE OF SECURITY INTEREST Recorded Oct 16, 2015
From: PACIFIC WESTERN BANK (AS SUCCESSOR IN INTEREST BY MERGER TO SQUARE 1 BANK)
To: ANSIBLE, INC.
Reel/Frame 036814/0147 →
SECURITY INTEREST Recorded Jan 23, 2015
From: ANSIBLE, INC.
To: SQUARE 1 BANK
Reel/Frame 034801/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2014
From: DEHAAN, MICHAEL P.; CHURCH, CHRISTOPHER S.; HOUSEKNECHT, CHRISTOPHER L.; JONES, MATTHEW W.
To: ANSIBLE, INC.
Reel/Frame 033079/0011 →