Archived

.............................................................................................................................. vi General Data Protection Regulation Overview ................................................................... 6 Changes the GDPR Introduces to Entities Operating in the EU .................................... 6 AWS Preparation for the GDPR ...................................................................................... 6 AWS Data Processing Addendum (DPA) ........................................................................ 6 The Role of AWS Under the GDPR ................................................................................. 7 Shared Security Responsibility Model ............................................................................. 8 Strong Compliance Framework and Security Standards ................................................... 9 AWS Compliance Program .............................................................................................. 9 Cloud Computing Compliance Controls Catalog ............................................................ 9 The CISPE Code of Conduct ............................................................................................ 10 Data Access Controls ........................................................................................................ 11 AWS Identity and Access Management ........................................................................ 11 Temporary Access Tokens Through AWS STS ............................................................ 12 Multi-Factor-Authentication ............................................................................................ 13 Access to AWS Resources ............................................................................................ 14 Defining Boundaries for Regional Services Access ...................................................... 15 Control Access to Web Applications and Mobile Apps ................................................. 16 Monitoring and Logging ..................................................................................................... 16 Manage and Configure Assets with AWS Config .......................................................... 17 Compliance Auditing and Security Analytics ................................................................. 18 Collecting and Processing Logs .................................................................................... 20 Discovering and Protecting Data at Scale with Amazon Macie .................................... 21 Centralized Security Management ................................................................................ 22 Protecting your Data on AWS ........................................................................................... 24 Encrypt Data at Rest ...................................................................................................... 25 Encrypt Data in Transit................................................................................................... 26 Encryption Tools ............................................................................................................. 26 Data Protection by Design and by Default .................................................................... 31 Arc hiv ed How AWS Can Help .......................................................................................................... 31 Contributors ....................................................................................................................... 33 Document Revisions.......................................................................................................... 33


General Data Protection Regulation Overview
The General Data Protection Regulation (GDPR) is a European privacy law 1 (Regulation 2016/679 of the European Parliament and of the Council of April 27, 2016 2 ) that became enforceable on May 25, 2018. The GDPR replaces the EU Data Protection Directive (Directive 95/46/EC), and is intended to harmonize data protection laws throughout the European Union (EU) by applying a single data protection law that is binding throughout each EU member state.
The GDPR applies to all organizations established in the EU and to organizations, whether or not established in the EU, that process the personal data of EU data subjects in connection with either the offering of goods or services to data subjects in the EU or the monitoring of behavior that takes place within the EU. Personal data is any information relating to an identified or identifiable natural person.

Changes the GDPR Introduces to Entities Operating in the EU
One of the key aspects of the GDPR is that it creates consistency across EU member states on how personal data can be processed, used, and exchanged securely. Organizations must demonstrate the security of the data they are processing and their compliance with the GDPR on a continual basis, by implementing and regularly reviewing technical and organizational measures, as well as compliance policies applicable to the processing of personal data. EU supervisory authorities can issue fines of up to EUR 20 million, or 4% of annual worldwide turnover, whichever is higher, for a breach of the GDPR.

AWS Preparation for the GDPR
AWS compliance, data protection, and security experts work with customers around the world to answer their questions and help them prepare to run workloads in the cloud under the GDPR. These teams also review the readiness of AWS against the requirements of the GDPR.
We can confirm that all AWS services can be used in compliance with the GDPR.

AWS Data Processing Addendum (DPA)
AWS offers a GDPR-compliant Data Processing Addendum (GDPR DPA) that meets the requirements of the GDPR. The AWS GDPR DPA is incorporated into the AWS A r c h i v e d Service Terms, and applies automatically to all customers globally who require it to comply with the GDPR.
On 16 July 2020, the Court of Justice of the European Union (CJEU) issued a ruling regarding the EU-US Privacy Shield and Standard Contractual Clauses (SCCs), also known as "model clauses." The CJEU ruled that the EU-US Privacy Shield is no longer valid for the transfer of personal data from the European Union (EU) to the United States (US). However, in the same ruling, the CJEU validated that companies can continue to use SCCs as a mechanism for transferring data outside of the EU.
Following this ruling, AWS customers and partners can continue to use AWS to transfer their content from Europe to the US and other countries, in compliance with EU data protection lawsincluding the General Data Protection Regulation (GDPR). AWS customers can rely on the SCCs included in the AWS Data Processing Addendum (DPA) if they choose to transfer their data outside the European Union in compliance with GDPR. As the regulatory and legislative landscape evolves, we will work to ensure that our customers and partners can continue to enjoy the benefits of AWS everywhere they operate. For additional information, see the EU-US Privacy Shield FAQ.

The Role of AWS Under the GDPR
Under the GDPR, AWS acts as both a data processor and a data controller.
Under Article 32, controllers and processors are required to "…implement appropriate technical and organizational measures" that consider "the state of the art and the costs of implementation and the nature, scope, context and purposes of processing as well as the risk of varying likelihood and severity for the rights and freedoms of natural persons". The GDPR provides specific suggestions for what types of security actions may be required, including: • The pseudonymization and encryption of personal data.
• The ability to ensure the ongoing confidentiality, integrity, availability and resilience of processing systems and services.
• The ability to restore the availability and access to personal data in a timely manner, in the event of a physical or technical incident.
• A process to regularly test, assess, and evaluate the effectiveness of technical and organizational measures to ensure the security of the processing.

AWS as a Data Processor
When customers and AWS Partner Network (APN) Partners use AWS services to process personal data in their content, AWS acts as a data processor. Customers and A r c h i v e d APN Partners can use the controls available in AWS services, including security configuration controls, to process personal data. Under these circumstances, the customer or APN Partners may act as a data controller or a data processor, and AWS acts as a data processor or sub-processor. The AWS GDPR-compliant Data Processing Addendum (DPA) incorporates the commitments of AWS as a data processor.

AWS as a Data Controller
When AWS collects personal data and determines the purposes and means of processing that personal data, it acts as a data controller. For example, when AWS processes account information for account registration, administration, services access, or contact information for the AWS account to provide assistance through customer support activities, it acts as a data controller.

Shared Security Responsibility Model
Security and Compliance is a shared responsibility between AWS and the customer. When customers move their computer systems and data to the cloud, security responsibilities are shared between the customer and the cloud service provider. When customers move to the AWS Cloud, AWS is responsible for protecting the global infrastructure that runs all of the services offered in the AWS Cloud. For abstracted service, such as Amazon S3 and Amazon DynamoDB, AWS is also responsible for the security of the operating system and platform. Customers and APN Partners, acting either as data controllers or data processors, are responsible for anything they put in the cloud or connect to the cloud. This differentiation of responsibility is commonly referred to as security of the cloud versus security in the cloud. This shared model can help reduce customers' operational burden, and provide them with the necessary flexibility and control to deploy their infrastructure in the AWS Cloud. For more information, see the AWS Shared Responsibility Model.
The GDPR does not change the AWS shared responsibility model, which continues to be relevant for customers and APN Partners who are focused on using cloud computing services. The shared responsibility model is a useful approach to illustrate the different responsibilities of AWS (as a data processor or sub-processor) and customers or APN Partners (as either data controllers or data processors) under the GDPR.
A r c h i v e d

Strong Compliance Framework and Security Standards
According to the GDPR, appropriate technical and organizational measures might need to include "…the ability to ensure the ongoing confidentiality, integrity, availability and resilience of the processing systems and services," as well as reliable restore, testing, and overall risk management processes.

AWS Compliance Program
AWS continually maintains a high bar for security and compliance across all of our global operations. Security has always been our highest prioritytruly "job zero." AWS regularly undergoes independent third-party attestation audits to provide assurance that control activities are operating as intended. More specifically, AWS is audited against a variety of global and regional security frameworks dependent on region and industry. Currently, AWS participates in over 50 different audit programs.
The results of these audits are documented by the assessing body and made available for all AWS customers through AWS Artifact. AWS Artifact is a no-cost, self-service portal for on-demand access to AWS compliance reports. When new reports are released, they are made available in AWS Artifact, allowing customers to continuously monitor the security and compliance of AWS with immediate access to new reports.
Customers can take advantage of internationally recognized certifications and accreditations, demonstrating compliance with rigorous international standards, such as ISO 27017 for cloud security, ISO 27018 for cloud privacy, SOC 1, SOC 2 and SOC 3, PCI DSS Level 1 and others. AWS also helps customers meet local security standards such as BSI's Common Cloud Computing Controls Catalogue (C5), a German government-backed attestation.
For more detailed information about the AWS certification programs, reports, and thirdparty attestations, see AWS Compliance Programs. For service-specific information, see AWS Services in Scope.

Cloud Computing Compliance Controls Catalog
Cloud Computing Compliance Controls Catalog (C5) is a German government-backed attestation scheme that was introduced in Germany by the Federal Office for Information Security (BSI). It was created to help organizations demonstrate operational security against common cyberattacks within the context of the German government's Security Recommendations for Cloud Providers.

A r c h i v e d
The technical and organizational measures of data protection and the measures for information security target data security to ensure confidentiality, integrity and availability. C5 defines security requirements that can be also relevant for data protection. AWS customers and their compliance advisors can use the C5 attestation as a resource to understand the range of IT-Security assurance services that AWS offers them as they move their workloads to the cloud. C5 adds the regulatory-defined IT-Security level equivalent to the IT-Grundschutz, with the addition of cloud-specific controls.
C5 adds more controls that provide information pertaining to data location, service provisioning, place of jurisdiction, existing certification, information disclosure obligations, and a full-service description. Using this information, you can evaluate how legal regulations (such as data privacy), your own policies, or the threat environment relate to your use of cloud computing services.

The CISPE Code of Conduct
The GDPR contemplates the approval of codes of conduct to help controllers and processors demonstrate compliance under the regulation. One such code that is awaiting official approval from EU data protection authorities is the CISPE Code of Conduct for Cloud Infrastructure Service Providers (the Code). 3 The CISPE Code of Conduct helps cloud customers ensure that their cloud infrastructure provider is using appropriate data protection standards to protect their data consistent with the GDPR. The following are a few key benefits of the Code: • Clarifies who is responsible for which aspects of data protection -The Code explains the role of both the cloud provider and the customer under the GDPR, specifically within the context of cloud infrastructure services.
• Defines the principles providers must follow -The Code develops key principles in the GDPR about clear actions and commitments that providers should undertake to demonstrate their compliance with GDPR and help customers comply. Customers can use these concrete benefits in their own compliance and data protection strategies.
• Gives customers the privacy and security information necessary to help them achieve their compliance goals -The Code requires providers to be transparent about the steps they are taking to deliver on their privacy and security commitments. A few of these steps include the implementation of privacy and security safeguards, notification of data breaches, data deletion, and transparency of third-party sub-processing. All of these commitments are verified by third party, independent monitoring bodies. Customers can use this information to fully understand the high levels of security provided.

A r c h i v e d
For more information, see CISPE Public Register, which provides AWS customers with additional assurances that they control their data in a safe, secure, and compliant environment when they use AWS. AWS compliance with the Code adds to the list of internationally recognized certifications and accreditations that AWS has achieved. This includes ISO 27001, ISO 27018, ISO 9001, SOC 1, SOC 2, SOC 3, PCI DSS Level 1, among others.

Data Access Controls
Article 25 of the GDPR states that the controller "…shall implement appropriate technical and organizational measures for ensuring that, by default, only personal data which are necessary for each specific purpose of the processing are processed." The following AWS access control mechanisms can help customers comply with this requirement by allowing only authorized administrators, users, and applications to get access to AWS resources and customer data.

AWS Identity and Access Management
When you create an AWS account, a root user account is automatically created for your AWS account. This user account has complete access to all your AWS services and resources in your AWS account. Instead of using this account for everyday tasks, you should only use it to initially create additional roles and user accounts, and for administrative activities that require it. AWS recommends that you apply the principle of least privilege from the start: define different user accounts and roles for different tasks, and specify the minimum set of permissions required to complete each task. This approach is a mechanism for tuning a key concept introduced in GDPR: data protection by design. AWS Identity and Access Management (IAM) is a web service that you can use to securely control access to your AWS resources.
Users and roles define IAM identities with specific permissions. An authorized user can assume an IAM role to perform specific tasks. Temporary credentials are created when the role is assumed. For example, you can use IAM roles to securely provide applications that run in Amazon Elastic Compute Cloud (Amazon EC2) with temporary credentials required to access other AWS resources, such as Amazon S3 buckets, and Amazon Relational Database Service (Amazon RDS) or Amazon DynamoDB databases. Similarly, execution roles provide AWS Lambda functions with the required permissions to access other AWS Services and resources, such as Amazon CloudWatch Logs for log streaming or reading a message from an Amazon Simple Queue Service (Amazon SQS) queue. When you create a role, you add policies to it to define authorizations.
To help customers monitor resources policies and identify resources with public or cross-account access they may not intend, IAM Access Analyzer can be enabled to generate comprehensive findings that identify resources that can be accessed from A r c h i v e d outside an AWS account. IAM Access Analyzer evaluates resource policies using mathematical logic and inference to determine the possible access paths allowed by the policies. IAM Access Analyzer continuously monitors for new or updated policies, and it analyzes permissions granted using policies for IAM roles--but also for services resources like Amazon S3 buckets, AWS Key Management Service (AWS KMS) keys, Amazon SQS queues, and Lambda functions.
Access Analyzer for S3 alerts you when S3 buckets are configured to allow access to anyone on the internet or other AWS accounts, including AWS accounts outside of your organization. When reviewing an at-risk bucket in Access Analyzer for S3, you can block all public access to the bucket with a single click. AWS recommends that you block all access to your buckets unless you require public access to support a specific use case. Before you block all public access, ensure that your applications will continue to work correctly without public access. For more information, see Using Amazon S3 Block Public Access.
IAM also provides last accessed information to help you identify unused permissions so that you can remove them from the associated principals. Using last accessed information, it is possible to refine your policies and allow access to only those services and actions that are needed. This helps to better adhere to and apply the best practice of least privilege. You can view last accessed information for entities or policies that exist in IAM, or across an entire AWS Organizations environment.

Temporary Access Tokens Through AWS STS
You can use the AWS Security Token Service (AWS STS) to create and provide trusted users with temporary security credentials that grant access to your AWS resources. Temporary security credentials work almost identically to the long-term access key credentials that you provide for your IAM users, with the following differences: • Temporary security credentials are for short-term use. You can configure the amount of time that they are valid, from 15 minutes up to a maximum of 12 hours. After temporary credentials expire, AWS does not recognize them or allow any kind of access from API requests made with them.
• Temporary security credentials are not stored with the user account. Instead, they are generated dynamically and provided to the user when requested. When (or before) temporary security credentials expire, a user can request new credentials, if that user has permissions to do so.
These differences provide the following advantages when you use temporary credentials: • You do not have to distribute or embed long-term AWS security credentials with an application.

A r c h i v e d
• Temporary credentials are the basis for roles and identity federation. You can provide access to your AWS resources to users by defining a temporary AWS identity for them.
• Temporary security credentials have a limited customizable lifespan. Because of this, you do not have to rotate them or explicitly revoke them when they're no longer needed. After temporary security credentials expire, they cannot be reused. You can specify the maximum amount of time the credentials are valid.

Multi-Factor-Authentication
For extra security, you can add two-factor authentication to your AWS account and to IAM users. With multi-factor authentication (MFA) enabled, when you sign into the AWS Management Console, you are prompted for your user name and password (the first factor), as well as an authentication response from your AWS MFA device (the second factor). You can enable MFA for your AWS account and for individual IAM users you have created in your account. You can also use MFA to control access to AWS service APIs.
For example, you can define a policy that allows full access to all AWS API operations in EC2, but explicitly deny access to specific API operations-such as StopInstances and TerminateInstances-if the user is not authenticated with MFA.
To use MFA Delete, you can use either a hardware or virtual MFA device to generate an authentication code. See the Multi-factor Authentication page for a list of supported hardware or virtual MFA devices

Access to AWS Resources
To implement granular access to your AWS resources, you can grant different levels of permissions to different people for different resources. For example, you can allow only some users complete access to EC2, S3, DynamoDB, Amazon Redshift, and other AWS services.
For other users, you can allow read-only access to only some Amazon S3 buckets; permission to administer only some EC2 instances; or, access to only your billing information.
The following policy is an example of one method you can use to allow all actions on a specific Amazon S3 bucket and explicitly deny access to every AWS service that is not Amazon S3.

Defining Boundaries for Regional Services Access
As a customer, you maintain ownership of your content, and you select which AWS services can process, store, and host your content. AWS does not access or use your content for any purpose without your consent. Based on the Shared Responsibility Model, you choose the AWS Regions in which your content is stored, allowing you to deploy AWS services in the locations of your choice, in accordance with your specific geographic requirements. For example, if you want to ensure your content is located only in Europe, you can choose to deploy AWS services exclusively in one of the European AWS Regions.
IAM policies provide a simple mechanism to limit access to services in specific Regions. You can add a global condition (aws:RequestedRegion) to the IAM policies attached to your IAM Principals to enforce this for all AWS services. For example, the following policy uses the NotAction element with the Deny effect, which explicitly denies access to all of the actions not listed in the statement if the requested Region is not European. Actions in the CloudFront, IAM, Amazon Route 53, and AWS Support services should not be denied because these are popular AWS global services. This sample IAM policy can also be implemented as a Service Control Policy (SCP) in AWS Organizations, which defines the permission boundaries applied to specific AWS accounts or Organizational Units (OUs) within an organization. This enables you to control user access to regional services in complex multi-account environments.

Control Access to Web Applications and Mobile Apps
AWS provides services for managing data access control within customer applications. If you need to add user login and access control features to your web applications and mobile apps, you can use Amazon Cognito. Amazon Cognito user pools provide a secure user directory that scales to hundreds of millions of users. To protect the identity of the users, you can add multi-factor authentication (MFA) to your user pools. You can also use adaptive authentication, which uses a risk-based model to predict when you might need another authentication factor.
With Amazon Cognito Identity Pools (Federated Identities), you can see who accessed your resources and where the access originated (mobile app or web application). You can use this information to create IAM roles and policies that allow or deny access to a resource based on the type of access origin (mobile app or web application) and Identity Provider.

Monitoring and Logging
Article 30 of the GDPR states that "…each controller and, where applicable, the controller's representative, shall maintain a record of processing activities under its responsibility." This article also includes details about which information must be recorded when you monitor the processing of all personal data. Controllers and A r c h i v e d processors are also required to send breach notifications in a timely manner, so detecting incidents quickly is important. To help enable customers to comply with these obligations, AWS offers the following monitoring and logging services.

Manage and Configure Assets with AWS Config
AWS Config provides a detailed view of the configuration of many types of AWS resources in your AWS account. This includes how the resources are related to one another, and how they were previously configured, so you can see how the configurations and relationships change over time. An AWS resource is an entity that you can work with in AWS, such as an EC2 instance, an Amazon Elastic Block Store (Amazon EBS) volume, a security group, or an Amazon Virtual Private Cloud (Amazon VPC). For a complete list of AWS resources supported by AWS Config, see Supported AWS Resource Types.
With AWS Config, you can do the following: • Evaluate your AWS resource configurations to verify the settings are correct.
• Get a snapshot of the current configurations of the supported resources associated with your AWS account.
• Get configurations of one or more resources that exist in your account.
• Get historical configurations of one or more resources.
• Get a notification when a resource is created, modified, or deleted.
• See relationships between resources. For example, find all resources that use a particular security group.
A r c h i v e d

Compliance Auditing and Security Analytics
With AWS CloudTrail, you can continuously monitor AWS account activity. A history of the AWS API calls for your account is captured, including API calls made through the AWS Management Console, the AWS SDKs, the command line tools, and higher-level AWS services. You can identify which users and accounts called AWS APIs for services that support CloudTrail, the source IP address the calls were made from, and when the calls occurred. You can integrate CloudTrail into applications using the API, automate trail creation for your organization, check the status of your trails, and control how administrators enable and disable CloudTrail logging.
CloudTrail logs can be aggregated from multiple Regions and multiple AWS accounts into a single S3 bucket. AWS recommends that you write logs--especially AWS CloudTrail logs--to an S3 bucket with restricted access in an AWS account designated for logging (Log Archive). The permissions on the bucket should prevent deletion of the logs, and they should also be encrypted at rest using Server-Side Encryption with Amazon S3-managed encryption keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS A r c h i v e d AWS CloudTrail logs can also trigger preconfigured Amazon CloudWatch events. You can use these events to notify users or systems that an event has occurred, or for remediation actions. For example, if you want to monitor activities on your EC2 instances, you can create a CloudWatch Event rule. When a specific activity happens on the Amazon EC2 instance and the event is captured in the logs, the rule triggers a Lambda function which sends a notification email about the event to the administrator. (See Figure 3.) The email includes details such as when the event happened, which user performed the action, EC2 details, and more. The following diagram shows the architecture of the event notification.

Figure 3 -Example of AWS CloudTrail event notification
A r c h i v e d

Collecting and Processing Logs
CloudWatch Logs can be used to monitor, store, and access your log files from EC2 instances, AWS CloudTrail, Route 53, and other sources. See the AWS Services That Publish Logs to CloudWatch Logs documentation page.
Logs information includes, for example: • Granular logging of access to S3 objects • Detailed information about flows in the network through VPC-Flow Logs • Rule-based configuration verification and actions with AWS Config rules • Filtering and monitoring of HTTP access to applications with web application firewall (WAF) functions in CloudFront Custom application metrics and logs can also be published to CloudWatch Logs by installing the CloudWatch Agent on EC2 instances or on-premises servers.
Logs can be analyzed interactively using CloudWatch Logs Insights, performing queries to help you respond more efficiently and effectively to operational issues.
CloudWatch Logs can be processed in near real-time by configuring subscription filters and delivered to other services such as an Amazon Elasticsearch Service (Amazon ES) cluster, an Amazon Kinesis stream, an Amazon Kinesis Data Firehose stream, or Lambda for custom processing, analysis, or loading to other systems.
CloudWatch metric filters can be used to define patterns to look for in log data, transform them into numerical CloudWatch metrics, and set up alarms based on your business requirements. For example, following the AWS recommendation not to use the root user for everyday tasks, it is possible to set up a specific CloudWatch metric filter on a CloudTrail log (delivered to CloudWatch Logs) to create a Custom metric and configure an alarm to notify the relevant stakeholders when root credentials are used to access your AWS account.
Logs such as S3 server access logs, Elastic Load Balancing access logs, VPC flow logs, and AWS Global Accelerator flow logs can be delivered directly to an S3 bucket. For example, when you enable Amazon S3 server access logs, you can get detailed information regarding the requests that are made to your S3 bucket. An access log record contains details about the request, such as the request type, the resources specified in the request, and the time and date the request was processed. For more information about the contents of a log message, see Amazon S3 Server Access Log Format in the Amazon Simple Storage Service Developer Guide. Server access logs are useful for many applications because they give bucket owners insight into the nature of requests made by clients that are not under their control. By default, S3 does not collect service access logs, but when you enable logging, S3 usually delivers A r c h i v e d access logs to your bucket within a few hours. If you require a faster delivery or need to deliver logs to multiple destinations, consider using CloudTrail logs or a combination of both CloudTrail logs and S3. Logs can be encrypted at rest by configuring default object encryption in the destination bucket. The objects are encrypted using server-side encryption with either S3-managed keys (SSE-S3) or customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS).
Logs stored in an S3 bucket can be queried and analyzed using Amazon Athena. Amazon Athena is an interactive query service that enables you to analyze data in S3 using standard SQL. You can use Athena to run ad-hoc queries using ANSI SQL, without the need to aggregate or load the data into Athena. Athena can process unstructured, semi-structured, and structured data sets and integrates with Amazon QuickSight for easy visualization.
Logs are also a useful source of information for automated threat detection. Amazon GuardDuty is a continuous security monitoring service that analyzes and processes events from several sources, such as VPC Flow Logs, CloudTrail management event logs, CloudTrail S3 data event logs, and DNS logs. It uses threat intelligence feeds, such as lists of malicious IP addresses and domains, and machine learning to identify unexpected and potentially unauthorized and malicious activity within your AWS environment. When you enable GuardDuty in a Region, it immediately starts analyzing your CloudTrail event logs. It consumes CloudTrail management and S3 data events directly from CloudTrail through an independent and duplicative stream of events.

Discovering and Protecting Data at Scale with Amazon Macie
Article 32 of the GDPR states that "…the controller and the processor shall implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk, including inter alia as appropriate: […] (b) the ability to ensure the ongoing confidentiality, integrity, availability and resilience of processing systems and services; […] (d) a process for regularly testing, assessing and evaluating the effectiveness of technical and organisational measures for ensuring the security of the processing." Having an ongoing data classification process is critical for adjusting security data processing to the nature of data. If your organization manages sensitive data, monitor where it resides, protect it properly, and provide evidence that you are enforcing data security and privacy as required to meet regulatory compliance requirements. To help the customer identify and protect their sensitive data at scale, AWS offers Amazon Macie, a fully managed data security and data privacy service that uses pattern A r c h i v e d matching and machine learning models for detection of Personally Identifiable Information (PII) to discover and protect sensitive data stored in S3 buckets. Amazon Macie scans these buckets and provides a data categorization of them using managed data identifiers that are designed to detect several categories of sensitive data. Macie can detect PII such as full name, email address, birth date, national identification number, taxpayer identification or reference number, and more. 5 The customer can define custom data identifiers that reflect their organization's particular scenarios (for example, customer account numbers or internal data classification).
Amazon Macie continually evaluates the object inside the buckets and automatically provides a summary of findings ( Figure 4) for any unencrypted or publicly accessible data discovered that match with the defined data category. This data can include alerts for any unencrypted, publicly accessible objects or buckets shared with AWS accounts outside those you have defined in AWS Organizations. Amazon Macie is integrated with other AWS services, such as AWS Security Hub, to generate actionable security findings and provide an automatic and reactive action to the finding ( Figure 5).

Centralized Security Management
Many organizations have challenges related to visibility and centralized management of their environments. As your operational footprint grows, this challenge can be compounded unless you carefully consider your security designs. Lack of knowledge, combined with decentralized and uneven management of governance and security processes, can make your environment vulnerable.
A r c h i v e d AWS provides tools that help you to address some of the most challenging requirements for IT management and governance, and tools for supporting a data protection by design approach.
AWS Control Tower provides a method to set up and govern a new, secure, multiaccount AWS environment. It automates the setup of a landing zone, 6 which is a multiaccount environment that is based on best-practices blueprints, and enables governance using guardrails that you can choose from a pre-packaged list. Guardrails implement governance rules for security, compliance, and operations. AWS Control Tower provides identity management using AWS Single Sign-On (SSO) default directory and enables cross-account audit using AWS SSO and AWS IAM. It also centralizes logs coming from CloudTrail and AWS Config logs, which are stored in S3.

AWS Security
Hub is another service that supports centralization and can improve visibility into an organization. Security Hub centralizes and prioritizes security and compliance findings from across AWS accounts and services, such as Amazon GuardDuty and Amazon Inspector, and can be integrated with security software from third-party partners to help you analyze security trends and identify the highest priority security issues.
Amazon GuardDuty is an intelligent threat detection service that can help customers more accurately and easily monitor and protect their AWS accounts, workloads, and data stored in S3. GuardDuty analyzes billions of events across your AWS accounts from several sources, including AWS CloudTrail Management Events, AWS CloudTrail S3 Data Events, Amazon VPC Flow Logs, and DNS logs. For example, it detects unusual API calls, suspicious outbound communications to known malicious IP addresses, or possible data theft using DNS queries as the transport mechanism. GuardDuty is able to provide more accurate findings by leveraging machine learningpowered threat intelligence and third-party security partners.
Amazon Inspector is an automated security assessment service that helps improve the security and compliance of applications deployed on EC2 instances. Amazon Inspector automatically assesses applications for exposure, vulnerabilities, and deviations from best practices. After performing an assessment, Amazon Inspector produces a detailed list of security findings prioritized by level of severity.
Amazon CloudWatch Events enables you to set up your AWS account to send events to other AWS accounts, or to become a receiver for events from other accounts or organizations. This mechanism can be very useful for implementing cross-account incident response scenarios, by taking timely corrective actions (for example, by calling a Lambda function, or running a command on EC2 instance) as necessary any time a security incident event occurs.

Figure 5 -Taking action with AWS Security Hub and Amazon CloudWatch Events
AWS Organizations helps you centrally manage and govern complex environments. It enables you to control access, compliance, and security in a multi-account environment. AWS Organizations supports Service Control Policies (SCPs), which define the AWS service actions available to use with specific accounts or Organizational Units (OUs) within an organization.
AWS Systems Manager provides you visibility and control of your infrastructure on AWS. You can view operational data from multiple AWS services from a unified console and automate operational tasks across them. You can have information about recent API activities, resource configuration changes, operational alerts, software inventory, and patch compliance status. Using the integration with other AWS services, you can also take action on resources depending on your operational needs, to help make your environment in a compliance status.
For example, by integrating Amazon Inspector with AWS Systems Manager, security assessments are simplified and automated, because you can install Amazon Inspector agent automatically using Amazon EC2 Systems Manager when an EC2 instance is launched. You can also perform automatic remediations for Amazon Inspector findings by using EC2 System Manager and Lambda functions.

Protecting your Data on AWS
Article 32 of the GDPR requires that organizations must "…implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk, including …the pseudonymisation and encryption of personal data[...]" In addition, A r c h i v e d organizations must safeguard against the unauthorized disclosure of or access to personal data.
Encryption reduces the risks associated with the storage of personal data because data is unreadable without the correct key. A thorough encryption strategy can help mitigate the impact of various security events, including some security breaches.

Encrypt Data at Rest
Encrypting data at rest is vital for regulatory compliance and data protection. It helps to ensure that sensitive data saved on disks is not readable by any user or application without a valid key. AWS provides multiple options for encryption at rest and encryption key management. For example, you can use the AWS Encryption SDK with a CMK created and managed in AWS KMS to encrypt arbitrary data.
Encrypted data can be securely stored at rest and can be decrypted only by a party with authorized access to the CMK. As a result, you get confidential envelope-encrypted data, policy mechanisms for authorization and authenticated encryption, and audit logging through AWS CloudTrail. Some of the AWS foundation services have built-in encryption at rest features, providing the option to encrypt data before it is written to non-volatile storage. For example, you can encrypt Amazon EBS volumes and configure S3 buckets for Server-Side Encryption (SSE) using AES-256 encryption. S3 also supports client-side encryption, which allows you to encrypt data before sending it to S3. AWS SDKs support client-side encryption to facilitate encryption and decryption operations of objects. Amazon RDS also supports Transparent Data Encryption (TDE).
It is possible to encrypt data on Linux EC2 instance stores by using built-in Linux libraries. This method encrypts files transparently, which protects confidential data. As a result, applications that process the data are unaware of the disk-level encryption.
You can use two methods to encrypt files on instance stores: • Disk-level encryption -With this method, the entire disk, or a block within the disk, is encrypted using one or more encryption keys. Disk encryption operates below the file system level, is operating-system agnostic, and hides directory and file information, such as name and size. Encrypting File System, for example, is a Microsoft extension to the Windows NT operating system's New Technology File System (NTFS) that provides disk encryption.
• File system-level encryption -With this method, files and directories are encrypted, but not the entire disk or partition. File-system-level encryption operates on top of the file system and is portable across operating systems.
For Non-Volatile Memory express (NVMe) SSD instance store volumes, disk-level encryption is the default option. Data in an NVMe instance storage is encrypted using an XTS-AES-256 block cipher implemented in a hardware module on the instance. The A r c h i v e d encryption keys are generated using the hardware module and are unique to each NVMe instance storage device. All encryption keys are destroyed when the instance is stopped or terminated and cannot be recovered. You cannot use your own encryption keys.

Encrypt Data in Transit
AWS strongly recommends encrypting data in transit from one system to another, including resources within and outside of AWS.
When you create an AWS account, a logically isolated section of the AWS Cloud-the Amazon Virtual Private Cloud (Amazon VPC)-is provisioned to it. There, you can launch AWS resources in a virtual network that you define. You have complete control over your virtual networking environment, including selecting your own IP address range, creation of subnets, and configuration of route tables and network gateways. You can also create a hardware Virtual Private Network (VPN) connection between your corporate datacenter and your Amazon VPC, so you can use the AWS Cloud as an extension of your corporate datacenter.
For protecting communication between your Amazon VPC and your corporate datacenter, you can select from several VPN connectivity options, and choose one that best matches your needs. You can use the AWS Client VPN to enable secure access to your AWS resources using client-based VPN services. You can also use a third-party software VPN appliance available in the AWS Marketplace, which you can install on an EC2 instance in your Amazon VPC. Alternatively, you can create an IPsec VPN connection to protect the communication between your VPC and your remote network.
To create a dedicated private connection from a remote network to your Amazon VPC, you can use AWS Direct Connect. You can combine this connection with an AWS Siteto-Site VPN to create an IPsec-encrypted private connection.
AWS provides HTTPS endpoints using the TLS protocol for communication, which provides encryption in transit when you use AWS APIs. You can use the AWS Certificate Manager (ACM) service to generate, manage, and deploy the private and public certificates you use to establish encrypted transport between systems for your workloads. Amazon Elastic Load Balancing is integrated with ACM and is used to support HTTPS protocols. If your content is distributed through Amazon CloudFront, it supports encrypted endpoints.

Encryption Tools
AWS offers various highly scalable data encryption services, tools, and mechanisms to help protect your data stored and processed on AWS. For information about AWS Service functionality and privacy, see AWS Service Capabilities for Privacy Considerations. 7

A r c h i v e d
Cryptographic services from AWS use a wide range of encryption and storage technologies that are designed to maintain integrity and confidentiality of your data at rest or in transit. AWS offers four primary services and tools for cryptographic operations: • AWS Key Management Service (AWS KMS) is an AWS managed service that generates and manages both master keys and data keys. AWS KMS is integrated with many AWS services to provide server-side encryption of data using KMS keys from customer accounts. KMS Hardware Security Modules (HSMs) are FIPS 140-2 Level 2 validated.
• AWS CloudHSM provides HSMs that are FIPS 140-2 Level 3 validated. They securely store a variety of your self-managed cryptographic keys, including master keys and data keys.

• AWS Cryptographic Services and Tools
o AWS Encryption SDK provides a client-side encryption library for implementing encryption and decryption operations on all types of data.
o Amazon DynamoDB Encryption Client provides a client-side encryption library for encrypting data tables before sending them to a database service, such as Amazon DynamoDB.

AWS Key Management Service
AWS Key Management Service (AWS KMS) is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data, and uses Hardware Security Modules (HSMs) to protect the security of your keys. AWS KMS is integrated with several other AWS services to help you protect the data you store with these services. AWS KMS is also integrated with AWS CloudTrail to provide you with logs of all your key usage for your regulatory and compliance needs.
You can easily create, import, and rotate master keys, as well as define usage policies and audit usage from the AWS Management Console or by using the AWS SDK or AWS CLI.
The CMKs in AWS KMS, whether imported by you or created on your behalf by AWS KMS, are stored in highly durable storage in an encrypted format to help ensure that they can be used when needed. You can choose to have AWS KMS automatically rotate CMKs created in AWS KMS once per year without having to re-encrypt data that has already been encrypted with your master key. You don't need to keep track of older versions of your CMKs because AWS KMS keeps them available to automatically decrypt previously encrypted data.
For any CMK in KMS, you can control who has access to those keys and which services they can be used with through a number of access controls, including grants,

A r c h i v e d
and key policy conditions within key policies or IAM policies. You can also import keys from your own key management infrastructure and use them in KMS.
For example, the following policy uses the kms:ViaService condition to allow a customer-managed CMK to be used for the specified actions only when the request comes from EC2 or RDS in a specific Region (us-west-2) on behalf of a specific user (ExampleUser).

AWS Service Integration
AWS KMS has integrated with a number of AWS servicesrefer to the KMS website for a full list of integrated services. These integrations allow you to easily use AWS KMS CMKs to encrypt the data you store with these services. In addition to using a customer A r c h i v e d managed CMK, a number of the integrated services allow you to use an AWS-managed CMK that is created and managed for you automatically, but is only usable within the specific service that created it.

Audit Capabilities
AWS CloudTrail records each use of a key that you store in KMS in a log file that is delivered to the S3 bucket that you specified in your configuration of CloudTrail. The information recorded includes details of the user, time, date, operation performed, and the key used.

Security
AWS KMS is designed to make sure that no one has access to your master keys. The service is built on systems that are designed to protect your master keys with extensive hardening techniques, such as never storing plaintext master keys on disk, not persisting them in memory, and limiting which systems can access hosts that use keys. All access to update software on the service is controlled by a multi-party access control that is audited and reviewed by an independent group within AWS.
For more information about AWS KMS, see the AWS Key Management Service whitepaper.

AWS CloudHSM
The AWS CloudHSM is a cloud-based hardware security module (HSM) that helps you meet corporate, contractual, and regulatory compliance requirements for data security by enabling you to generate and use your encryption keys on a FIPS 140-2 Level 3 validated hardware.
With CloudHSM, you control the encryption keys and cryptographic operations performed by HSM.
AWS and AWS Marketplace partners offer a variety of solutions for protecting sensitive data within the AWS platform, but for applications and data subject to rigorous contractual or regulatory requirements for managing cryptographic keys, additional protection is sometimes necessary. Previously, the only option to store sensitive data (or the encryption keys protecting the sensitive data) may have been in on-premises datacenters. This might have prevented you from migrating these applications to the cloud or significantly slowed their performance. With AWS CloudHSM, you can protect your encryption keys within HSMs designed and validated to government standards for secure key management. You can securely generate, store, and manage the cryptographic keys used for data encryption to make sure that only you can get access to them. AWS CloudHSM helps you comply with strict key management requirements without sacrificing application performance.

A r c h i v e d
The AWS CloudHSM service works with Amazon VPC. CloudHSM instances are provisioned inside your Amazon VPC with an IP address that you specify, which provides simple and private network connectivity to your EC2 instances. When you locate your CloudHSM instances near your EC2 instances, you decrease network latency, which can improve application performance. AWS provides dedicated and exclusive (single tenant) access to CloudHSM instances, which are isolated from other AWS customers. Available in multiple Regions and Availability Zones, CloudHSM enables you to add secure and durable key storage to your applications.

Integration with AWS Services and Third-Party Applications
You can use CloudHSM with Amazon Redshift, Amazon RDS for Oracle, or third-party applications (such as SafeNet Virtual KeySecure) as your Root of Trust, Apache (SSL termination), or Microsoft SQL Server (Transparent Data Encryption). You can also use CloudHSM when you write your own applications and continue to use the standard cryptographic libraries, including PKCS#11, Java JCA/JCE, and Microsoft CAPI and CNG.

Audit Activities
If you need to track resource changes, or audit activities for security and compliance purposes, you can review the management API calls over the CloudHSM made from your account using AWS CloudTrail. Additionally, you can audit operations on the HSM appliance using syslog or send syslog log messages to your own log collector.

AWS Cryptographic Services and Tools
AWS offers mechanisms that comply with a wide range of cryptographic security standards that you can use to implement best-practice encryption. The AWS Encryption SDK 8 is a client-side encryption library, available in Java, Python, C, JavaScript, and a command line interface that supports Linux, macOS, and Windows. It offers advanced data protection features including secure, authenticated, symmetric key algorithm suites, such as 256-bit AES-GCM with key derivation and signing. Because it was specifically designed for applications that use DynamoDB, the DynamoDB Encryption Client 9 enables users to protect their table data before it is sent to the database. It also verifies and decrypts data when it is retrieved. The client is available in Java and Python.

Linux DM-Crypt Infrastructure
Dm-crypt is a Linux kernel-level encryption mechanism that allows users to mount an encrypted file system. Mounting a file system is the process in which a file system is attached to a directory (mount point), which makes it available to the operating system. After mounting, all files in the file system are available to applications without any additional interaction. These files are, however, encrypted when stored on disk.

A r c h i v e d
Device mapper is an infrastructure in the Linux 2.6 and 3.x kernel that provides a generic method to create virtual layers of block devices. The device mapper crypt target provides transparent encryption of block devices using the kernel crypto API. The solution in this post uses dm-crypt in conjunction with a disk-backed file system mapped to a logical volume by the Logical Volume Manager (LVM). LVM provides logical volume management for the Linux kernel.

Data Protection by Design and by Default
Any time a user or an application tries to use the AWS Management Console, the AWS API, or the AWS CLI, a request is sent to AWS. The AWS service receives the request and executes several steps to determine whether to allow or deny the request, according to a specific policy evaluation logic. Except for root credential requests, all requests on AWS are denied by default (the default deny policy is applied). This means that everything that is not explicitly allowed by the policy is denied. In the definition of policies and as a best practice, AWS suggests that you apply the least privilege principle, which means that every component (such as users, modules, or services) must be able to access only the resources required to complete its tasks.
This approach aligns with Article 25 of the GDPR, which states that "the controller shall implement appropriate technical and organizational measures for ensuring that, by default, only personal data which are necessary for each specific purpose of the processing are processed." AWS also provides tools to implement Infrastructure as Code, which is a powerful mechanism for including security from the beginning of the design of an architecture. AWS CloudFormation provides a common language to describe and provision all infrastructure resources, including security policies and processes. With these tools and practices, security becomes part of your code and can be versioned, monitored, and modified (with a versioning system) according to the requirements of your organization. This enables data protection by design, because security processes and policies can be included in the definition of your architecture, and can also be continuously monitored by security measures in your organization. Notes