Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. [emphasis added]
This definition articulates the service goals that a cloud computing environment is expected to deliver:
- Ubiquitous: The resources are available and ready for consumption.
- Convenient: The consumer has easy access to the resources.
- On demand: Resource requests need not involve resource approval and acquisition tasks.
- Shared pool: The resources are shared, not dedicated, which provides mobility and flexibility in terms of assigning resources.
- Rapid: The time window between a resource request and its fulfillment is shortened or eliminated.
These service goals drive the physical implementation of any cloud computing model. Specifically, they provide the basis for the following core aspects of any cloud computing model, which are also interdependent on each other:
- Roles applicable within cloud computing—Who is sharing the resource pool?
- Cloud type from a infrastructure persepctive—What is the shared resource pool, and how is it deployed?
- The security framework within a cloud computing model—What are the basic rules that govern how the resource pool is shared?
Let us first look at roles within a cloud computing model. There are primarily two roles: end user and provider. The end user is the entity that uses the hardware resources and associated services that exist in a cloud environment. The provider is the entity that owns the physical hardware and infrastructure resources and is responsible for the services associated with delivering these resources to the end user.
Next, we look at the three types of cloud computing models prevalent: private, public, and hybrid.
- Private cloud: A cloud infrastructure provisioned for exclusive use by a single organization or entity, maintained by the entity and within the entity’s network. The roles of provider and end user are represented by different groups within the entity.
- Public cloud: A cloud infrastructure provisioned in the public space such that multiple entities can use the infrastructure simultaneously. The provider is a third-party service provider that supports multiple clients or entities in the end user role.
- Hybrid cloud: A combination of the private and public cloud models.
The security model in a cloud environment must include the capability to define roles, responsibilities, and separation of duties for both the provider and end users. As a part of the overall cloud deployment model, the provider must develop, implement, and support a security system with proper access and privileges grants and administration in place.
The security requirements on all cloud environments follow the same basic model, with the difference that in a public cloud, the security controls have to be much wider and more stringent than in a private cloud. The security framework in both the public and private cloud models must also address data security and privacy protection between the provider and end users.
For public clouds, however, security usually requires a much stronger encryption algorithm than used in a private cloud as well as sufficient networking bandwidth to meet public needs. Furthermore, the administrator role at a provider is focused on managing the underpinning infrastructure of the private cloud itself.
To be able define and create such a security framework, it is important to understand the roles associated with who is using the cloud. Once we understand who is using the cloud, we can translate them into requirements around access levels, roles, responsibilities, and separation of duties. Following are examples of these requirements:
- The role of a provider’s cloud administrator is to manage the underpinning infrastructure of the cloud offering itself.
- The subscriber administrator role is filled individually by each subscriber entity on a cloud. The subscriber administrator manages resources and privileges for his or her own organization.
- The end user role applies to a specific user within a subscriber entity that requests and uses a subset of the resources.
To the provider cloud administrator, the subscriber admnistrator role is the equivalent of an end user role with elevated privileges and rights.
To understand the impact and implementations of the security framework in a cloud environment, we also need to understand the models in which cloud services may be deployed. There are three main models:
- Software as a service (SaaS): SaaS allows the consumer to use the provider’s applications running on cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure—not the network, servers, operating systems, storage, or even individual application capabilities—with the possible exception of limited user-specific application configuration settings.
- Platform as a service (PaaS): PaaS allows the consumer to deploy any software or application onto servers deployed on cloud infrastructure. These applications may be consumer-created applications or consumer-acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
- Infrastructure as a service (IaaS): The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications and possibly has limited control of select networking components (e.g., host firewalls).