Computing resource usage control using seed and token generation
A seed, a computing resource characteristic, and a computing resource permitted condition corresponding to the computing resource characteristic are received. A request is received from a requestor to implement a computing element that utilizes the computing resource characteristic. The request includes a computing resource value for the computing resource characteristic. A requestor token is received from the requestor. A server token is generated using the first seed. It is determined that the requestor token matches the server token, and that the computing resource value meets the computing resource permitted condition. In response, the request to implement the computing element is granted.
1. A method comprising:
receiving, by a computing system comprising one or more processor devices, a first seed, a first computing resource characteristic, and a first computing resource permitted condition corresponding to the first computing resource characteristic;
subsequent to receiving the first seed, receiving, by the computing system, a first request from a first requestor to implement a first computing element that utilizes the first computing resource characteristic, the first request including a first computing resource value for the first computing resource characteristic;
receiving, by the computing system from the first requestor, a first requestor token;
generating, by the computing system, using the first seed, a first server token;
determining, by the computing system, that the first requestor token matches the first server token;
determining, by the computing system, that the first computing resource value meets the first computing resource permitted condition; and
in response to determining that the first requestor token matches the first server token and determining that the first computing resource value meets the first computing resource permitted condition, granting, by the computing system, the first request to implement the first computing element.
2. The method of claim 1 wherein the first computing resource characteristic comprises one of a central processing unit (CPU), a memory, a storage, a computing element, and a virtual CPU.
3. The method of claim 1 wherein the first computing resource permitted condition comprises a maximum quantity.
4. The method of claim 1 wherein the first computing element comprises one of a virtual machine, a container, and a computing process.
5. The method of claim 1 further comprising:
receiving, by the computing system, a plurality of seeds including the first seed; for each seed of the plurality of seeds, a corresponding computing resource characteristic; and for each computing resource characteristic, a corresponding computing resource permitted condition; and
storing each seed, the corresponding computing resource characteristic, and the corresponding computing resource permitted condition in association with one another.
6. The method of claim 5 further comprising:
receiving, by the computing system, a second request from a second requestor to implement a second computing element that utilizes a second computing resource characteristic, the second request including a second computing resource value for the second computing resource characteristic;
receiving, by the computing system from the second requestor, a second requestor token;
generating, by the computing system, using a second seed associated with the second requestor, a second server token;
determining, by the computing system, that the second requestor token matches the second server token;
determining, by the computing system, that the second computing resource value does not meet the second computing resource permitted condition; and
in response to determining that the second computing resource value does not meet the second computing resource permitted condition, denying, by the computing system, the second request to implement the second computing element.
7. The method of claim 5 further comprising:
receiving, by the computing system, a second request from a second requestor to implement a second computing element that utilizes a second computing resource characteristic, the second request including a second computing resource value for the second computing resource characteristic;
receiving, by the computing system from the second requestor, a second requestor token;
generating, by the computing system, using a second seed associated with the second requestor, a second server token;
determining, by the computing system, that the second requestor token does not match the second server token; and
in response to determining that the second requestor token does not match the second server token, denying, by the computing system, the second request to implement the second computing element.
8. The method of claim 1 further comprising:
receiving, by the computing system from the first requestor, a user identifier and a password; and
determining, based on authentication information, that the user identifier and the password are valid.
9. The method of claim 1 further comprising:
subsequent to granting the first request, receiving, by the computing system, a second request from the first requestor to implement a second computing element that utilizes the first computing resource characteristic, the second request including a second computing resource value for the first computing resource characteristic, the second computing resource value being different from the first computing resource value;
receiving, by the computing system from the first requestor, a second requestor token;
generating, by the computing system, using the first seed, a second server token, the second server token being different from the first server token;
determining, by the computing system, that the second requestor token matches the second server token;
determining, by the computing system, that the second computing resource value meets the first computing resource permitted condition; and
in response to determining that the second requestor token matches the second server token and determining that the second computing resource value meets the first computing resource permitted condition, granting, by the computing system, the second request to implement the second computing element.
10. The method of claim 1 further comprising:
receiving, by the computing system, a request to generate a seed, the request including the first computing resource characteristic, and the first computing resource permitted condition corresponding to the first computing resource characteristic;
generating the first seed; and
sending the first seed, the first computing resource characteristic, and the first computing resource permitted condition to a destination.
11. The method of claim 1 wherein the computing system comprises a cloud computing environment.
12. A computer system comprising:
one or more processor devices of one or more computing devices, the one or more processor devices to:
receive a first seed, a first computing resource characteristic, and a first computing resource permitted condition corresponding to the first computing resource characteristic;
subsequent to receiving the first seed, receive a first request from a first requestor to implement a first computing element that utilizes the first computing resource characteristic, the first request including a first computing resource value for the first computing resource characteristic;
receive, from the first requestor, a first requestor token;
generate, using the first seed, a first server token;
determine that the first requestor token matches the first server token;
determine that the first computing resource value meets the first computing resource permitted condition; and
in response to determining that the first requestor token matches the first server token and determining that the first computing resource value meets the first computing resource permitted condition, grant the first request to implement the first computing element.
13. The computer system of claim 12 wherein the one or more processors are further to:
receive a plurality of seeds including the first seed; for each seed of the plurality of seeds, a corresponding computing resource characteristic; and for each computing resource characteristic, a corresponding computing resource permitted condition; and
store each seed, the corresponding computing resource characteristic, and the corresponding computing resource permitted condition in association with one another.
14. The computer system of claim 13 wherein the one or more processors are further to:
receive a second request from a second requestor to implement a second computing element that utilizes a second computing resource characteristic, the second request including a second computing resource value for the second computing resource characteristic;
receive, from the second requestor, a second requestor token;
generate, using a second seed associated with the second requestor, a second server token;
determine that the second requestor token matches the second server token;
determine that the second computing resource value does not meet the second computing resource permitted condition; and
in response to determining that the second computing resource value does not meet the second computing resource permitted condition, deny the second request to implement the second computing element.
15. The computer system of claim 13 wherein the one or more processors are further to:
receive a second request from a second requestor to implement a second computing element that utilizes a second computing resource characteristic, the second request including a second computing resource value for the second computing resource characteristic;
receive, from the second requestor, a second requestor token;
generate, using a second seed associated with the second requestor, a second server token;
determine that the second requestor token does not match the second server token; and
in response to determining that the second requestor token does not match the second server token, deny the second request to implement the second computing element.
16. The computer system of claim 12 wherein the one or more processors are further to:
receive, from the first requestor, a user identifier and a password; and
determine, based on authentication information, that the user identifier and the password are valid.
17. A non-transitory computer-readable storage medium that includes executable instructions to cause one or more processor devices of one or more computing devices to:
receive a first seed, a first computing resource characteristic, and a first computing resource permitted condition corresponding to the first computing resource characteristic;
subsequent to receiving the first seed, receive a first request from a first requestor to implement a first computing element that utilizes the first computing resource characteristic, the first request including a first computing resource value for the first computing resource characteristic;
receive, from the first requestor, a first requestor token;
generate, using the first seed, a first server token;
determine that the first requestor token matches the first server token;
determine that the first computing resource value meets the first computing resource permitted condition; and
in response to determining that the first requestor token matches the first server token and determining that the first computing resource value meets the first computing resource permitted condition, grant the first request to implement the first computing element.
18. The non-transitory computer-readable storage medium of claim 17 wherein the instructions further cause the one or more processors to:
receive a plurality of seeds including the first seed; for each seed of the plurality of seeds, a corresponding computing resource characteristic; and for each computing resource characteristic, a corresponding computing resource permitted condition; and
store each seed, the corresponding computing resource characteristic, and the corresponding computing resource permitted condition in association with one another.
19. The non-transitory computer-readable storage medium of claim 18 wherein the instructions further cause the one or more processors to:
receive a second request from a second requestor to implement a second computing element that utilizes a second computing resource characteristic, the second request including a second computing resource value for the second computing resource characteristic;
receive, from the second requestor, a second requestor token;
generate, using a second seed associated with the second requestor, a second server token;
determine that the second requestor token matches the second server token;
determine that the second computing resource value does not meet the second computing resource permitted condition; and
in response to determining that the second computing resource value does not meet the second computing resource permitted condition, deny the second request to implement the second computing element.
20. The non-transitory computer-readable storage medium of claim 18 wherein the instructions further cause the one or more processors to:
receive a second request from a second requestor to implement a second computing element that utilizes a second computing resource characteristic, the second request including a second computing resource value for the second computing resource characteristic;
receive, from the second requestor, a second requestor token;
generate, using a second seed associated with the second requestor, a second server token;
determine that the second requestor token does not match the second server token; and
in response to determining that the second requestor token does not match the second server token, deny the second request to implement the second computing element.