Control: 3.8 Ensure rotation for customer created symmetric CMKs is enabled
Description
AWS Key Management Service (KMS) allows customers to rotate the backing key which is key material stored within the KMS which is tied to the key ID of the Customer Created customer master key (CMK). It is the backing key that is used to perform cryptographic operations such as encryption and decryption. Automated key rotation currently retains all prior backing keys so that decryption of encrypted data can take place transparently. It is recommended that CMK key rotation be enabled for symmetric keys. Key rotation can not be enabled for any asymmetric CMK.
Rotating encryption keys helps reduce the potential impact of a compromised key as data encrypted with a new key cannot be accessed with a previous key that may have been exposed. Keys should be rotated every year, or upon event that would result in the compromise of that key.
Remediation
From Console:
- Sign in to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam.
- In the left navigation pane, choose
Customer managed keys
. - Select a customer managed CMK where
Key spec = SYMMETRIC_DEFAULT
. - Underneath the "General configuration" panel open the tab "Key rotation".
- Check the "Automatically rotate this KMS key every year." checkbox.
From Command Line:
- Run the following command to enable key rotation:
aws kms enable-key-rotation --key-id <kms_key_id>
Usage
Run the control in your terminal:
powerpipe control run aws_compliance.control.cis_v200_3_8
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.cis_v200_3_8 --share
SQL
This control uses a named query:
kms_cmk_rotation_enabled