turbot/aws_compliance

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:

  1. Sign in to the AWS Management Console and open the KMS console at: https://console.aws.amazon.com/kms.
  2. In the left navigation pane, click Customer-managed keys.
  3. Select a customer-managed CMK where Key spec = SYMMETRIC_DEFAULT.
  4. Select the Key rotation tab.
  5. Ensure the Automatically rotate this KMS key every year box is checked.
  6. Click Save.
  7. Repeat steps 3–6 for all customer-managed CMKs that do not have automatic rotation enabled.

From Command Line:

  1. 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_v400_3_6

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run aws_compliance.control.cis_v400_3_6 --share

SQL

This control uses a named query:

kms_cmk_rotation_enabled

Tags