🛡️ セキュリティ:KMSの使いどころ

【KMSの役割(セキュリティ設計)】

目次

🔍 1. 結論

💎 一言でいうと AWS Key Management Service (KMS) は、AWS上のデータを暗号化するための 「鍵(暗号鍵)」を一元的に作成・管理・制御する サービスです。「保管時の暗号化(Encryption at Rest)」 と言えば、ほぼすべてKMSが裏で動いています。

  • S3、EBS、RDS、Redshiftなどのストレージ系サービスの暗号化に必須。
  • 「エンベロープ暗号化」 により、大量のデータを安全かつ高速に暗号化する。
  • 鍵へのアクセス権限は IAMポリシー と KMSキーポリシー の両方で制御する。

📈 2. SAAで出やすいポイント

  • カスタマーマネージドキー (CMK): AWSが自動で作る鍵(AWS管理キー)ではなく、ユーザー自身が作成・管理する鍵。年に1回の自動ローテーションを有効にすることができる(コンプライアンス要件でよく出題)。
  • エンベロープ暗号化: データを「データキー」で暗号化し、そのデータキー自体を「マスターキー(KMSのキー)」で暗号化する仕組み。KMSのマスターキーは絶対にAWS外部に出ないため極めて安全。
  • アクセス制御: IAMロールを持っていたとしても、対象の KMSキーポリシー(Key Policy) 側でアクセスが許可されていなければ、暗号化データの読み書き(復号)はできない。

🗝 3. キーワードでの判断

問題文のキーワード 疑うサービス・構成
🔑 「保管データの暗号化」「Data at rest encryption」 AWS KMS
🔄 「暗号鍵を年1回自動でローテーションしたい」 KMS カスタマーマネージドキー
🚫 「権限はあるはずなのにEBSボリュームをアタッチできない」 KMSのキーポリシーで復号権限が不足している
🏢 「オンプレミスの暗号鍵をAWSに持ち込みたい」 KMS (インポートされたキーマテリアル)

⚠️ 4. ひっかけポイント

🚫 よくある誤答パターン – 「自分でプログラムを書いて全データを暗号化する」 → 管理負荷が高すぎるため不正解。チェックボックス1つでKMSと連携する(Server-Side Encryption)のがAWSのベストプラクティス。 – 「KMSでインターネット通信(In Transit)を暗号化する」 → KMSはあくまで「保管時の暗号化」です。通信の暗号化(SSL/TLS)は ACM (AWS Certificate Manager) の役割です。


💡 5. 覚え方

🧠 暗記ショートカット – KMS = 「超頑丈な金庫室のマスターキー」。 – 荷物(データ)に南京錠(データキー)をかけ、その南京錠の「鍵」を金庫室(KMS)で保管する(エンベロープ暗号化)。 – 保管(KMS) と 通信(ACM) はセットで使い分ける!


📚 6. 関連サービス

アイコン サービス名 KMSとの関連
🪣 Amazon S3 SSE-KMSとして、バケット内のオブジェクトを暗号化
💿 Amazon EBS EC2のストレージボリュームを暗号化
🐘 Amazon RDS データベースのストレージやスナップショットを暗号化

🗒️ 7. Obsidian管理メモ

  • 見返すタイミング: セキュリティ全般、ストレージ暗号化の学習時
  • 関連ノート候補: AWS_セキュア設計_S3, AWS_セキュア設計_EBS

8. HTMLファイル名: AWS_セキュア設計_KMS.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次