0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS SAA対策】AWS KMS / 暗号化まとめ ― 暗号化方式・キー管理・Multi-Region Key・設計パターンを整理する

0
Posted at

はじめに

AWS Solutions Architect Associate (SAA) の学習中に整理した AWS KMS / 暗号化 関連の知識をまとめました。
S3 の暗号化方式の選択、KMS キーの種類、Multi-Region Key の制約など、セキュリティ設計で問われるポイントを網羅しています。

本記事は個人の学習ノートをベースにしています。誤りがあればコメントでご指摘いただけると助かります。


サービス概要

S3 暗号化方式

方式 キー管理 暗号化処理 監査ログ
SSE-S3 S3 S3
SSE-KMS KMS S3
SSE-C 顧客 S3
クライアントサイド 顧客 顧客 -

判断のポイントです。

  • 監査ログが必要 → SSE-KMS 一択
  • キーは自前、暗号化処理は S3 → SSE-C
  • オーバーヘッドなし + 各オブジェクトに一意のキー → SSE-S3

KMS キーの種類

キー種類 自動ローテーション
AWS 管理キー(aws/s3 等) ✅(年次、制御不可)
Customer Managed Key ✅(有効化が必要)
インポートキー ❌(手動のみ)

KMS の重要ルール

  • シングルリージョンキー → マルチリージョンキーへの変換は不可
  • KMS キーは別リージョンに共有できない
  • マルチリージョンキーは作成時にマルチリージョンとして作成する必要がある
  • 暗号化は不可逆(未暗号化には戻せない)

S3 Bucket Keys

  • バケットレベルの KMS キーからローカルでデータキーを生成
  • KMS API 呼び出しを最大99%削減(コスト削減)
  • SSE-KMS のセキュリティ特性は維持

RDS 暗号化

  • DB 作成時のみ設定可能(後から有効化不可)
  • 未暗号化 DB → スナップショット → 暗号化コピー → 復元で暗号化
  • マスターが未暗号化なら Read Replica も暗号化不可

EBS 暗号化

  • 保存データ、スナップショット、転送中のすべてが暗号化
  • 暗号化は一方通行(不可逆)

暗号化レイヤー

レイヤー 方法 対象
At Rest(保存時) KMS 暗号化 ディスク上のデータ
In Transit(転送中) SSL/TLS ネットワーク通信

試験で問われる設計パターン


S3 暗号化系

暗号化 + 監査ログ + 年次キーローテーション → SSE-KMS

シナリオ: S3 に保存するデータを暗号化し、誰がいつ暗号化キーを使用したかの監査ログを残したいです。キーは年次で自動ローテーションさせたいです。

正解: SSE-KMS + 自動キーローテーション

  • 監査ログが必要 → SSE-KMS(SSE-S3 では不可)
  • インポートキーは自動ローテーション不可
  • CloudHSM は運用負荷が最大

SSE-KMS のコスト削減 → S3 Bucket Keys

シナリオ: SSE-KMS を使っていますが、KMS リクエストのコストが増大しています。暗号化を維持したままコストを削減するには?

正解: S3 Bucket Keys を有効化

  • KMS API 呼び出しを最大99%削減
  • SSE-S3 に切り替えると監査ログを失う

ファイルごとに異なる暗号化キー → SSE-S3

シナリオ: 各ファイルを異なるキーで暗号化したいですが、鍵管理のオーバーヘッドは避けたいです。

正解: 単一 S3 バケット + SSE-S3

  • SSE-S3 は各オブジェクトに一意のキーを自動生成
  • 複数バケットに分ける必要はない

自前キー + S3 で暗号化処理 → SSE-C

シナリオ: 暗号化キーはオンプレミスで管理していますが、暗号化処理は S3 に任せたいです。

正解: SSE-C

  • SSE-C: 顧客がキーを提供、S3 が暗号化処理を実行
  • クライアントサイド暗号化: 暗号化処理も顧客側

Multi-Region Key 系

S3 CRR + KMS 暗号化 → Multi-Region Key

シナリオ: S3 のデータを SSE-KMS で暗号化しつつ、別リージョンにクロスリージョンレプリケーション(CRR)したいです。Athena でクエリも行います。

正解: 新バケット作成(SSE-KMS Multi-Region Key)+ CRR + Athena

  • CRR で暗号化データをレプリケーションするなら両リージョンで同じキーが必要
  • Multi-Region Key が必須

KMS キーのリージョン変換

シナリオ: 既存のシングルリージョン KMS キーをマルチリージョンキーに変換できますか?

正解: できません

  • シングル → マルチリージョン変換は不可
  • KMS キーは別リージョンに共有できない
  • マルチリージョンキーは作成時にマルチリージョンとして作成する必要がある

RDS / EBS 暗号化系

暗号化 EBS ボリュームで暗号化されるもの(3つ選択)

シナリオ: EBS ボリュームの暗号化を有効にした場合、どのデータが暗号化されますか?

正解:

  1. 保存データ(at-rest)
  2. スナップショット
  3. インスタンス ⇔ ボリューム間(in-transit)
  • 暗号化 EBS = すべて暗号化、暗号化は不可逆

既存の未暗号化 RDS を暗号化

シナリオ: 既存の未暗号化 RDS データベースを暗号化する必要があります。

正解: スナップショット → 暗号化コピー → 復元 → 旧 DB 削除

  • 暗号化は DB 作成時のみ設定可能
  • コンソールから暗号化を有効化するオプションは存在しない

RDS データ転送中の暗号化 → SSL/TLS

シナリオ: RDS のデータを転送中に暗号化したいです。

正解: RDS で SSL/TLS を設定

  • at-rest = KMS、in-transit = SSL/TLS
  • RDS には SSH できない(SSH 関連の選択肢はダミー)

AMI の暗号化ルール

シナリオ: AMI の共有・コピー・暗号化について正しい記述を3つ選んでください。

正解:

  1. AMI はクロスリージョンコピー可能
  2. AMI は別 AWS アカウントと共有可能
  3. 暗号化スナップショットのコピーは暗号化解除不可
  • 暗号化は一方通行

おわりに

KMS / 暗号化は SAA のセキュリティドメインの中核です。「監査ログ → SSE-KMS」「コスト削減 → Bucket Keys」「シングル → マルチリージョン変換は不可」「暗号化は一方通行」という判断パターンを覚えておけば、ほとんどの問題に対応できます。

間違いや補足があればぜひコメントで教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?