Check provider logo

KMS customer managed key is enabled or scheduled for deletion

kms_cmk_are_used

Severitylow
Servicekms
by Prowler

Customer-managed KMS keys are assessed by key state. Keys in Enabled are considered in use. Keys not Enabled and not PendingDeletion are identified as unused, while those in PendingDeletion are recognized as scheduled for removal.

Risk

Keeping unused CMKs increases attack surface and cost.

If such keys are re-enabled or misconfigured, they can grant unintended decryption, impacting confidentiality. Deleting a key mistakenly thought unused can cause irrecoverable data loss, harming availability.

Run this check with Prowler CLI

prowler aws --checks kms_cmk_are_used

Recommendation

Adopt a key lifecycle: confirm actual usage with logs, owners, and tags; keep keys Enabled only when required; otherwise schedule deletion with a waiting period.

Enforce least privilege to enable/disable or delete keys, require approvals, and monitor KMS activity with separation of duties.

Remediation

CLI

aws kms enable-key --key-id <key_id>

Native IaC
Terraform
Other
  1. Sign in to the AWS Console and open Key Management Service (KMS)
  2. Go to Customer managed keys and select the affected key
  3. Choose Key actions > Enable
  4. Confirm to enable the key

Source Code

Resource Type

AwsKmsKey

References