【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