🔐 AWS KMS キーの種類 完全ガイド

3種類のキーを「住まいの鍵」にたとえて徹底解説

📌 30秒でわかる!キーの種類まとめ

🏨

AWS 所有キー

AWSが完全管理。ユーザーは意識不要。無料

🏢

AWS マネージドキー

AWSが管理+一部確認可能。使用料のみ

🏠

カスタマーマネージドキー

ユーザーが完全管理。最高の柔軟性。月額+使用料

🏠 「住まいの鍵」でわかる3つのキー

KMSの3種類のキーは、「どこに住んでいるか」で考えると理解しやすい!
ホテル・賃貸マンション・持ち家、それぞれ鍵の管理方法が違いますよね 🔑

🏨

ホテルの鍵

= AWS 所有キー(AWS Owned Key)
🔑 鍵はホテルが完全に管理
👀 どんな鍵かは見えない・知らない
🔄 鍵の交換もホテルにおまかせ
💰 宿泊料に含まれている(追加費用なし)
管理レベル
なし
🏢

賃貸マンションの鍵

= AWS マネージドキー(AWS Managed Key)
🔑 鍵は管理会社(AWS)が管理
👀 鍵の情報・使用履歴は確認できる
🔄 鍵の交換は管理会社が自動で実施
💰 使った分だけ料金発生
管理レベル
一部
🏠

持ち家の鍵

= カスタマーマネージドキー(CMK)
🔑 鍵は自分で完全に管理
👀 すべての詳細を把握・監査可能
🔄 鍵の交換タイミングも自分で決定
💰 月額固定+使用料金
管理レベル
完全

📊 3つのキー徹底比較表

比較項目 🏨 AWS所有キー 🏢 AWSマネージドキー 🏠 カスタマーマネージドキー
管理者 AWS(完全) AWS(主体) ユーザー(完全)
キーの可視性 見えない 確認可能 完全可視
キーポリシー変更 不可 不可 可能
キーローテーション AWS自動(非公開) AWS自動(1年) 手動 or 自動設定可
CloudTrail監査 不可 可能 可能
削除・無効化 不可 不可 可能
月額料金 無料 無料 $1/月
API使用料 無料 有料 有料
キー識別名 なし aws/[サービス名] alias/[任意の名前]

🔍 各キーの詳細解説

🏨

AWS 所有キー(AWS Owned Key)

最もシンプル。意識せず自動で暗号化

🎯 特徴

複数のAWSアカウントで共有されるキー。ユーザーからは完全に見えず、管理も一切できない。

📋 設定方法

多くのAWSサービスでデフォルトで使用される。特別な設定不要。

✅ メリット

設定不要、追加コストなし、運用の手間ゼロ。

⚠️ デメリット

監査不可、ポリシー制御不可、コンプライアンス要件を満たせない場合あり。

💡 使用される主なサービス

DynamoDB(デフォルト) SQS(デフォルト) SNS(デフォルト) S3(SSE-S3)
🏢

AWS マネージドキー(AWS Managed Key)

バランス型。監査可能で運用はAWSにおまかせ

🎯 特徴

AWSサービス専用のキー。aws/[サービス名]という形式で識別。CloudTrailで使用履歴を確認可能。

📋 設定方法

サービス設定で「SSE-KMS」や「AWS管理キー」を選択。自動的に作成される。

✅ メリット

監査ログ取得可能、自動ローテーション、運用の手間が少ない。

⚠️ デメリット

キーポリシー変更不可、クロスアカウント共有不可、細かい制御は不可能。

💡 キー名の例

aws/s3 aws/ebs aws/rds aws/lambda aws/secretsmanager
🏠

カスタマーマネージドキー(CMK)

最高の柔軟性。完全な管理権限

🎯 特徴

ユーザーが作成・管理するキー。キーポリシー、エイリアス、ローテーション、すべてを自由に設定可能。

📋 設定方法

KMSコンソールまたはAPIで明示的に作成。対称/非対称キーを選択可能。

✅ メリット

完全な制御、クロスアカウント共有、外部キー持ち込み(BYOK)、厳格なコンプライアンス対応。

⚠️ デメリット

月額費用発生、管理責任、削除すると復号不可能。

💡 推奨ユースケース

コンプライアンス要件 クロスアカウント暗号化 BYOK(独自キー持ち込み) 詳細なアクセス制御 機密データの暗号化

🧭 どのキーを選ぶ?判断フローチャート

🤔 コンプライアンス要件や監査が必要?
いいえ
→ 🏨 AWS所有キーでOK
はい ↓
🔒 キーポリシーの細かい制御やクロスアカウント共有が必要?
いいえ
→ 🏢 AWSマネージドキー
はい
→ 🏠 カスタマーマネージドキー

💰 コスト比較

🏨 AWS所有キー

無料

追加費用は一切なし

🏢 AWSマネージドキー

キー自体の月額費用は無料
API使用料のみ発生

🏠 カスタマーマネージドキー

キー1つにつき月額$1
+ $0.03/10,000リクエスト

✨ ベストプラクティス

🎯 用途に応じて選ぶ

コンプライアンス不要なら所有キー、監査が必要ならマネージドキー、完全制御ならCMKを選択。

🔄 ローテーション設定

CMKを使う場合は自動ローテーション(1年)を有効化。セキュリティ強化に効果的。

📝 エイリアスを活用

CMKには分かりやすいエイリアス(alias/prod-data-key など)を設定して管理を容易に。

🛡️ 最小権限の原則

キーポリシーで必要最小限のアクセス権限のみを付与。誰が何をできるかを明確に。

📊 CloudTrailで監視

マネージドキーとCMKはCloudTrailで使用履歴を記録。異常なアクセスを検知。

⚠️ 削除に注意

CMKの削除は待機期間(7-30日)あり。削除するとデータが復号不能になるため慎重に。

❓ よくある質問(FAQ)

Q. S3の暗号化で「SSE-S3」と「SSE-KMS」の違いは? +

SSE-S3 = AWS所有キーを使用。最もシンプルで追加費用なし。
SSE-KMS = AWSマネージドキーまたはCMKを使用。CloudTrailで監査可能。コンプライアンス要件がある場合はSSE-KMSを推奨。

Q. キーを間違えて削除したらどうなる? +

CMKには待機期間(7-30日)が設定されています。この期間内であれば削除をキャンセル可能です。完全に削除されると、そのキーで暗号化されたデータは二度と復号できません

Q. 他のAWSアカウントとキーを共有できる? +

CMK(カスタマーマネージドキー)のみクロスアカウント共有が可能です。キーポリシーで他アカウントのプリンシパルに権限を付与します。AWS所有キーとマネージドキーは共有できません。

Q. 自分の暗号キーを持ち込める? +

はい!BYOK(Bring Your Own Key)を使えば、オンプレミスで生成したキーマテリアルをKMSにインポートできます。これはCMKでのみ可能です。コンプライアンス要件でキーの出所を証明する必要がある場合に有用です。

Created by SSuzuki1063

AWS SAP Learning Resources