KMS key is publicly accessible

Severity
Medium
Service
KMS
Check ID
KMS_PUBLIC

What this check finds

This KMS key's policy allows access from anyone, not only principals in your own account. This may allow an attacker to decrypt data using the KMS key.

Passing looks like: KMS keys not publicly accessible.

How to fix it

Update the KMS key policy to remove the Principal '*' statement and restrict access to specific IAM roles or accounts.

AWS CLI

  1. aws kms put-key-policy --key-id KEY_ID --policy-name default --policy 'POLICY_JSON'

Names in capitals are placeholders for your own resource. Review a command before you run it.

AWS console

KMS → Customer managed keys → select key → Key policy → Edit.

Compliance controls it is evidence for

A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works

Compliance controls mapped to KMS key is publicly accessible
FrameworkControls
NIST SP 800-53 Rev5 (Moderate)
  • AC-3 Access Enforcement
NIST Cybersecurity Framework 2.0
  • PR.AA-05 Access permissions and authorizations are enforced with least privilege
ISO/IEC 27001:2022 Annex A
  • A.5.15 Access control

Checked on every scan

KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs

More KMS checks

All KMS checks

Find out what is actually exposed in your AWS environment.

Connect one AWS account and run your first security assessment.

No credit card · Agentless · Read-only