Skip to main content

πŸ›‘οΈ AWS DynamoDB Table is not encrypted with a KMS key🟒

  • Contextual name: πŸ›‘οΈ Table is not encrypted with a KMS key🟒
  • ID: /ce/ca/aws/dynamodb/table-encryption
  • Tags:
  • Policy Type: COMPLIANCE_POLICY
  • Policy Categories: SECURITY

Logic​

Similar Policies​

  • Internal: dec-x-c658697c

Similar Internal Rules​

RulePoliciesFlags
βœ‰οΈ dec-x-c658697c1

Description​

Open File

Description​

This policy identifies AWS DynamoDB Tables that are not encrypted at rest using an AWS KMS key. By default, all DynamoDB tables are encrypted using server-side encryption with an AWS-owned key. However, for enhanced security and compliance control, tables should be configured to use either a Customer-Managed Key (CMK) or an AWS Managed Key stored in AWS Key Management Service (KMS).

Rationale​

Encrypting DynamoDB tables with a KMS key provides several advantages over the default AWS-owned key:

  • You can manage key lifecycle operations (such as creation, rotation, and access control) directly within AWS KMS.
  • All key usage is recorded in AWS CloudTrail, providing a detailed audit trail of data access and decryption events.
  • You can define fine-grained IAM policies on the KMS key to restrict which users or roles can access encrypted data in the table.

Impact​

Enabling encryption with a KMS key may incur additional costs associated with AWS KMS usage.

Audit​

This policy marks an AWS DynamoDB Table as INCOMPLIANT if SSE: Status field is not set to ENABLED.

... see more

Remediation​

Open File

Remediation​

Update an Encrypted Table with an AWS Managed Key​

From Command Line​

To enable encryption at rest using the AWS managed key, run the following command:

aws dynamodb update-table \
--table-name {{table-name}} \
--sse-specification Enabled=true,SSEType=KMS

Update an Encrypted Table with a Customer-Managed Key​

To enable encryption at rest using a Customer-Managed key (CMK), specify the key ID in the command:

aws dynamodb update-table \
--table-name {{table-name}} \
--sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId={{kms-key-id}}

policy.yaml​

Open File

Linked Framework Sections​

SectionSub SectionsInternal RulesPoliciesFlagsCompliance
πŸ’Ό APRA CPG 234 β†’ πŸ’Ό 52c appropriate encryption, cleansing and auditing of devices;1010no data
πŸ’Ό AWS Well-Architected β†’ πŸ’Ό SEC08-BP02 Enforce encryption at rest14no data
πŸ’Ό Cloudaware Framework β†’ πŸ’Ό Data Encryption54no data
πŸ’Ό FedRAMP High Security Controls β†’ πŸ’Ό AC-4(4) Flow Control of Encrypted Information (H)2627no data
πŸ’Ό FedRAMP High Security Controls β†’ πŸ’Ό SC-28 Protection of Information at Rest (L)(M)(H)1731no data
πŸ’Ό FedRAMP Low Security Controls β†’ πŸ’Ό SC-28 Protection of Information at Rest (L)(M)(H)131no data
πŸ’Ό FedRAMP Moderate Security Controls β†’ πŸ’Ό SC-28 Protection of Information at Rest (L)(M)(H)131no data
πŸ’Ό NIST CSF v2.0 β†’ πŸ’Ό PR.DS-01: The confidentiality, integrity, and availability of data-at-rest are protected159no data
πŸ’Ό NIST SP 800-53 Revision 5 β†’ πŸ’Ό AC-4(2) Information Flow Enforcement _ Processing Domains3133no data
πŸ’Ό NIST SP 800-53 Revision 5 β†’ πŸ’Ό SC-28 Protection of Information at Rest31732no data