Check ID:
Provider: AWS
Service:
Severity: LOW
Categories:
Resource type:
kms_cmk_are_usedProvider: AWS
Service:
kmsSeverity: LOW
Categories:
encryptionResource type:
AwsKmsKeyWhat this check verifies
Customer-managed KMS keys are assessed by key state. Keys inEnabled 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 keysEnabled 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
- Terraform
- Native IaC
- Dashboard steps
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 byCheck 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