AWS KMS

Managed service for creating and controlling encryption keys used across AWS services and your own apps.

Verified against AWS documentation · 2026-08-27

Key facts

  1. 01Keys never leave KMS unencrypted — you send data to the key, not the key to your data
  2. 02Direct Encrypt/Decrypt caps at 4 KB; anything bigger uses envelope encryption (KMS encrypts a data key, the data key encrypts your data)
  3. 03Three key types: AWS owned (invisible, free), AWS managed (aws/service, free storage), customer managed (you control policy, rotation, deletion)
  4. 04Regional service — keys don't cross Regions; multi-region keys are replicas billed separately
  5. 05Deletion is never instant: 7–30 day mandatory waiting period, and a deleted key means permanently unreadable data
  6. 06Every key use is logged in CloudTrail — this is the audit answer, not an add-on

Exam triggers

Phrases and scenarios that point here.

  • "Encryption at rest", "manage encryption keys", "control who can decrypt" → KMS
  • "Encrypt data larger than 4 KB" → envelope encryption with data keys, not direct Encrypt
  • "Audit key usage" → KMS + CloudTrail
  • Compliance requires customer-controlled keys → customer managed key, not AWS managed
  • "Dedicated single-tenant hardware" / FIPS 140-2 Level 3 → CloudHSM (or KMS custom key store), not plain KMS

Not this service

  • Storing/rotating database passwords or API keys → Secrets Manager
  • Dedicated single-tenant HSM you fully control → CloudHSM
  • SSL/TLS certificates for load balancers and CloudFront → ACM

Use cases

  1. 01One customer managed key per environment (prod/staging) so a leaked staging credential can never decrypt production S3 objects
  2. 02Cross-account key policy letting an analytics account decrypt a data lake bucket without copying data or sharing credentials
  3. 03Envelope encryption in an app storing signed contracts — KMS wraps one data key per document, so revoking the KMS key revokes everything at once
  4. 04Meeting an auditor's 'prove who decrypted customer records and when' requirement purely from CloudTrail KMS events
  5. 05Disabling (not deleting) a key during an incident to instantly cut off all decryption while keeping the option to recover

How it's charged

  1. 01$1/month per customer managed key, prorated hourly — charged whether the key is used or not, so orphaned keys are silent recurring spend
  2. 02API requests: $0.03 per 10,000 symmetric requests after 20,000 free per month; asymmetric operations cost more and are excluded from the free tier
  3. 03AWS managed keys have no storage charge — requests against them still bill
  4. 04Multi-region key replicas each bill as their own $1/month key
  5. 05The real bill driver is request volume from integrated services (S3 SSE-KMS reads, EBS, Secrets Manager) — S3 Bucket Keys and data key caching cut it

Commonly confused with

References