【AWS KMS】暗号化キーの種類と違いを整理してみた

記事タイトルとURLをコピーする

はじめに

こんにちは、山本です。 最近、AWSの認定資格であるSCS (AWS Certified Security – Specialty)の試験対策をしている中で、AWS KMS (AWS Key Management Service)キーの種類についてとても悩まされる場面が多くありました。

特に、「AWSマネージドキーとカスタマーマネージドキーの違い」、「カスタマーマネージドキーの中にもさらに種類が存在する」といった部分がややこしく、試験対策だけでなく実務設計にも関わる重要なトピックだと実感しています。

今回は、自分なりに整理した内容を表や比較形式でまとめてみましたので、同じように混乱している方の参考になれば幸いです。

キー比較表

以下、表に記載されているそれぞれのキーに対して解説を行っていきます。

AWS KMS キーの種類について

AWS マネージドキー

AWSが作成・管理しているキーで、例えばS3やEBSの暗号化を有効化したときに自動的に作られるキーです。 ユーザーはこのキーの削除やキーポリシーの変更といった操作はできませんが、各サービスのデフォルト暗号化に使うには十分です。

AWS マネージドキーには、以下のような特徴があります。

  • AWS が自動生成・管理
    → 利用者は明示的に作成や削除をする必要がなく、サービスの裏側で自動的に割り当てられます。
  • キーポリシーの変更不可
    → IAMポリシーでキー自体へのアクセス制御は可能ですが、キーポリシーによるカスタマイズはできません(Amazon S3 で言うとバケットポリシーのようなもの)。
  • 削除・無効化不可
    → 誤操作による影響を防ぐために、これらの操作はAWS内部で制御されており、ユーザーが直接無効化・削除することはできません。
  • CloudTrailでのログ記録は有効
    → 暗号化や復号化の操作はすべてCloudTrailで監査可能です。
  • 自動ローテーションは一部対応
    → 一部のサービスでは内部的に定期ローテーションが行われますが、ユーザーが制御することはできません。

カスタマーマネージドキー (Customer Managed Key)

ユーザーが自分で作成・管理するキーです。より細かいアクセス制御(キーポリシーの使用)、無効化、削除、タグ付け、ローテーションなどが可能です。
さらにこのキーは、「キーマテリアル(暗号化の素材)」の提供元によって以下の3つに細分化されます。

この「キーマテリアルの提供元の違い」によって、それぞれのカスタマーマネージドキーで可能な処理も若干異なります。

AWS 生成のキーマテリアル

AWSがHSM内で安全にキーマテリアルを生成します。ほとんどのカスタマーマネージドキーはこのキーです。
※HSM (Hardware Security Module)は、暗号キーの生成・保存・暗号化処理などを安全に行うための物理的な専用機です。

自動ローテーションが可能となっており、カスタマーマネージドキーの中でもキー管理が比較的しやすい位置付けとなっています。
この「自動ローテーション」に関しては AWS マネージドキーだと意図してローテーションを実施できないので、カスタマーマネージドキーを選ぶ必要があります。

また、 AWS 生成のキーマテリアルで作成したキーはマルチリージョンキーに唯一対応しているので、クロスリージョン対応の要件にも対応できる強みがあります。

インポートしたキーマテリアル

ユーザーが自前で生成したキーマテリアルをKMSにインポートして使う方式です。
キーの有効期限や削除タイミングを自分で完全にコントロールできる一方、自動ローテーションには非対応という制約もあります。

オンプレミス環境や他のクラウド環境と共通のキーを使いたい際やキーのライフサイクルを厳密に管理したい(例:6ヶ月ごとに削除するなど)際に強みを発揮します。

カスタムキーストア

AWS CloudHSMに作成したキーストアを使って、KMSキーの保存場所をHSMにする特徴のあるキーです。
FIPS 140-2 Level 3への準拠が必要な場合などに用いますが、セットアップが複雑でコストも高くなります。

政府機関・金融機関などの厳重なセキュリティ要件が必要なデータの暗号化に使用されます。

おわりに

KMSのキータイプに関する違いは、SCS試験では細かく問われるうえ、実務でも「どのキーを使うべきか」という判断を誤るとセキュリティリスクや運用コストに直結する非常に重要なトピックであると実際にキーを作成したり問題を解いていく中で感じました。

特にカスタマーマネージドキーに関してはキーマテリアルの種類によって構成できるものとできないものの差が激しい項目も存在しているので、自分で表などを用いて整理することでやっとそれぞれのキーの役割の違いが認識できました。

また、実際に AWS CLI やコンソールでカスタマーマネージドキーを定義してキーポリシーを触ってみたり、 AWS CloudTrail で AWS KMS に関するイベントログを確認するとさらに実感が湧いたのでおすすめです。

自分用にまとめた表ではありますが、是非キーの理解に使ってみてください!
この記事が、AWS KMSの理解に悩む方や、SCS試験に取り組んでいる方の一助になれば嬉しいです。

山本 竜也 (記事一覧)

2025年度新入社員です!AWSについてはほぼ未経験なのでたくさんアウトプットできるよう頑張ります✨