Check ID: kms_cmk_are_used
Provider: AWS
Service: kms
Severity: LOW
Categories: encryption
Resource type: AwsKmsKey

What this check verifies

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.

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

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

References

Where this check fires

This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable by Check ID = kms_cmk_are_used. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks