LAYERED AUTHENTICATION METHOD FOR MANAGING ACCESS TO CLOUD RESOURCES
20230216856 · 2023-07-06
Assignee
Inventors
Cpc classification
International classification
Abstract
A disclosed method for managing access to cloud infrastructure include responding to receiving a user request to access a cloud resource, such as a cluster associated with a hyper-converged infrastructure appliance, associated with an entity by performing a layered authentication of the user. The layered authentication includes determining first layer privileges based on first user credentials associated with a first authentication module and determining second layer privileges based on second user credentials associated with a second authentication module. The request is granted or denied based on a combination of the user's first and second layer privileges. The first authentication module may be associated with a first authentication domain such as an authentication domain of a cloud service provider or an OEM of cloud infrastructure resources. The second authentication module may comprise an authentication module maintained by the entity associated with the resource targeted by the user request.
Claims
1. A method for managing access to cloud infrastructure, the method comprising: responsive to receiving a request to access a cloud resource associated with an entity, performing a layered authentication of a user associated with the request, wherein the layered authentication includes: determining first layer privileges of the user based on first user credentials associated with a first authentication module; determining second layer privileges for the user based on second user credentials associated with a second authentication module; and determining whether to grant the request based, at least in part, on a combination of the first layer privileges and the second layer privileges.
2. The method of claim 1, wherein the cloud infrastructure resource includes a cluster associated with a hyper-converged infrastructure appliance.
3. The method of claim 1, wherein the first authentication module comprises a cloud service provider authentication module.
4. The method of claim 3, wherein the second authentication module comprises an authentication module maintained by the entity.
5. The method of claim 4, wherein the first credentials and the second credentials are independent and distinct.
6. The method of claim 4, wherein the user request contains only one of the first credentials and the second credentials.
7. The method of claim 1, wherein the first layer privileges and the second layer privileges both include privileges indicative of cloud infrastructure resources viewable to the user.
8. The method of claim 7, wherein the second layer privileges include action privileges indicative of actions the user is authorized to perform on the cloud infrastructure resources.
9. The method of claim 8, wherein the action privileges are selected from a group of privileges comprising: download privileges for downloading data from the cloud infrastructure resources; update privileges for taking one or more actions to update the cloud infrastructure resources; pre-check privileges for performing a pre-update health check of the cloud infrastructure privileges.
10. The method of claim 7, wherein determining whether to grant the request includes denying the request unless both the first layer privileges of the user and the second layer privileges of the user include view privileges.
11. An information handling system, comprising: a central processing unit; and a memory including process executable instructions that, when executed by the central processing unit, cause the system to perform operations for managing access to cloud infrastructure, the operations comprising: responsive to receiving a request to access a cloud resource associated with an entity, performing a layered authentication of a user associated with the request, wherein the layered authentication includes: determining first layer privileges of the user based on first user credentials associated with a first authentication module; determining second layer privileges for the user based on second user credentials associated with a second authentication module; and determining whether to grant the request based, at least in part, on a combination of the first layer privileges and the second layer privileges.
12. The information handling system of claim 11, wherein the cloud infrastructure resource includes a cluster associated with a hyper-converged infrastructure appliance.
13. The information handling system of claim 11, wherein the first authentication module comprises a cloud service provider authentication module.
14. The information handling system of claim 13, wherein the second authentication module comprises an authentication module maintained by the entity.
15. The information handling system of claim 14, wherein the first credentials and the second credentials are independent and distinct.
16. The information handling system of claim 14, wherein the user request contains only one of the first credentials and the second credentials.
17. The information handling system of claim 11, wherein the first layer privileges and the second layer privileges both include privileges indicative of cloud infrastructure resources viewable to the user.
18. The information handling system of claim 17, wherein the second layer privileges include action privileges indicative of actions the user is authorized to perform on the cloud infrastructure resources.
19. The information handling system of claim 18, wherein the action privileges are selected from a group of privileges comprising: download privileges for downloading data from the cloud infrastructure resources; update privileges for taking one or more actions to update the cloud infrastructure resources; pre-check privileges for performing a pre-update health check of the cloud infrastructure privileges.
20. The information handling system of claim 17, wherein determining whether to grant the request includes denying the request unless both the first layer privileges of the user and the second layer privileges of the user include view privileges.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
[0010]
[0011]
[0012]
[0013]
[0014]
DETAILED DESCRIPTION
[0015] Exemplary embodiments and their advantages are best understood by reference to
[0016] For the purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a personal digital assistant (PDA), a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (“CPU”), microcontroller, or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input/output (“I/O”) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components.
[0017] Additionally, an information handling system may include firmware for controlling and/or communicating with, for example, hard drives, network circuitry, memory devices, I/O devices, and other peripheral devices. For example, the hypervisor and/or other components may comprise firmware. As used in this disclosure, firmware includes software embedded in an information handling system component used to perform predefined tasks. Firmware is commonly stored in non-volatile memory, or memory that does not lose stored data upon the loss of power. In certain embodiments, firmware associated with an information handling system component is stored in non-volatile memory that is accessible to one or more information handling system components. In the same or alternative embodiments, firmware associated with an information handling system component is stored in non-volatile memory that is dedicated to and comprises part of that component.
[0018] For the purposes of this disclosure, computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time. Computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive or floppy disk), a sequential access storage device (e.g., a tape disk drive), compact disk, CD-ROM, DVD, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and/or flash memory; as well as communications media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers; and/or any combination of the foregoing.
[0019] For the purposes of this disclosure, information handling resources may broadly refer to any component system, device or apparatus of an information handling system, including without limitation processors, service processors, basic input/output systems (BIOSs), buses, memories, I/O devices and/or interfaces, storage resources, network interfaces, motherboards, and/or any other components and/or elements of an information handling system.
[0020] In the following description, details are set forth by way of example to facilitate discussion of the disclosed subject matter. It should be apparent to a person of ordinary skill in the field, however, that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments.
[0021] Throughout this disclosure, a hyphenated form of a reference numeral refers to a specific instance of an element and the un-hyphenated form of the reference numeral refers to the element generically. Thus, for example, “device 12-1” refers to an instance of a device class, which may be referred to collectively as “devices 12” and any one of which may be referred to generically as “a device 12”. As used herein, when two or more elements are referred to as “coupled” to one another, such term indicates that such two or more elements are in electronic communication, mechanical communication, including thermal and fluidic communication, thermal, communication or mechanical communication, as applicable, whether connected indirectly or directly, with or without intervening elements.
[0022] Referring now to the drawings,
[0023] The illustrated cloud platform 101 includes, in addition to cloud portal 120, cloud infrastructure 130 and a cloud platform manager 110. The cloud infrastructure 130 depicted in
[0024] The illustrated HCI appliance 140 includes four nodes 143 that have been configured as a 4-node cluster 145. Although the illustrated cluster 145 encompasses four nodes 143, other embodiments of cluster 145 may include more or fewer nodes. Cluster 145 supports virtualized information handling resources including, as examples, one or more virtual machines and/or one or more containerized resources. For the sake of clarity,
[0025] Cluster 145 may be entirely or partially allocated to or otherwise associated with an entity such as a corporate, governmental, or educational entity. For purposes of the following description of layered authentication, it is stipulated that cluster 145 is entirely allocated to or associated with the entity and that user request 105 includes a request to access at least some part of cluster 145. For example, user request 105 may include a request to view and, optionally, updating or taking some other action pertaining to cluster 145. Because user 103 may or may not be an employee or agent of the entity and because user 103 may or may not be authorized to access cluster 145, some form of authentication is necessary. In some cases, there may be two or more authentication modules associated with cluster 145. For example, a cloud service provider or a component vendor, e.g., an OEM of the HCI appliance, may provide a first authentication platform that encompasses, not only cluster 145 and the corresponding entity, but also other resources and other entities. A second authentication platform pertaining to cluster 145 may be an entity-specific module. To illustrate for a case in which HCI appliance 140 is a VxRail appliance from Dell Technologies, permission to perform actions on VxRail resources via cloud portals may be based, at least in part, on the user's identity in a Dell single sign on (SSO) system that encompasses a domain of users that includes extends beyond the entity associated with cluster 145. In addition, however, the entity may wish to control permissions based on entity-specific credentials and security provided, for example, by on-premises server management software such as VMware vCenter SSO. Layered authentication teachings disclosed herein address such situations.
[0026]
[0027] The LAM 210 illustrated in
[0028] Each of the illustrated AIFs 220 is communicatively coupled to the corresponding authentication database server 230. Each of the illustrated authentication database servers 230 has access to a database of records indicating authorized users and their corresponding credentials, e.g., userID, password, biometric data, or the like, as well as the managed resources the user is authorized to access and the privileges, including the actions or commands the user is authorized to perform or execute for each resource.
[0029] Upon receiving user request 105 from cloud portal 120, LAM interface 212 extracts credentials information 202 and resource information 204 from user request 105. The credentials information 202 and resource information 204 are provided to one or both AIFs 220 to invoke AIFs 220 to query the corresponding authentication database servers 230 and thereby retrieve one or more records 231, one of which is illustrated in
[0030] In some embodiments, the credentials information 202 in user request 105 includes separate and distinct credentials for each authentication module 211. In these embodiments, LAM interface 220 may segregate the credentials for each module and forward the appropriate credentials to each AIF 220. In other embodiments, user request 105 may include one but not both sets of credentials. In these embodiments, LAM interface 212 may be configured to obtain credentials for the other authentication module based on the credentials that are provided in user request 105. In one such embodiment, LAM interface 212 may maintain records mapping each user's credentials for the first authentication module 211-1 the users credentials for the second authentication module 211-2. In another embodiment, the mapping of a user's two sets of credentials may be embedded within one of the authentication database servers 230.
[0031] The illustrated AIFs 220, upon receiving credential and resource information from LAM interface 212, query the corresponding database server to determine the user's privileges, if any, with respect to the targeted resource. AIFs 220 may then provide the privileges information to layered access logic 240.
[0032] Layered access logic 240, which may be implemented in hardware, software, or a combination thereof, processes the privileges information received from AIFs 220 and generates a request grant signal 250, indicative of whether the user's requested access to the targeted resource has been granted, based at least in part on a combination of the user's privileges in the first and second authentication modules.
[0033] Each authentication module may maintain privilege information for a number of different privilege parameters corresponding to actions a user may perform on a targeted resource. Non-limiting examples of privileges might include view privileges, download privileges, update privileges, and “pre-check” privileges indicative of the authority to perform pre-update health checks. In some embodiments, the privilege parameters may include a primary privilege parameter, such as a view privilege, that is a perquisite to other privileges. In some such embodiments, layered access logic may deny access to a user who does not have the primary privilege within both authentication modules.
[0034] To resolve conflicts that might arise when the privilege information for a particular privilege parameter differs between the two authentication modules, layered access logic 240 may be configurable to specify which of the authentication modules has priority over any given privilege parameter. In addition, some embodiments may be configured wherein a conflict involving a primary parameter is always resolved in favor of either denying access or granting access. If, as in the previous example, a view privilege is designated as a primary privilege and the two authentication modules contain conflicting view privilege information for a specific user and resource, layered access logic 240 may be configured to specify whether to grant or deny view access to the user.
[0035]
[0036] The layered privileges 320 may reflect an implementation of layer access logic 240 in which (1) the view privilege is a primary privilege, (2) the view privilege is the only privilege maintained within the first authentication module, and/or (3) users must have view privilege authority within both authentication modules as a prerequisite to all other privileges. It will, however, be appreciated by those of ordinary skill in the field that other implementations, not represented in
[0037]
[0038] Referring now to
[0039] This disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Moreover, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, or component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
[0040] All examples and conditional language recited herein are intended for pedagogical objects to aid the reader in understanding the disclosure and the concepts contributed by the inventor to furthering the art, and are construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the disclosure.