Security

AWS KMS: matching key control to your audit story

Week of June 29, 2026Topic: AWS Key Management Service (KMS)

This issue covers AWS Key Management Service (KMS), the service behind "the data is encrypted at rest" on nearly every AWS architecture diagram.

Why this matters

Almost every AWS service that stores data (S3, EBS, RDS, DynamoDB, and the rest) can encrypt it with KMS, and most do by default. So for regulated Commonwealth data (CJIS, IRS 1075, tax and court records), the question a security review asks is rarely "is it encrypted?" It is "who controls the key, can you prove it rotates, and is every use of it logged?" Those are key-type questions, not encryption questions, and the answer changes both your cost and your audit story.

The common trap is to assume that "regulated" means "we need CloudHSM." It almost never does. The real fork for audited data is AWS managed keys versus customer managed keys, both of which live in KMS. CloudHSM and external key stores are a further step that only a few specific mandates actually require.

Rule of thumb: match the key type to the control and audit you actually need, and stop there.

Quick context

AWS owned keys

AWS managed keys

Customer managed keys (CMK)

How envelope encryption works

This is the part that explains both the cost and the performance. KMS does not encrypt your gigabytes directly. Instead:

The point: KMS only ever encrypts the small data key, not your bulk data. That is why a single KMS key can protect petabytes without becoming a bottleneck, and why "every use in CloudTrail" means every data-key request, not every byte.

Key control tiers: who holds the key material

If a requirement does push you past a standard customer managed key, the next question is who physically holds the key material. There are four tiers, and cost and operational burden climb at each step.

Most customers, including regulated ones, are well served by tier 1 with a customer managed key.

What changed recently (worth knowing)

When not to use it / tradeoffs

Quick decision guide

  • Default encryption, no audit requirement, least effort? Use the AWS managed key. It is free.
  • Regulated or audited data that needs a key policy, set rotation, and CloudTrail of every use? Use a customer managed key. This is the usual COPA answer.
  • Same key needed in another Region for DR or failover? Use a multi-Region customer managed key, set up at creation.
  • Must generate the key material yourself? Import your own key material (BYOK).
  • A dedicated single-tenant FIPS 140-3 Level 3 HSM is mandated? CloudHSM custom key store.
  • Keys may never leave your own HSM, outside AWS? External key store (XKS).

AWS references

Want to go hands-on with AWS? See our upcoming workshops.