変更要約: SOA-C02 第4章を Associate 級に深掘り(比較表・シナリオ・FAQ・ひっかけ+深掘り段落、図を日本語化)
4.2データ保護と暗号化(KMS・ACM)
保管時の暗号化(KMS による S3/EBS/RDS)、転送時の暗号化(TLS と ACM 証明書)、シークレット管理の運用を理解します。
データは保管時と転送時の両方で保護します。AWS では保管時を KMS、転送時を TLS(証明書は ACM) で守ります。
4.2.1保管時と転送時の暗号化
- KMS:S3(SSE)・EBS・RDS などの保管時暗号化の鍵を管理し、利用を監査できる。
- ACM:TLS 証明書を発行・自動更新し、ELB や CloudFront に適用して転送時を保護する。
- Secrets Manager / SSM パラメータストア:パスワードや API キーを暗号化保管する。
「保管時の暗号化鍵=KMS」「TLS 証明書の発行/自動更新=ACM」「証明書の期限切れ対策=ACM の自動更新」 は SOA で頻出です。EBS/RDS は作成時に暗号化を有効化するのが基本です。
データ保護は「保管時」と「転送時」を分けて考えます。保管時 は KMS の鍵で暗号化します。S3 は SSE-S3(AWS 管理キー)・SSE-KMS(KMS の CMK で鍵を管理・利用を CloudTrail で監査)・SSE-C(顧客提供キー)から選べ、EBS/RDS は作成時に暗号化を有効化します(既存の暗号化はあとから直接切り替えられない——スナップショットを暗号化コピーして作り直す)。アカウント既定で EBS 暗号化を強制する設定や、S3 のデフォルト暗号化も運用で重要です。転送時 は TLS(HTTPS) で守り、証明書は ACM が発行・自動更新します(ELB/CloudFront/API Gateway に適用。有効期限切れ=障害の定番原因 を ACM 自動更新で防ぐ)。シークレット(DB パスワード・API キー)は Secrets Manager(自動ローテーション)か SSM Parameter Store の SecureString(KMS 暗号化)に置き、コードや環境変数に平文で置きません。鍵ポリシー+IAM で「誰がどの鍵で暗号化/復号できるか」を制御し、誤用を防ぎます。
| 保護対象 | 手段 |
|---|---|
| S3/EBS/RDS の保管時 | KMS(SSE-S3/SSE-KMS/SSE-C) |
| 通信(転送時) | TLS+ACM 証明書(自動更新) |
| パスワード/API キー | Secrets Manager / Parameter Store |
| 既存の未暗号化 EBS | スナップショットを暗号化コピーして再作成 |
シナリオ:監査で「保管時暗号化と TLS 必須」を指摘された。 S3 は SSE-KMS を既定化し、EBS はアカウント既定の暗号化を有効化(既存ボリュームはスナップショットを暗号化コピーして差し替え)。公開エンドポイントには ACM 証明書を ELB/CloudFront に適用し、自動更新で期限切れを防止。DB 資格情報は Secrets Manager へ移し平文を排除します。
Q. 保管時暗号化の鍵は? KMS。Q. TLS 証明書の発行/自動更新は? ACM。Q. 既存の未暗号化 EBS は? スナップショットを暗号化コピーして再作成。Q. パスワードはどこに? Secrets Manager / Parameter Store(平文 NG)。Q. 証明書失効の事故を防ぐ? ACM の自動更新。
混同に注意:
①既存 EBS の暗号化はその場で切り替え不可——暗号化スナップショット経由で作り直す。
②SSE-S3 と SSE-KMS の違い(後者は鍵を自分で管理・監査可能)。
③ACM の自動更新は DNS 検証等の前提が満たされている場合のみ働く。
④証明書はリージョン依存(CloudFront 用は us-east-1)。
既存の暗号化されていない EBS ボリュームは、スナップショットをコピーする際に暗号化を有効化して再作成します。
4.2.2この節のまとめ
- 保管時=KMS/転送時=TLS(証明書は ACM・自動更新)
- シークレットはSecrets Manager/SSMで管理
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. ELB や CloudFront で使う TLS 証明書を発行し、自動更新もしたい。何を使いますか?
Q2. S3 や EBS の保管時暗号化に使う鍵を管理するサービスはどれですか?
Q3. 暗号化されていない既存 EBS ボリュームを暗号化したい。一般的な手順はどれですか?

