- [Lecturer] Welcome to this lesson
on the Cloud Data Life Cycle, Data Dispersion
and Data Flows.
Since we've already been over this,
the focus of this lesson
will be to discuss different
security considerations and controls
that we're going to apply in each phase.
We'll also briefly discuss data dispersion and data flows.
As a reminder, the cloud secure data lifecycle
is made up of six steps.
These steps are create, store, use, share, archive,
and destroy,
and I absolutely recommend memorizing
the order of these steps before going into your CCSP exam.
The first step is create,
and this is where the initial generation or modification
of digital information takes place.
Some activities that we might take during this phase
are going to be data classification,
and this refers to the process
of assigning a security label to the data.
For example, some labels could be public, confidential,
secret or top secret based on both the content
and the purpose of the data.
This is also an important step to conduct input validation
so that as we're collecting the data,
we're ensuring that it meets certain criteria
to prevent malicious input.
This is primarily going to apply to web interfaces
where users are inputting data
that is eventually going to make it somewhere
into our application.
Step two of the data lifecycle is storing data,
and some key requirements are going to be setting up
that initial encryption, both in transit
and at rest for the data.
In this phase, we also may select
different storage solutions
depending on the sensitivity of the data,
which was identified during the create phase,
and subsequently send the data
to the appropriate storage solution
based on that classification.
This is also the phase where we will determine
and potentially apply the data retention policies,
which is determining how long
the data should be stored based on, once again,
the classification and the purpose of the data.
Step three is where we use the data,
and similarly, it's important during this step
that we have robust encryption
and that we're effectively identifying
and enforcing access controls for both people
and systems that might be accessing this data,
and then auditing the activities
that take place when they do access it.
Another useful thing we can do during the use phase is,
depending on exactly how and why we're using it,
you can also apply data masking,
which is a practice of displaying
only a portion of the sensitive data
and removing the fields which may be considered sensitive
if they're not actively required for the task
being accomplished.
The next step is sharing,
where we will be granting data access
to other users or entities.
The most important aspects of this phase
are going to be making sure that we're effectively
authenticating and authorizing users and systems
that are sharing the data,
as well as applying encryption in transit
for the data moving between systems,
using protocols like SFTP and HTTPS
to securely share the data.
This might also be a phase where we determine
and apply data usage agreements,
such as requiring third parties to agree to terms
about how the data is going to be used.
The next step is archiving,
and this is where we are storing data long-term
for compliance or historical purposes.
Similar to that initial store phase,
some activities that will take place here
is going to be determining what our solution is going to be
for this long-term storage.
And cold storage is a common term you might hear
for referring to data solutions
that are expressly designed for archival data.
Some other activities we can do here
are going to be conducting regular data integrity checks
to validate that nothing has changed about the data.
And then a special point I want to make
is that in situations where,
we've discussed throughout the course
how important cryptography
and specifically key management is in the cloud
and in general, and specifically when it comes
to archiving data, you should always consider
how you are going to manage the key material
that's used to encrypt your data
and ensuring that the lifecycle assigned
for the key is at least as long as the lifecycle
of the data you are archiving.
In fact, a key aspect of key management
is tracking the existence of that key material
through each of these phases of the data lifecycle.
Okay, and the last phase is going to be destroy.
This is where we are securely erasing our data
once it's no longer needed.
The goals of this phase are to ensure a permanent deletion
of the data in a way that meets security requirements,
and once again, it's very unlikely in a cloud environment
that you will gain physical access to destroy disks
where your data is written.
So, we can use mechanisms such as crypto shredding
to ensure that our data is unreadable,
even if it's still written to a disc.
Next up, let's talk about data dispersion.
This is the concept of breaking up data into smaller chunks
for diversified storage.
So, you can imagine if this puzzle right here
is a coherent set of data,
then we're breaking it up into distinct portions
and storing it on different drives.
And compared to on-premises,
this is very similar to the concept of RAID striping,
but it's tailored specifically for cloud environments.
Along with this,
there's also something called erasure coding,
and this is comparable to RAID'S parody bit,
where if there's a failure of a disc that causes us
to lose some portion of our original data,
that mathematical calculations can be applied
to the segments that are retained,
which allows us to recover the lost data.
Of course, this is not the algorithm applied,
but meant to represent the application
of complex mathematical calculations.
Some benefits of this setup are going to be enhancing
overall data availability as well as increased security
since no complete set of usable data
is available on a single device.
However, it can become a complication
for compliance considerations,
especially in countries that require sensitive data
to be retained within the country.
There's also a possibility for some potential latency
with data dispersion.
Okay, finally, we'll talk about data flows.
A data flow is a mapping of data movement
in modular application architectures.
The cloud has allowed us to build advanced systems
that are modular in design,
which offer things like faster development,
faster deployment, and independently scalable features.
However, sometimes these new modern designs
have led to reduced visibility.
In some cases, organizations can struggle
to pinpoint exact data locations,
routes, and open ports and services of systems.
So, one of the things that we can build to help regain
some of that system visibility
are going to be data flow diagrams.
And this is a very simple example,
but in a data flow diagram, the purpose is to focus on
the direction and content of data that is flowing
through our independent systems, where maybe in this case,
a set of users is accessing a front-end web application,
and then that web application is communicating via an API
to a back-end database.
In this case, a data flow diagram should focus on
which systems are communicating with other systems
and what the content is
and should be of those communications.
In summary, in this lesson we talked about the cloud data
lifecycle and some security
and controls that we might apply during each phase
of the cloud data lifecycle.
We then talked about the concept of data dispersion
as well as data flows
and the importance of building data flow diagrams
alongside our architectural diagrams.