🏦 AWS CMK(暗号化キー)

銀行の貸金庫システムで理解する超入門ガイド

🔑 あなたの鍵 ↔️ 🏦 銀行の貸金庫 ↔️ 💎 大切なデータ

AWS CMKの仕組みを、身近な銀行の貸金庫システムで分かりやすく説明します!

🤔 まず、CMK(暗号化キー)って何?

📝 簡単に言うと...

大切なデータ 暗号化して保護 するための 特別な鍵 です

🏦 銀行の貸金庫の例

貴重品 貸金庫
安全に保管したい


🔑 専用の鍵 でロック
👮 銀行員が 鍵の管理 をサポート
🔄 定期的に 鍵を交換

☁️ AWSの世界

重要なデータ 暗号化 して
安全に保存したい


🔑 CMK(暗号化キー) でロック
☁️ AWS KMSが 鍵の管理 をサポート
🔄 自動で 鍵をローテーション

🏦 3つの重要な要素を銀行で理解

🔑

CMK(Customer Master Key)
= 貸金庫の主鍵

あなた専用の特別な鍵 です。
この鍵でデータを暗号化・復号化します。
カスタマーマネージド なら、あなたが完全にコントロール可能。

例: my-company-master-key
用途: S3、RDS、EBSの暗号化
👮

アクセス制御
= 鍵の使用許可システム

誰が鍵を使えるか を細かく設定。
社長、経理、開発者など、
役職や部署ごと に権限を分けられます。

設定例: 開発者は暗号化のみ
管理例: 管理者は全権限
🔄

自動ローテーション
= 定期的な鍵交換サービス

1年に1回自動 で新しい鍵に交換。
古い鍵で暗号化されたデータも、
ちゃんと復号化 できるので安心。

頻度: 年1回(自動)
利点: セキュリティ向上

🔐 カスタマーマネージドCMKって何が特別?

🏠 自分で管理 vs 🏦 銀行におまかせ

AWS管理の鍵と、あなたが管理する鍵の違いを理解しよう

🏦 AWS管理CMK

銀行が全部管理


メリット:

  • 設定不要で簡単
  • 追加料金なし
  • 自動で安全管理

デメリット:

  • アクセス制御不可
  • ローテーション制御不可
  • 監査ログなし

🔑 カスタマーマネージドCMK

あなたが完全コントロール


メリット:

  • 細かいアクセス制御
  • 自動ローテーション設定可
  • 完全な監査ログ
  • 他AWSアカウントと共有可

デメリット:

  • 設定が必要
  • 月額$1/鍵

💡 どちらを選ぶべき?

🏦 AWS管理CMKが向いている場合:

  • とりあえず暗号化したい
  • 設定を簡単にしたい
  • コストを抑えたい

🔑 カスタマーマネージドCMKが向いている場合:

  • 厳格なアクセス制御が必要
  • 監査要件がある(SOX法、PCI DSS等)
  • 定期的なキーローテーションが必要
  • 複数のAWSアカウントで鍵を共有したい

👮 アクセス制御の仕組み

🏢 会社の金庫室への入室管理

誰が、いつ、どの操作をできるかを細かくコントロール

🔐 アクセス制御の3段階

1

IAMポリシー(社員証チェック)

銀行の例: 「田中さんは貸金庫エリアに入室可能」
AWS: どのユーザー・ロールがKMSにアクセスできるかを設定

2

キーポリシー(鍵の使用ルール)

銀行の例: 「田中さんは鍵で開けることは可能、でも鍵のコピーは不可」
AWS: その特定のCMKに対して何ができるかを設定

3

グラント(一時的な権限)

銀行の例: 「今日だけ、佐藤さんも田中さんの鍵を使えます」
AWS: 期間限定や条件付きでの一時的なアクセス権限

開発者

許可:
・データの暗号化
・データの復号化

拒否:
・鍵の削除
・鍵の管理

👑

管理者

許可:
・全ての操作
・鍵の作成・削除
・ポリシー変更

外部ユーザー

拒否:
・全ての操作
・アクセス不可

🕐

監査役

許可:
・ログの閲覧
・鍵の使用状況確認

拒否:
・データアクセス

🤔 アクセス制御のよくある質問

🤷 アクセス制御が複雑そう...簡単な設定例は?
🔍 誰が鍵を使ったか確認できる?
⚠️ 間違って権限を与えすぎた場合は?

🔄 自動ローテーションの仕組み

🗓️ 年1回の自動鍵交換サービス

まるで銀行が定期的に貸金庫の鍵を新しくしてくれるようなサービスです

🔑

今日: 現在の鍵

今使っている鍵で
データを暗号化

➡️
🔄

365日後: 自動交換

AWSが新しい鍵を
自動で作成

➡️
🆕

新しい鍵で暗号化

新データは新鍵で
暗号化される

➡️
📚

古いデータも安全

古い鍵も保管されるので
復号化可能

🤔 なぜローテーションが重要?

🏦 銀行の例で考えてみると...

  • 長年同じ鍵を使い続けるのは危険
  • 誰かに鍵を盗まれる可能性がある
  • 定期的に鍵を変えることで安全性アップ

☁️ AWSでも同じ理由:

  • 鍵が漏洩した場合の影響を最小化
  • コンプライアンス要件(年1回のローテーション)
  • 暗号学的な安全性の向上

⚙️ ローテーション設定の流れ

1

CMK作成時にローテーション有効化

設定場所: KMSコンソール > カスタマーマネージドキー > 作成
設定項目: 「自動ローテーションを有効にする」をチェック

2

ローテーション間隔の設定

デフォルト: 365日(1年)
範囲: 90日〜2560日まで設定可能
推奨: 1年(セキュリティと運用のバランス)

3

既存CMKでのローテーション有効化

手順: 既存のCMK > キーローテーション > 編集
注意: 次回ローテーションは設定から365日後
影響: アプリケーションは何も変更不要

4

ローテーション状況の確認

確認方法: KMSコンソール > キーの詳細 > ローテーション履歴
CloudTrail: ローテーション実行のログも記録
監視: CloudWatchでローテーション失敗を検知可能

🔄 ローテーションのよくある質問

😰 ローテーション中にシステムが止まる?
📅 ローテーション頻度はどう決める?

🗺️ データ暗号化の流れを図で見てみよう

📊 データ暗号化の流れ

📄

機密データ

暗号化前

顧客情報、財務データ
パスワード等
🔑

CMK

暗号化キー

カスタマーマネージド
自動ローテーション有効
🔐

暗号化データ

安全に保存

S3、RDS、EBS等
解読不可能な状態

🔄 復号化の流れ

データが必要になったら → アクセス権限をチェック → CMKで復号化 → 元のデータとして使用

📋 実際の設定手順(超簡単版)

1

カスタマーマネージドCMKの作成

場所: AWSコンソール > KMS > カスタマーマネージドキー > 作成
→ 鍵の種類: 対称
→ 用途: 暗号化と復号化
→ 自動ローテーション: 有効

2

鍵の管理者を設定

キー管理者: IT部門のマネージャーを指定
→ 鍵の削除、ポリシー変更権限
→ 通常はAWS管理者アカウント

3

鍵の利用者を設定

キー利用者: アプリケーションやユーザーを指定
→ EC2インスタンス、Lambda関数等
→ 暗号化・復号化権限のみ

4

鍵の名前とエイリアス設定

エイリアス例: alias/my-company-master-key
→ 覚えやすい名前を付ける
→ 説明文も追加(「顧客データ暗号化用」等)

5

アプリケーションでの使用

S3での使用: バケットの暗号化設定でCMKを指定
RDSでの使用: データベース作成時にCMKを指定
EBSでの使用: ボリューム作成時にCMKを指定

6

監視とログ確認

CloudTrail: KMS APIの使用ログを確認
CloudWatch: メトリクスとアラームを設定
→ 異常なアクセスを早期発見

❓ よくある質問

🤔 AWS管理CMKで十分じゃない?
💰 コストはどのくらいかかるの?
🔧 間違って鍵を削除したら?
🌍 複数のリージョンで使える?

✨ カスタマーマネージドCMKのメリット

🔐

完全なコントロール

誰がいつ鍵を使えるかを細かく制御。自分だけの鍵で最高レベルの安全性

📊

完全な監査ログ

いつ、誰が、何をしたかがすべて記録。コンプライアンス要件も安心

🔄

自動ローテーション

年1回自動で鍵を更新。アプリケーション変更不要で安全性アップ

🤝

柔軟な共有

他のAWSアカウントとも安全に鍵を共有。組織全体での一元管理

⚖️ AWSマネージド vs カスタマーマネージド徹底比較

🏦 おまかせプラン vs 🔐 フルカスタムプラン

どちらのキータイプがあなたのニーズに最適か、詳しく比較してみましょう

🏦 AWSマネージドキー

🍔 ファストフードのようなお手軽さ

✅ メリット:

  • 完全無料
  • 設定不要(即利用可能)
  • AWS が全て管理
  • メンテナンスフリー

❌ デメリット:

  • アクセス制御不可
  • ローテーション制御不可
  • 詳細監査ログなし
  • 他アカウントと共有不可
  • 削除不可

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

🍽️ フルコースのような高級感

✅ メリット:

  • 完全なコントロール権
  • 細かいアクセス制御
  • ローテーション自由設定
  • 完全な監査ログ
  • クロスアカウント共有
  • 自由な削除・管理

❌ デメリット:

  • 月額$1 + API料金
  • 設定が必要
  • 管理責任

📊 機能比較表

機能 🏦 AWSマネージド 🔐 カスタマーマネージド
💰 料金 無料 $1/月 + API料
🔧 設定 自動作成 手動設定必要
👮 アクセス制御 ❌ 制御不可 ✅ 完全制御
🔄 ローテーション AWS自動(3年) ✅ 自由設定
📊 監査ログ ❌ 詳細ログなし ✅ 完全ログ
🤝 クロスアカウント共有 ❌ 不可 ✅ 可能
🗑️ 削除 ❌ 削除不可 ✅ 削除可能
🏷️ 識別方法 aws/s3
aws/rds
UUID形式
alias/my-key

🤔 どちらを選ぶべき?判断フローチャート

🗺️ キータイプ選択ガイド

🚀

AWSで暗号化を始めたい!

どちらのキータイプを選ぶべき?

これは本番環境での企業利用ですか?

👍 はい
⬇️
💼

さらに質問:

  • 機密データを扱う?
  • コンプライアンス要件がある?
  • 厳格なアクセス制御が必要?
  • 監査ログが必要?
👎 いいえ
⬇️
🏦

AWSマネージドキー

推奨!
無料で簡単、
学習や開発に最適

1つでも「はい」なら
🔐

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

必須!
企業レベルの
セキュリティと制御

全て「いいえ」なら
🏦

AWSマネージドキー

おすすめ!
コスト効率と
シンプルさ重視

📈 実際の選択例と移行パターン

🏢 企業での典型的な段階的導入

1

Phase 1: 学習・開発段階

🏦 AWSマネージドキーのみ使用
→ 開発・テスト環境で暗号化を学習
→ コストゼロで暗号化の基本を体験
→ S3、RDS、EBSで基本的な暗号化を実装

2

Phase 2: 本番環境導入

🔐 本番のみカスタマーマネージド
→ 本番環境の機密データに対してのみ使用
→ アクセス制御と監査ログの重要性を実感
→ 開発環境は引き続きAWSマネージド

3

Phase 3: 成熟段階

⚖️ データの機密度に応じて使い分け
→ 機密度「高」:カスタマーマネージド
→ 機密度「中」:AWSマネージド
→ ログやキャッシュ:AWSマネージド

👤

個人・学習用途

🏦 AWSマネージド推奨
個人プロジェクト
学習・練習用
プロトタイプ開発

🏢

スタートアップ

🔀 混合利用
開発:AWSマネージド
本番:カスタマーマネージド
段階的にカスタマー移行

🏛️

大企業・金融

🔐 カスタマーマネージド
厳格なコンプライアンス
完全な監査要件
最高レベルの制御

🏥

医療・官公庁

🔐 カスタマーマネージド必須
患者データ保護
法的要件遵守
最高機密レベル

💡 移行のベストプラクティス

📋 段階的移行の手順:

  1. 現在の暗号化状況を把握 - どのサービスがどのキーを使用中か
  2. データの機密度分類 - 高・中・低に分けて優先度を決定
  3. パイロット導入 - 小規模なサービスでカスタマーマネージドを試験
  4. 段階的移行 - 機密度の高いデータから順次移行
  5. 監視・最適化 - CloudTrailログを活用して運用を改善

⚠️ 注意点: 既存のAWSマネージドキーからカスタマーマネージドキーへの直接変更はできません。データを復号化→再暗号化する必要があります。

💰 コスト比較と ROI 分析

💰 年間コスト比較(例)

🏦 AWSマネージドキー

$0

年間コスト
キー管理料金:無料
API使用料:約$5-50
(使用量による)

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

$12-60

年間コスト(1キー)
キー管理料金:$12/年
API使用料:約$5-50
(使用量による)

📊 ROI(投資収益率)の考え方

💰 カスタマーマネージドキーの追加コスト年間$12-60に対して:

  • 🛡️ セキュリティ強化 - データ漏洩リスク大幅削減
  • 📋 コンプライアンス遵守 - 監査費用削減、法的リスク回避
  • ⏰ 運用効率化 - 自動ローテーション、詳細ログによる問題の早期発見
  • 💼 ビジネス価値 - 顧客からの信頼向上、契約獲得の優位性

🎯 結論: 企業にとってカスタマーマネージドキーの年間数千円の投資は、
数百万円規模のセキュリティリスクを回避する非常に効果的な投資です。

🎯 まとめ

🔑 カスタマーマネージドCMK = 自分で管理する銀行の貸金庫の鍵

🏦 AWSマネージドCMK = 銀行におまかせする簡単な暗号化

👮 アクセス制御 = 誰が鍵を使えるかの細かい権限設定

🔄 自動ローテーション = 年1回の自動鍵交換サービス

📊 監査ログ = いつ誰が鍵を使ったかの完全記録


この理解で、 あなたのニーズに最適な暗号化戦略 を選択できます!


🎯 選択の指針:

  • 学習・開発段階 → AWSマネージドキーで始める
  • 本番環境・企業利用 → カスタマーマネージドキーを検討
  • 機密データ・コンプライアンス要件 → カスタマーマネージドキー必須
  • 段階的移行 → リスクとコストのバランスで判断

🚀 次のステップ:

  • 現在の暗号化ニーズを整理する
  • 小規模なテスト環境で実際に試してみる
  • チーム内でセキュリティ要件を議論する
  • 段階的な移行計画を立てる

Created by SSuzuki1063

AWS SAP Learning Resources

Created by SSuzuki1063

AWS SAP Learning Resources