| name | cis-aws-database-4.3 |
| description | Ensure DynamoDB Encryption at Rest |
| category | cis-database |
| version | 2.0.0 |
| author | cyberstrike-official |
| tags | ["cis","aws","database","dynamodb","encryption","kms","encryption-at-rest"] |
| cis_id | 4.3 |
| cis_benchmark | CIS AWS Database Services Benchmark v2.0.0 |
| tech_stack | ["aws"] |
| cwe_ids | [] |
| chains_with | ["cis-aws-database-4.4"] |
| prerequisites | [] |
| severity_boost | {} |
4.3 Ensure DynamoDB Encryption at Rest
Description
Encryption at rest in Amazon DynamoDB enhances the security of your data by encrypting it using AWS Key Management Service (AWS KMS) keys. Here is how to enable encryption at rest while creating a DynamoDB table.
Rationale
Once the user is in their AWS account, they should open the DynamoDB to create the table and enable encryption. A key would be required to be created to enable encryption. Only the authorized user would always have access to this key. Enabling encryption would keep the user's data private and stored securely, which would only allow them to access it with their key.
Impact
Add an additional layer of security by preventing any unauthorized personnel from accessing the data since both IAM access to the data and access to the encryption key would be required.
Audit Procedure
Using AWS Console
-
Open DynamoDB Console
-
Create DynamoDB Table
- Click
Create table. This will bring you to the Create DynamoDB table page.
-
Specify Table Details
- Enter a
Table name and Primary key.
- The primary key consists of a partition key and, optionally, a sort key.
- Fill in these details according to your requirements.
-
Enable Encryption
- Under the
Settings section, check the Enable encryption at rest.
- By default, DynamoDB uses an AWS-owned CMK to encrypt your data.
- To use an AWS-managed CMK or a customer-managed CMK instead, select
AWS-managed CMK or Customer-managed CMK from the dropdown menu, then choose the desired CMK.
-
Create a Table
- Click
Create.
- This will create your DynamoDB table with encryption at rest enabled.
Note:
- The setting for encryption at rest applies to all DynamoDB data associated with the table, including primary key data and indexes.
- If you need to apply encryption at rest to an existing table, you can modify the table settings. However, modifying settings on large tables could take time and impact performance during the transition.