Control: 3.6 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 customercreated 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 S3 console at https://console.aws.amazon.com/s3.
- In the left navigation pane, click
Customer-managed keys
. - Select a key where
Key spec = SYMMETRIC_DEFAULT
that does not have automatic rotation enabled. - Select the
Key rotation
tab. - Check the
Automatically rotate this KMS key every year
checkbox. - Click
Save
. - Repeat steps 3–6 for all customer-managed CMKs that do not have automatic rotation enabled.
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_v300_3_6
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.cis_v300_3_6 --share
SQL
This control uses a named query:
kms_cmk_rotation_enabled