DynamoDB table does not have CMK (customer-managed KMS) encryption enabled
- Severity
- Low
- Service
- DynamoDB
- Check ID
- DYNAMODB_NOT_ENCRYPTED
What this check finds
DynamoDB tables are encrypted by default with an AWS-owned key. This finding flags tables that have not opted in to customer-managed KMS encryption, which provides audit logs, key rotation control, and the ability to revoke access.
Passing looks like: DynamoDB tables encrypted with CMK.
How to fix it
Update the table to use a customer-managed KMS key.
AWS CLI
aws dynamodb update-table --table-name TABLE_NAME --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=KEY_ID
Names in capitals are placeholders for your own resource. Review a command before you run it.
AWS console
DynamoDB → Tables → select table → Additional settings → Encryption → Manage encryption → Customer managed key.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| PCI-DSS v4.0.1 |
|
| HIPAA Security Rule |
|
| SOC 2 — Trust Services Criteria |
|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs