Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
dynamodb_tables_kms_cmk_encryption_enabledProvider: AWS
Service:
dynamodbSeverity: MEDIUM
Categories:
encryptionResource type:
AwsDynamoDbTableWhat this check verifies
DynamoDB tables use AWS KMS keys (KMS) for encryption at rest instead of the default service-owned key
Risk
Relying on the default service-owned key reduces control over confidentiality: no custom key policies, limited auditability, and no independent rotation or disablement. This weakens least-privilege enforcement and incident response, and can impede meeting mandates that require customer-controlled keys.Recommendation
Encrypt tables with KMS keys in your account-prefer customer-managed keys for sensitive data.- Enforce least-privilege key policies and scope grants
- Enable rotation and monitor key usage
- Separate duties for key admins vs data users
- Restrict which principals can use the key for DynamoDB
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = dynamodb_tables_kms_cmk_encryption_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks