変更要約: in-scope サービス網羅: ID管理(Cognito/Directory Service/IAM Identity Center)・鍵/証明書(CloudHSM/ACM)・脅威検出(GuardDuty/Inspector/Macie/Detective/Security Hub)・ネットワーク防御(Network Firewall/Firewall Manager)・コンプライアンス(Artifact/Audit Manager)を各節に追加
1.2データ保護と暗号化
保管時/転送時の暗号化、AWS KMS による鍵管理、S3/EBS/RDS の暗号化、Secrets Manager によるシークレット管理など、データ保護の設計を理解します。
データは 保管時(at rest)と転送時(in transit)の両方で保護します。AWS では鍵を KMS で一元管理し、各サービスの暗号化を有効にします。
1.2.1データ保護の要素
- 保管時の暗号化(at rest):KMS の鍵で S3・EBS・RDS・DynamoDB などを暗号化。多くは設定を有効にするだけ。
- 転送時の暗号化(in transit):TLS/HTTPS でクライアントとサービス間の通信を保護する。
- AWS KMS:暗号鍵を一元的に作成・管理し、利用を CloudTrail で監査できる。AWS 管理キーと、より制御できるカスタマー管理キーがある。
- Secrets Manager:DB 資格情報や API キー等のシークレットを保管し自動ローテーション。SSM Parameter Store は設定値・シークレットの保管(無料枠あり)。
| 守るもの | サービス/方法 | 補足 |
|---|---|---|
| 保管データ | KMS 暗号化(S3/EBS/RDS 等) | 鍵の利用を監査可 |
| 通信データ | TLS/HTTPS | 証明書は ACM で管理 |
| 暗号鍵 | AWS KMS | AWS管理/カスタマー管理 |
| シークレット | Secrets Manager / Parameter Store | 自動ローテーション可 |
設計の原則は「保管時も転送時も常に暗号化」です。AWS では多くのサービスで保管時暗号化が既定または1クリックで有効化でき、鍵は KMS が一元管理します。鍵には AWS が管理する既定キーと、ポリシーやローテーションを自分で制御できるカスタマー管理キーがあり、監査要件が厳しい場合は後者を選びます。シークレット(パスワード・接続文字列・API キー)はコードや環境変数に直書きせず、Secrets Manager(自動ローテーション対応)や SSM Parameter Store に保管してアプリは IAM ロール経由で取得します。通信の証明書は ACM(Certificate Manager) で発行・自動更新できます。
シナリオ:RDS を使う Web アプリ。 RDS とその EBS は KMS(カスタマー管理キー)で保管時暗号化、アプリ⇔RDS と利用者⇔ALB は TLS で転送時暗号化(証明書は ACM)。DB 接続情報は Secrets Manager に置き自動ローテーション、アプリは IAM ロールで取得(キー埋め込み禁止)。鍵の利用は CloudTrail で監査。
混同に注意:
①鍵=KMS/シークレット=Secrets Manager(or Parameter Store)——役割が別。
②保管時と転送時の両方を暗号化(片方だけにしない)。
③シークレットはコードに直書きせず、IAM ロールで取得。
④カスタマー管理キーと AWS 管理キーの違い(制御・監査の度合い)。
Q. KMS と Secrets Manager の違いは? KMS は暗号鍵の管理、Secrets Manager はパスワード等のシークレット管理(自動ローテーション)。Q. AWS 管理キーとカスタマー管理キーは? カスタマー管理キーはキーポリシーやローテーションを自分で制御でき監査要件に向く。Q. 証明書は? ACM で発行・自動更新し、ALB や CloudFront に紐づけます。
「鍵の管理=KMS(AWS管理/カスタマー管理)」「シークレットの管理・ローテーション=Secrets Manager」「証明書=ACM」、そして at rest(KMS)と in transit(TLS)を両方暗号化 は頻出です。シークレットはコード直書き禁止、IAM ロールで取得。
1.2.2その他の主要 in-scope サービス(鍵・証明書)
KMS や Secrets Manager に加えて、コンプライアンス要件が厳しい場合の鍵管理と証明書管理を押さえます。AWS CloudHSM は専有のハードウェアセキュリティモジュール(HSM)を提供し、鍵を顧客が単独で管理し、FIPS 140-3 レベル 3(現行 hsm2m タイプ)など厳格な要件や独自の鍵保管が要るときに選びます(KMS はマルチテナントのマネージド鍵で運用が簡単な点が違い)。AWS Certificate Manager(ACM)はSSL/TLS 証明書の発行・自動更新を行い、ELB や CloudFront に証明書を関連付けて転送時暗号化を運用負荷なく維持したいときに選びます。
| やりたいこと | サービス |
|---|---|
| 専有 HSM で鍵を単独管理(厳格要件) | AWS CloudHSM |
| TLS 証明書の発行・自動更新 | AWS Certificate Manager(ACM) |
1.2.3この節のまとめ
- 保管時(KMS)+転送時(TLS/ACM)の両方を常に暗号化
- KMS(鍵・AWS管理/カスタマー管理)/Secrets Manager(シークレット・自動ローテーション) を使い分け、IAM ロールで取得
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 暗号鍵を一元的に作成・管理する AWS サービスはどれですか?
Q2. データベースの資格情報などのシークレットを安全に保管し自動ローテーションできるサービスはどれですか?
Q3. データ保護のベストプラクティスとして最も適切なものはどれですか?

