IP Library Granted Patent US 10,785,099
Granted Patent B2
US 10,785,099 · App. 16/310,229 · Granted Sep 22, 2020

Secure configuration of cloud computing nodes

Inventors: Nelson Araujo (Redmond, WA); Mohsen Vakilian (Kirkland, WA); Stephen Francis Yegge (Kirkland, WA)
Assignee: Google LLC
H04L41/0813G06F9/5072H04L41/0893H04L63/20H04L67/34H04L67/025H04L67/125H04L67/303
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 10,785,099
App. No.
16/310,229
Granted
Sep 22, 2020
Kind
B2
Abstract

Methods and systems for configuring nodes in a cloud computing network are described. One example method includes receiving, over a network, a configuration request from a particular node in the cloud computing network, the configuration request including node information for the particular node; verifying that the particular node is authorized for configuration based at least in part on the node information; in response to verifying that the particular node is authorized for configuration, identifying configuration actions to perform on the particular node based at least in part on the node information; and sending, over the network, a configuration command corresponding to one or more of the identified configuration actions to the particular node, wherein the particular node executes the configuration command upon receipt to perform the corresponding configuration actions.

Claims (51)

1. A computer-implemented method executed by one or more processors for configuring nodes in a cloud computing network, the method comprising:

receiving, over a network, a configuration request from a particular node in the cloud computing network, the configuration request including node information for the particular node;

verifying that the particular node is authorized for configuration based at least in part on the node information;

in response to verifying that the particular node is authorized for configuration, identifying configuration actions to perform on the particular node based at least in part on the node information; and

sending, over the network, a first configuration command corresponding to one or more of the identified configuration actions to the particular node, wherein the particular node executes the first configuration command upon receipt to perform the corresponding configuration actions;

receiving, from the particular node, reporting information related to the execution of the configuration command by the particular node;

determining that the first configuration command was executed successfully by the particular node based on the reporting information; and

in response to determining that the first configuration command was executed successfully, sending, over the network, a second configuration command corresponding to one or more additional configuration actions to the particular node, wherein the one or more additional configuration actions are selected from the identified configuration actions and are different than the configuration actions corresponding to the first configuration command.

2. The method of claim 1 , wherein receiving, from the particular node, reporting information related to the execution of the configuration command by the particular node comprises receiving, over the network, a configuration report corresponding to the configuration command from the particular node, the configuration report including the reporting information related to the execution of the first configuration command by the particular node.

3. The method of claim 2 , further comprising:

determining that the first configuration command was not executed successfully by the particular node based on the reporting information; and

in response to determining that the first configuration command was not executed successfully, notifying an administrative component associated with the particular node that the particular node was not configured successfully.

4. The method of claim 1 , wherein verifying that the particular node is authorized for configuration includes:

sending, over the network, an information request to the particular node;

receiving, over the network, a response to the information request from the particular node; and

verifying that the received response from the particular node matches an expected response.

5. The method of claim 4 , wherein the information request includes one or more commands to be executed by the particular node upon receipt, and the response to the information request includes output produced by execution of the one or more commands by the particular node.

6. The method of claim 1 , wherein verifying that the particular node is authorized for configuration includes determining that an administrative component associated with the cloud computing network created a node with node information matching that received from the particular node, and that the node has yet to be configured.

7. The method of claim 1 , wherein the node information includes creation information detailing how the particular node was created, and verifying that the particular node is authorized for configuration includes verifying that the creation information matches a security policy associated with the cloud computing network.

8. The method of claim 7 , wherein the creation information includes at least one of: an administrative component that created the particular node, a user of the administrative component who created the particular node, a project for which the particular node was created, or a node type for the particular node.

9. The method of claim 1 , wherein the node information includes an identity of the particular node.

10. A non-transitory, computer-readable medium storing instructions operable when executed to cause at least one processor to perform operations comprising:

receiving, over a network, a configuration request from a particular node in the cloud computing network, the configuration request including node information for the particular node;

verifying that the particular node is authorized for configuration based at least in part on the node information;

in response to verifying that the particular node is authorized for configuration, identifying configuration actions to perform on the particular node based at least in part on the node information; and

sending, over the network, a first configuration command corresponding to one or more of the identified configuration actions to the particular node, wherein the particular node executes the first configuration command upon receipt to perform the corresponding configuration actions;

receiving, from the particular node, reporting information related to the execution of the configuration command by the particular node;

determining that the first configuration command was executed successfully by the particular node based on the reporting information; and

in response to determining that the first configuration command was executed successfully, sending, over the network, a second configuration command corresponding to one or more additional configuration actions to the particular node, wherein the one or more additional configuration actions are selected from the identified configuration actions and are different than the configuration actions corresponding to the first configuration command.

11. The computer-readable medium of claim 10 , wherein receiving, from the particular node, reporting information related to the execution of the configuration command by the particular node comprises receiving, over the network, a configuration report corresponding to the configuration command from the particular node, the configuration report including the reporting information related to the execution of the first configuration command by the particular node.

12. The computer-readable medium of claim 11 , the operations further comprising:

determining that the first configuration command was not executed successfully by the particular node based on the reporting information; and

in response to determining that the first configuration command was not executed successfully, notifying an administrative component associated with the particular node that the particular node was not configured successfully.

13. The computer-readable medium of claim 10 , wherein verifying that the particular node is authorized for configuration includes:

sending, over the network, an information request to the particular node;

receiving, over the network, a response to the information request from the particular node; and

verifying that the received response from the particular node matches an expected response.

14. The computer-readable medium of claim 13 , wherein the information request includes one or more commands to be executed by the particular node upon receipt, and the response to the information request includes output produced by execution of the one or more commands by the particular node.

15. The computer-readable medium of claim 10 , wherein verifying that the particular node is authorized for configuration includes determining that an administrative component associated with the cloud computing network created a node with node information matching that received from the particular node, and that the node has yet to be configured.

16. The computer-readable medium of claim 10 , wherein the node information includes creation information detailing how the particular node was created, and verifying that the particular node is authorized for configuration includes verifying that the creation information matches a security policy associated with the cloud computing network.

17. The computer-readable medium of claim 16 , wherein the creation information includes at least one of: an administrative component that created the particular node, a user of the administrative component who created the particular node, a project for which the particular node was created, or a node type for the particular node.

18. A system comprising:

memory for storing data; and

one or more processors operable to perform operations comprising:

receiving, over a network, a configuration request from a particular node in the cloud computing network, the configuration request including node information for the particular node;

verifying that the particular node is authorized for configuration based at least in part on the node information;

in response to verifying that the particular node is authorized for configuration, identifying configuration actions to perform on the particular node based at least in part on the node information; and

sending, over the network, a first configuration command corresponding to one or more of the identified configuration actions to the particular node, wherein the particular node executes the first configuration command upon receipt to perform the corresponding configuration actions;

receiving, from the particular node, reporting information related to the execution of the configuration command by the particular node;

determining that the first configuration command was executed successfully by the particular node based on the reporting information; and

in response to determining that the first configuration command was executed successfully, sending, over the network, a second configuration command corresponding to one or more additional configuration actions to the particular node, wherein the one or more additional configuration actions are selected from the identified configuration actions and are different than the configuration actions corresponding to the first configuration command.

Assignments (4)
CHANGE OF NAME Recorded Apr 24, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 048985/0001 →
CHANGE OF NAME Recorded Feb 15, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 049867/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: ARAUJO, NELSON; VAKILIAN, MOHSEN; YEGGE, STEPHEN FRANCIS
To: GOOGLE INC.
Reel/Frame 048193/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2018
From: ARAUJO, NELSON; VAKILIAN, MOHSEN; YEGGE, STEPHEN FRANCIS
To: GOOGLE LLC
Reel/Frame 047852/0977 →
Continuity (1)
Related Publication 20190149410A1 · May 16, 2019