CLF / ドメイン2 セキュリティとコンプライアンス

重要な内容

AWS KMS (Key Management Service)

は、データの暗号化に使う「」の作成と管理を行うです。 キーの作成、利用権限の管理、ローテーション(定期的な入れ替え)、利用履歴の記録までを AWS 側の安全な仕組みの上で行えます。

CLF では、KMS がを担当すること、 や などの多くのサービスと統合されていること、 や との違いを判断できることが重要です。

Point
  • KMS = Key Management Service(キー管理サービス) の略です。
  • 「データそのもの」ではなく、データを暗号化するための「鍵」を預かって管理するサービスです。
  • KMS のキーは FIPS 140-3 検証済みのハードウェアセキュリティモジュール(HSM)で保護され、暗号化されていない状態で KMS の外に出ることはありません。
  • 和訳

概要

データを暗号化すると、今度はそのを安全に守る必要があります。 はこの「鍵を守る」役割を引き受けるサービスで、利用者はキーを自分のサーバーに置かずに、KMS 上で作成・管理・利用できます。

KMS で扱う単位は「KMS キー」です。 代表的な使い道は、 のオブジェクト、 ボリューム、 データベースなどの(encryption at rest)です。

概要の図 キーの作成・権限管理 暗号化キーを提供 暗号化キーを提供 暗号化キーを提供 キー利用を記録 管理者 AWS KMSKMSキー Amazon S3 Amazon EBS Amazon RDS AWS CloudTrail

料金はで、キーの保管と リクエストなどに応じて支払います。 試験では、「保管時の暗号化とキー管理なら KMS」「転送時の暗号化は /」「専用ハードウェアの厳格な要件なら 」「パスワードなどのシークレット管理なら 」という切り分けを判断します。


主要技術

①KMSキーの種類

キーには、誰が作成・管理するかによっていくつかの種類があります。 CLF では細かい仕様よりも、「自分で管理できる範囲が違う」ことを押さえます。

キーの種類特徴判断ポイント
利用者が作成し、キーポリシーやローテーション設定を自分で管理します。キーの権限や運用を細かく制御・監査したい場合に選びます。
AWS管理キーAWS サービスが利用者のために作成・管理するキーです。手軽に暗号化を有効にしたい場合に使われます。ローテーションは AWS が自動で行います。
AWS所有キーAWS が複数アカウント向けに保有・管理するキーです。利用者からは見えず、管理もできません。

キーへのアクセスはキーポリシーや で制御します。 「誰がこのキーで暗号化・復号できるか」を管理できることが、KMS を使う大きな利点です。

Point
  • CMK(Customer Master Key) という旧称が問題集などに残っていることがありますが、現在は KMS キー(KMS key) と呼びます。
  • カスタマー管理キー = 自分で管理する鍵、AWS管理キー = AWS に任せる鍵 と覚えます。

②保管時の暗号化とAWSサービス統合 ⚠️ 頻出

(encryption at rest)は、ディスクやストレージに保存されているデータを暗号化して守ることです。 は 、、、 など多くの AWS サービスと統合されており、サービス側の設定で KMS キーを指定するだけで保管時の暗号化を有効にできます。

統合先サービス暗号化の対象判断ポイント
Amazon S3内のオブジェクトS3 管理キー()よりキーの管理・監査を強めたい場合に KMS キー()を選びます。
Amazon EBSボリュームと のディスクを保管時に暗号化します。
Amazon RDSデータベースとバックアップデータベースの保管時暗号化に使います。
Amazon DynamoDBテーブルのデータ保管時の暗号化に KMS のキーが使われます。

では、暗号化の仕組みを提供するのは AWS、どのデータをどのキーで暗号化するかを設定するのは利用者の責任です。

Point
  • encryption at rest = 保管時の暗号化 です。rest は「静止・休んでいる状態」、つまり保存されて動いていないデータを指します。
  • 「置いてあるデータを守る = at rest = KMS」と覚えます。
  • 和訳

⚠️ 頻出: 「S3 や EBS のデータを保管時に暗号化し、キーを一元管理したい」という要件は AWS KMS が答えになります。


③転送時の暗号化との役割分担(ACM/TLS) ⚠️ 頻出

暗号化には、保管時(at rest)と転送時(in transit)の2つの場面があります。 転送時の暗号化はネットワーク上を流れるデータを守ることで、()通信と、その証明書を管理する (ACM)が担当します。

③転送時の暗号化との役割分担(ACM/TLS) ⚠️ 頻出の図 HTTPS/TLS転送時の暗号化ACMの証明書 利用者 ロードバランサー等 アプリケーション S3/EBS/RDS保管時の暗号化KMSのキー
観点(at rest)転送時の暗号化(in transit)
守る対象ストレージやデータベースに保存されたデータネットワーク上を移動中のデータ
主な仕組み のキーによるサーバー側暗号化TLS(HTTPS)による
関連サービスAWS KMS、AWS Certificate Manager(ACM)
判断ポイント「保存データの暗号化」「キーの管理・監査」で選びます。「通信の暗号化」「/TLS 証明書の発行・更新」で選びます。

ACM は SSL/TLS 証明書の発行・保管・自動更新を行うサービスで、 や などと統合されています。 ACM が管理するパブリック証明書自体に追加料金はかかりません。

Point
  • in transit = 転送中・輸送中 という意味です。transit は「通過・輸送」 を指します。
  • at rest(置いてあるデータ)= KMS、in transit(動いているデータ)= TLS/ACM とセットで覚えます。
  • 和訳

⚠️ 頻出: 「Web サイトへの通信を HTTPS で暗号化したい」「SSL/TLS 証明書を管理したい」は KMS ではなく ACM を選びます。


④キーローテーション

は、同じ鍵を長期間使い続けるリスクを減らすために、キーの中身(キーマテリアル)を定期的に新しくする仕組みです。 要件で「鍵の定期的な交換」が求められる場合に使います。

  • では、自動キーローテーションを有効にできます。既定では1年(365日)ごとに新しいキーマテリアルが生成されます。
  • AWS 管理キーは、AWS が毎年自動的にローテーションします。利用者が設定を変えることはできません。
  • ローテーション後も、過去に暗号化したデータは が適切な世代のキーマテリアルで自動的に復号するため、アプリケーションの変更や再暗号化は不要です。

⚠️ 頻出: 「を定期的に自動で入れ替えたい」という要件は、KMS の自動キーローテーションが答えになります。


⑤CloudTrailによるキー利用の記録

は と統合されており、キーの作成や設定変更だけでなく、暗号化・復号などのキー利用の 呼び出しも記録されます。 「いつ、誰が、どのキーを使ったか」を後から監査できるため、要件のある環境で重要です。

⚠️ 頻出: 「の使用履歴を監査したい」は、KMS + CloudTrail の組み合わせで実現します。KMS 自体は記録を保存するサービスではなく、記録するのは CloudTrail です。


⑥AWS CloudHSMとの違い ⚠️ 頻出

は、利用者専用(単一テナント)のハードウェアセキュリティモジュール()を AWS クラウド上で利用できるサービスです。 がマネージドで手軽なのに対し、CloudHSM は専用ハードウェアを自分で管理する分、キーに対する統制が強くなります。

観点AWS KMSAWS CloudHSM
ハードウェアAWS が管理する HSM を複数の利用者で共有します(マルチテナント)。利用者専用の HSM です(シングルテナント)。
管理の手間マネージドで手軽に使えます。HSM 上のユーザーやキーの管理など、利用者の責任範囲が広くなります。
AWSサービス統合、、 など多数のサービスと統合されています。KMS のような幅広いサービス統合は前提としません。
判断ポイント一般的なとキー管理はこちらを選びます。「専用ハードウェア」「単一テナント」「厳格な・規制要件」「キーを完全に自社管理」というキーワードで選びます。
Point
  • HSM = Hardware Security Module(ハードウェアセキュリティモジュール) の略です。暗号化キーを安全に保管・処理する専用装置です。
  • テナント(tenant)は「借りている人・入居者」 という意味です。
    • マルチテナント = 1つの設備を複数の利用者で共有
    • シングルテナント = 設備を1利用者で専有
  • 「専有の金庫が必要なら CloudHSM、共有の貸金庫サービスでよければ KMS」というイメージで覚えます。
  • 和訳

⚠️ 頻出: 「専用のハードウェアでを管理する厳格な規制要件がある」場合は KMS ではなく CloudHSM を選びます。


⑦AWS Secrets Managerとの違い

は、データベースの認証情報、 キー、OAuth トークンなどの「シークレット(秘密情報)」を保管し、自動ローテーションできるサービスです。 が「」を管理するのに対し、Secrets Manager は「パスワードなどの秘密情報そのもの」を管理します。

観点AWS KMSAWS Secrets Manager
管理する対象データを暗号化するためのキーデータベース認証情報、API キーなどのシークレット
主な用途、キーの権限管理と監査ハードコーディングの排除、シークレットの安全な取得
ローテーションキーマテリアルの自動ローテーションシークレット(パスワード等)の自動ローテーション
関係Secrets Manager のシークレットは KMS のキーで暗号化されます。内部で KMS を利用します。
判断ポイント「暗号化キー」「encryption key」で選びます。「データベースのパスワード」「認証情報の自動ローテーション」で選びます。
Point
  • Secret(シークレット)は「秘密」 という意味で、ここではパスワードや API キーなどの秘密情報を指します。
  • 覚え方
    • KMS = 鍵(Key)を管理
    • Secrets Manager = 秘密情報(パスワード等)を管理
  • 「何をローテーションするか」で区別します。鍵なら KMS、パスワードなら Secrets Manager です。
  • 和訳

⚠️ 頻出: 「データベースの認証情報を安全に保管し、自動的にローテーションしたい」は KMS ではなく Secrets Manager を選びます。


試験対策

CLF の問題では、まず「何を守りたいのか」を確認します。 保存データのなら 、なら /、パスワードなどのシークレットなら 、専用ハードウェア要件なら と整理すると選びやすくなります。

問題文のキーワード優先して考える機能・サービス理由
暗号化キーの作成と一元管理AWS KMSキー管理のです。
/ / のAWS KMS多くの AWS サービスと統合されています。
暗号化キーを定期的に自動交換KMS のキーマテリアルを自動で更新できます。
キーの使用履歴を監査KMS + キー利用の 呼び出しが記録されます。
/TLS 証明書の発行・更新、通信の暗号化AWS Certificate Manager(ACM)転送時の暗号化は証明書と TLS の役割です。
専用ハードウェア・単一テナント・厳格な規制要件AWS CloudHSM利用者専用の を利用できます。
データベース認証情報の保管と自動ローテーションAWS Secrets Managerシークレット管理の専用サービスです。
誰がどんな操作をできるかの制御権限管理は IAM の役割です。

よくある誤答パターンは次のとおりです。

  • 「暗号化」という言葉だけで KMS を選ぶこと。通信(/TLS)の暗号化や証明書の管理が問われている場合は ACM が正解です。
  • 「キー」という言葉だけで KMS を選ぶこと。API キーやデータベースのパスワードは暗号化キーではなくシークレットなので、Secrets Manager が正解です。
  • 「」だけで CloudHSM を選ぶこと。一般的な暗号化とキー管理の要件は KMS で満たせます。CloudHSM は「専用ハードウェア」「単一テナント」が明示された場合に選びます。
  • キー利用の記録を KMS 自体の機能と考えること。操作履歴を記録するのは CloudTrail です。

参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください