Navigating GDPR Compliance On AWS
Navigating GDPR Compliance On AWS
Compliance on AWS
AWS Whitepaper
Navigating GDPR Compliance on AWS AWS Whitepaper
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
Navigating GDPR Compliance on AWS AWS Whitepaper
Table of Contents
Abstract ............................................................................................................................................ 1
Abstract .................................................................................................................................... 1
General Data Protection Regulation Overview ........................................................................................ 2
Changes the GDPR Introduces to Organizations Operating in the EU ................................................. 2
AWS Preparation for the GDPR .................................................................................................... 2
AWS Data Processing Addendum (DPA) ......................................................................................... 2
The Role of AWS Under the GDPR ............................................................................................... 3
AWS as a Data Processor .................................................................................................... 3
AWS as a Data Controller .................................................................................................... 3
Shared Security Responsibility Model ............................................................................................ 3
Strong Compliance Framework and Security Standards ........................................................................... 5
AWS Compliance Program ........................................................................................................... 5
Cloud Computing Compliance Controls Catalog ............................................................................. 5
The CISPE Code of Conduct ................................................................................................................ 6
Data Access Controls .......................................................................................................................... 7
AWS Identity and Access Management .......................................................................................... 7
Temporary Access Tokens Through AWS STS ................................................................................. 8
Multi-Factor-Authentication ......................................................................................................... 8
Access to AWS Resources ............................................................................................................ 9
Defining Boundaries for Regional Services Access ........................................................................... 9
Control Access to Web Applications and Mobile Apps .................................................................... 10
Monitoring and Logging .................................................................................................................... 12
Manage and Configure Assets with AWS Config ............................................................................ 12
Compliance Auditing and Security Analytics ................................................................................. 13
Collecting and Processing Logs .................................................................................................. 14
Discovering and Protecting Data at Scale .................................................................................... 15
Centralized Security Management .............................................................................................. 16
Protecting your Data on AWS ............................................................................................................ 18
Encrypt Data at Rest ................................................................................................................ 18
Encrypt Data in Transit ............................................................................................................. 19
Encryption Tools ...................................................................................................................... 19
AWS Key Management Service ........................................................................................... 19
AWS Cryptographic Services and Tools ................................................................................ 22
Data Protection by Design and by Default ................................................................................... 22
How AWS Can Help .......................................................................................................................... 23
Contributors .................................................................................................................................... 25
Document Revisions .......................................................................................................................... 26
Notices ............................................................................................................................................ 27
iii
Navigating GDPR Compliance on AWS AWS Whitepaper
Abstract
Abstract
This document provides information about services and resources that Amazon Web Services (AWS)
offers customers to help them align with the requirements of the General Data Protection Regulation
(GDPR) that might apply to their activities. These include adherence to IT security standards, the AWS
Cloud Computing Compliance Controls Catalog (C5) attestation, adherence to the Cloud Infrastructure
Services Providers in Europe (CISPE) Code of Conduct, data access controls, monitoring and logging
tools, encryption, and key management.
1
Navigating GDPR Compliance on AWS AWS Whitepaper
Changes the GDPR Introduces to
Organizations Operating in the EU
The GDPR applies to all processing of personal data either by organizations that have an establishment
in the EU, or to organizations that process personal data of EU residents when offering goods or services
to individuals in the EU or monitoring the behavior of EU residents in the EU. Personal data is any
information relating to an identified or identifiable natural person.
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.
2
Navigating GDPR Compliance on AWS AWS Whitepaper
The Role of AWS Under the GDPR
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 laws – including 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.
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:
3
Navigating GDPR Compliance on AWS AWS Whitepaper
Shared Security Responsibility Model
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.
4
Navigating GDPR Compliance on AWS AWS Whitepaper
AWS Compliance Program
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.
For more detailed information about the AWS certification programs, reports, and third-party
attestations, see AWS Compliance Programs. For service-specific information, see AWS Services in Scope.
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.
5
Navigating GDPR Compliance on AWS AWS Whitepaper
• 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.
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.
6
Navigating GDPR Compliance on AWS AWS Whitepaper
AWS Identity and Access Management
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 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 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 Amazon 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 to 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.
7
Navigating GDPR Compliance on AWS AWS Whitepaper
Temporary Access Tokens Through AWS STS
• 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.
• 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 Amazon
EC2, but explicitly denies access to specific API operations—such as StopInstances and
TerminateInstances—if the user is not authenticated with MFA.
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “AllowAllActionsForEC2”,
“Effect”: “Allow”,
“Action”: “ec2:*”,
“Resource”: “*”
},
{
“Sid”: “DenyStopAndTerminateWhenMFAIsNotPResent”,
“Effect”: “Deny”,
“Action”: [
“ec2:StopInstances”,
“ec2:TerminateInstances”
],
“Resource”: “*”,
“Conditions”: {
“BoolIfExists”: {“aws:MultiFactorAuthPresent”:false}
8
Navigating GDPR Compliance on AWS AWS Whitepaper
Access to AWS Resources
}
}
}
}
To add an extra layer of security to your Amazon S3 buckets, you can configure MFA Delete, which
requires additional authentication to change the versioning state of a bucket and permanently delete
an object version. MFA Delete provides added security in the event that your security credentials are
compromised.
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.
For other users, you can allow read-only access to only some Amazon S3 buckets; permission to
administer only some Amazon 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.
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: “s3:*”,
“Resource”: [
“arn:aws:s3:::bucket-name”,
“arn:aws:s3:::bucket-name/*”
],
},
{
“Effect”: “Deny”,
“NotAction”: “s3:*”,
“NotResource”: [
“arn:aws:s3:::bucket-name”,
“arn:aws:s3:::bucket-name/*”
]
}
]
}
You can attach a policy to a user account or to a role. For other examples of IAM policies, see Example
IAM Identity-Based Policies.
9
Navigating GDPR Compliance on AWS AWS Whitepaper
Control Access to Web Applications and Mobile Apps
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.
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “DenyAllOutsideRequestedRegions”,
“Effect”: “Deny”,
“NotAction”: [
“cloudfront:*”,
“iam:*”,
”route53:*”,
“support:*”
],
“Resource”: “*”,
“Condition”: {
“StringNotLike”: {
“aws:RequestedRegion”: [
“eu-*”
]
}
}
}
]
}
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.
Geo-limiting capabilities exist for newly launched Regions. Regions introduced after March 20, 2019
are disabled by default. You must enable these Regions before you can use them. If an AWS Region
is disabled by default, you can use the AWS Management Console to enable and disable the Region.
Enabling and disabling AWS Regions enables you to control whether users in your AWS account can
access resources in that Region. For more information, see Managing AWS Regions.
10
Navigating GDPR Compliance on AWS AWS Whitepaper
Control Access to Web Applications and Mobile Apps
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.
11
Navigating GDPR Compliance on AWS AWS Whitepaper
Manage and Configure Assets with AWS Config
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.
• Evaluate your AWS resource configurations for to verify the settings are correct.
• Get a snapshot of the current configurations of the supported resources that are 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.
12
Navigating GDPR Compliance on AWS AWS Whitepaper
Compliance Auditing and Security Analytics
CloudTrail logs can be aggregated from multiple Regions and multiple AWS accounts into a single
Amazon S3 bucket. AWS recommends that you write logs--especially AWS CloudTrail logs--to an Amazon
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). CloudTrail log file integrity validation can be used to determine whether a log file
was modified, deleted, or unchanged after CloudTrail delivered it. This feature is built using industry
standard algorithms: SHA-256 for hashing and SHA-256 with RSA for digital signing. This makes it
computationally hard to modify, delete, or forge CT; log files without detection. You can use the AWS
command line interface (AWS CLI) to validate the files in the location where CloudTrail delivered them.
CloudTrail logs aggregated in an Amazon S3 bucket can be analyzed for auditing purposes or for
troubleshooting activities. Once the logs are centralized, you can integrate with Security Information and
Event Management (SIEM) solutions or use AWS services, such as Amazon Athena or CloudTrail Insights,
to analyze them and visualize them using Amazon QuickSight Dashboards. Once you have CloudTrail
logs centralized, you can also use the same Log Archive account to centralize logs from other sources,
such as CloudWatch Logs and AWS load balancers.
Figure 2 – Example architecture for compliance auditing and security analytics with AWS CloudTrail
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 Amazon 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 an AWS 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, Amazon EC2 details, and more. The following diagram shows the architecture of
the event notification.
13
Navigating GDPR Compliance on AWS AWS Whitepaper
Collecting and Processing Logs
Custom application metrics and logs can also be published to CloudWatch Logs by installing the
CloudWatch Agent on Amazon 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 Amazon S3 server access logs, Elastic Load Balancing access logs, VPC flow logs, and AWS
Global Accelerator flow logs can be delivered directly to an Amazon S3 bucket. For example, when you
enable Amazon Simple Storage Service server access logs, you can get detailed information regarding
14
Navigating GDPR Compliance on AWS AWS Whitepaper
Discovering and Protecting Data at Scale
the requests that are made to your Amazon 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 Simple
Storage Service 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, Amazon S3 does not collect service
access logs, but when you enable logging, Amazon S3 usually delivers 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 Amazon 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 Amazon S3-managed keys (SSE-S3) or customer master keys (CMKs)
stored in AWS Key Management Service (AWS KMS).
Logs stored in an Amazon 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 Amazon 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 Amazon S3 data events directly from CloudTrail
through an independent and duplicative stream of events.
(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 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. The customer can define custom data
identifiers that reflect their organization’s particular scenarios (for example, customer account numbers
or internal data classification).
15
Navigating GDPR Compliance on AWS AWS Whitepaper
Centralized Security Management
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).
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, multi-account AWS
environment. It automates the setup of a landing zone, which is a multi-account 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 (AWS SSO) default directory
and enables cross-account audit using AWS SSO and IAM. It also centralizes logs coming from CloudTrail
and AWS Config logs, which are stored in Amazon 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 Amazon S3.
16
Navigating GDPR Compliance on AWS AWS Whitepaper
Centralized Security Management
GuardDuty analyzes billions of events across your AWS accounts from several sources, including AWS
CloudTrail Management Events, CloudTrail Amazon S3 Data Events, Amazon Virtual Private Cloud 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 learning-powered 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 Amazon 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 Amazon 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
Elastic Compute Cloud Systems Manager when an Amazon EC2 instance is launched. You can also
perform automatic remediations for Amazon Inspector findings by using Amazon EC2 System Manager
and Lambda functions.
17
Navigating GDPR Compliance on AWS AWS Whitepaper
Encrypt Data at Rest
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.
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 Amazon S3 buckets for Server-Side Encryption (SSE) using AES-256 encryption. Amazon S3
also supports client-side encryption, which allows you to encrypt data before sending it to Amazon 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 Amazon 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.
• 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 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.
18
Navigating GDPR Compliance on AWS AWS Whitepaper
Encrypt Data in Transit
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 Amazon 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 Site-to-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. 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.
Cryptographic services from AWS use a wide range of encryption and storage technologies that are
designed to maintain integrity of your data at rest or in transit. AWS offers four primary 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 AWS KMS keys from customer accounts. AWS 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
• AWS Encryption SDK provides a client-side encryption library for implementing encryption and
decryption operations on all types of data.
• 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.
19
Navigating GDPR Compliance on AWS AWS Whitepaper
AWS Key Management Service
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 keys, as well as define usage policies and audit usage from the
AWS Management Console or by using the AWS SDK or AWSAWS CLI.
The CMKs in AWS KMS, whether imported by you or created on your behalf by 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 KMS automatically rotate CMKs created in 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 KMS keeps them available to automatically decrypt previously
encrypted data.
For any CMK in AWS 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, 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 Amazon EC2 or Amazon RDS
in a specific Region (us-west-2) on behalf of a specific user (ExampleUser).
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Principal”: {
“AWS”: “arn:aws:iam::111122223333:user/ExampleUser”
}
“Action”: [
“kms:Encrypt*”,
“kms:Decrypt”,
”kms:ReEncrypt*”,
“kms:GenerateDataKey*”,
“kms:CreateGrant”,
“kms:ListGrants”,
“kms:DescribeKey”
],
“Resource”: “*”,
“Condition”: {
“ForAnyValue:StringEquals”: {
“kms:ViaService”: [
“ec2.us-west-2.amazonaws.com”,
“rds.us-west-2.amazonaws.com”
]
}
}
}
20
Navigating GDPR Compliance on AWS AWS Whitepaper
AWS Key Management Service
Audit Capabilities
AWS CloudTrail records each use of a key that you store in AWS KMS in a log file that is delivered to
the Amazon 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 AWS 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 HSM's 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.
The AWS CloudHSM service works with Amazon VPC. AWS CloudHSM instances are provisioned inside
your Amazon VPC with an IP address that you specify, which provides simple and private network
connectivity to your Amazon EC2 instances. When you locate your HSM instances near your Amazon EC2
instances, you decrease network latency, which can improve application performance. AWS provides
dedicated and exclusive (single tenant) access to HSM instances, which are isolated from other AWS
customers. Available in multiple Regions and Availability Zones, AWS CloudHSM enables you to add
secure and durable key storage to your applications.
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 AWS 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.
21
Navigating GDPR Compliance on AWS AWS Whitepaper
AWS Cryptographic Services and Tools
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.
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.
22
Navigating GDPR Compliance on AWS AWS Whitepaper
23
Navigating GDPR Compliance on AWS AWS Whitepaper
24
Navigating GDPR Compliance on AWS AWS Whitepaper
Contributors
Contributors to this document include:
25
Navigating GDPR Compliance on AWS AWS Whitepaper
Document Revisions
Date Description
26
Navigating GDPR Compliance on AWS AWS Whitepaper
Notices
Customers are responsible for making their own independent assessment of the information in this
document. This document: (a) is for informational purposes only, (b) represents current AWS product
offerings and practices, which are subject to change without notice, and (c) does not create any
commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services
are provided “as is” without warranties, representations, or conditions of any kind, whether express or
implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements,
and this document is not part of, nor does it modify, any agreement between AWS and its customers.
© 2021 Amazon Web Services, Inc. or its affiliates. All rights reserved.
27