Finally, automate all security maintenance tasks as much as possible. Repetitive manual tasks are error-prone and should be avoided at all costs. It may take you a bit more time to put the automation in place at first, but it will pay off from the very beginning as your AWS footprint grows. Automate the deployment of compute resources, taking an infrastructure-as-code (IaC) approach and using AWS CloudFormation or equivalent technology. Then, also automate configuration management tasks, using either built-in solutions such as AWS Systems Manager or third-party solutions if you are used to these (such as Chef, Ansible, and so on), or any combination of them.
Now that we have covered network and compute protection, we can proceed to discuss data protection aspects.
To start with, here are a few questions you should answer before you take any measures to protect your data:
This is by no means an exhaustive list of questions but is only given to illustrate a few examples of some of the questions that should guide you to clearly understand your data security and compliance requirements. Do not rush into solutions, and start looking at what your options are until you have the answers.
This is the first step in protecting your data. You need to figure out the type and classification of data your solution needs to handle. Data classification consists of categorizing the data to be processed according to its criticality and sensitivity. It is one of the key factors that will help you determine the degree of protection to apply as well as the data life cycle management.
You want to collect as much information as possible regarding the data at stake, such as the following:
Then, establish and maintain a data classification system documenting these properties for each type of data your solution must process. If needed, you can rely on tooling to automatically extract some of these properties from the data itself. For instance, Amazon Macie can analyze your data and alert you if it detects any PII data.
To ease access control management later, it is also recommended that you tag your data accordingly. You want to use any tag that can help you grant or block access to the data using attribute-based access control (ABAC)—for instance, a team’s identifier (ID) or a project’s ID. Please refer to Chapter 1, Determining an Authentication and Access Control Strategy for Complex Organizations, for more details on ABAC.
Now that you have a clearer picture of the data to be processed by your solution, it is time to look at how to protect that data.