Uncategorized

151-160

以下がご要望の形式に沿った出力です。


■ 問題文

【SCS-151】システムエンジニアは、内部に展開された仮想セキュリティアプライアンスを含むテスト環境の接続性をトラブルシューティングしています。
開発チームは、仮想セキュリティアプライアンスの使用に加えて、セキュリティグループとネットワークACLを使用して、環境内のさまざまなセキュリティ要件を達成したいと考えています。
仮想セキュリティアプライアンスがトラフィックをルーティングできるようにするには、どのような構成が必要ですか?


■ 選択肢

A. ネットワークACLを無効にする。
B. セキュリティアプライアンスのENIをプロミスキャスモードに設定する。
C. セキュリティアプライアンスのENIのネットワークソース/デスティネーションチェックを無効にする。
D. セキュリティアプライアンスをインターネットゲートウェイのあるパブリックサブネットに設置する。


■ 正解と解説

正解:C
解説:
仮想セキュリティアプライアンスが中間ノードとして他のインスタンスからのトラフィックを処理(転送)するには、ENI(Elastic Network Interface)に対するソース/デスティネーションチェックを無効にする必要があります。
デフォルトでは、EC2インスタンスは送信元または宛先が自分自身でないトラフィックを破棄するため、中継ノードとして機能できません。


■ 不正解の選択肢の理由

A. ネットワークACLを無効にする。
→ ネットワークACLは無効化できませんし、通常はステートレスフィルタリングとして併用可能です。本件の本質的な問題ではありません。

B. セキュリティアプライアンスのENIをプロミスキャスモードに設定する。
→ AWSのENIには「プロミスキャスモード」は存在しません。これはオンプレミスのネットワークデバイスの用語で、AWSには無関係です。

D. セキュリティアプライアンスをインターネットゲートウェイのあるパブリックサブネットに設置する。
→ これはインターネット接続に関する設定であり、内部トラフィックのルーティングに関する問題の解決にはなりません。


■ SCS試験で押さえておくべきポイント

  • EC2インスタンスを仮想アプライアンス(中継)として使う場合は、source/destination check を無効化する。
  • ネットワークACLはステートレスな制御で、セキュリティグループと併用できる。
  • ENIの振る舞いや設定(source/dest check、アタッチ可能数)も問われやすい。
  • SCS試験ではセキュリティ設計の構成に関する知識が実務レベルで問われる。

他の問題も続けていただければ、同様に解析いたします。

ありがとうございます。ご提供いただいた解説を踏まえて、【SCS-152】の問題を再構成し、正確に出力します。


■ 問題文

【SCS-152】将来、鍵の漏洩によって意図せず公開されるデータの範囲を最小化することに焦点を当てたAWS Key Management Service(KMS)の使用に関する鍵管理のベストプラクティスはどれですか


■ 選択肢

A. KMSの自動キーローテーションを使用してマスターキーを交換し、この新しいマスターキーを今後の暗号化操作に使用することで、以前に暗号化されたデータを再暗号化することなく使用できる。
B. 新しいカスタマーマスターキー(CMK)を生成し、新しいCMKで既存のすべてのデータを再暗号化し、今後のすべての暗号化操作に使用する。
C. 90日ごとにCMKエイリアスを変更し、キーコールアプリケーションを新しいキーエイリアスで更新する。
D. CMKの権限を変更し、鍵をプロビジョニングできる個人と鍵を使用できる個人が同じでないことを確認する。


■ 正解と解説

正解:A

解説:
KMSのベストプラクティスでは、自動キーローテーションを有効にして、マスターキーの定期的な更新を行うことが推奨されています。
この機能により、古いキーは過去のデータの復号に保持され、新しいキーは以降の暗号化に使用されるため、再暗号化の必要なくセキュリティリスクを軽減できます。
▶ 公式ドキュメント参照:
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/rotate-keys.html


■ 不正解の選択肢の理由

B. 新しいCMKで既存データを再暗号化する
→ 再暗号化にはコストと手間がかかり、KMSでは一般的に推奨されていません。さらに、古いキーをバックアップして復号できるようにしなければならず、運用が複雑になります。

C. CMKエイリアスを90日ごとに変更する
→ エイリアス自体は「ポインタ」であり、セキュリティ上の意味はありません。また、エイリアス名の変更よりもポインタ先のキーを切り替えるのが正しい使い方で、アプリケーション側の変更は不要です。
▶ 参考: KMSエイリアス

D. 鍵のプロビジョニング者と使用者を分離する
→ これはアクセス制御の考え方としては有効ですが、鍵漏洩による影響範囲の最小化には直接結びつかないため、本設問の意図とは異なります。


■ SCS試験で押さえておくべきポイント

  • KMSの自動キーローテーションは有効化すべきセキュリティベストプラクティス。
  • ローテーションにより過去データは古いキーで、以降は新しいキーで暗号化される(再暗号化は不要)。
  • CMKエイリアスは参照名であり、セキュリティ制御ではない。
  • 再暗号化は特別なケースで実施すべきで、通常は非推奨。

他の問題があれば、引き続き対応いたします。

以下に、【SCS-153】の問題について、指定フォーマットで再構成した内容を提示します。


■ 問題文

【SCS-153】セキュリティエンジニアは、現在の仮想 MFA デバイスに障害がある IAM ユーザーに仮想多要素認証 (MFA) デバイスを割り当てようとしています。
セキュリティエンジニアは、セキュリティエンジニアが iam:DeleteVirtualMFADevice を実行する権限がないことを示すエラーメッセージを受け取ります。
セキュリティエンジニアが使用している IAM ロールには、仮想 MFA デバイスを削除、一覧表示、および作成するための適切な権限があります。
IAM ユーザーには、自分の仮想 MFA デバイスを削除する権限もありますが、それは IAM ユーザーが MFA で認証されている場合のみです。
セキュリティエンジニアはこの問題を解決するために何をすべきですか?


■ 選択肢

A. IAM ユーザーのポリシーを変更して、IAM ユーザーが MFA 認証を使用せずに仮想 MFA デバイスを削除できるようにします。
B. AWS アカウントのルートユーザーとしてサインインします。IAM コンソールを使用して MFA デバイスを変更し、新しい同期クイック レスポンス (QR) コードを生成します。
C. AWS CLI または AWS API を使用して、仮想 MFA デバイスの ARN を見つけ、デバイスを削除します。
D. AWS アカウントのルートユーザーとしてサインインします。IAM コンソールを使用して、仮想 MFA デバイスを削除します。


■ 正解と解説

正解:C

解説:
IAMユーザーがMFA認証済みでない場合、ポリシー上の許可があってもMFAデバイスの削除はできません。
そのため、CLIやAPIを使用して、管理者が直接仮想MFAデバイスのARNを特定し、DeleteVirtualMFADevice アクションで削除するのが正解です。これにより新しいMFAデバイスを割り当てられる状態に戻すことができます。

▶ 参考ドキュメント:
AWS公式 – 自分の MFA デバイスを管理する


■ 不正解の選択肢の理由

A. IAMユーザーのポリシーを変更して…
→ セキュリティを弱体化する対応であり、MFA未使用時に自己デバイス削除を許可するのはベストプラクティスに反する

B. ルートユーザーでQRコードを生成する
→ MFAデバイスの再登録ではなく、削除が必要な状態。QRコードの生成はこの問題の解決にはならない。

D. ルートユーザーでコンソールから削除
→ 誤解しがちだが、ルートユーザーを使うことなく、IAM管理者権限とCLI/API操作で完結可能。ルートユーザーの使用は極力避けるべき。


■ SCS試験で押さえておくべきポイント

  • IAMユーザーが自分の仮想MFAデバイスを削除するにはMFA認証済みである必要がある
  • 管理者はCLIまたはAPIからMFAデバイスの削除操作が可能
  • ルートユーザーの使用は最終手段として制限するのがベストプラクティス。
  • IAMの操作における**MFA関連の条件付きアクセス制御(Condition要素)**の挙動を理解しておくこと。

次の問題もお待ちしています。精確かつ効率的に解説いたします。

以下に【SCS-154】の問題について、正確な内容を踏まえてフォーマットに沿って出力します。


■ 問題文

【SCS-154】あるセキュリティアーキテクトは、既存のセキュリティアーキテクチャをレビューし、アプリケーションサーバーがデータベースサーバーへの接続が、できない理由を特定するように依頼されました。
データベースサーバー、アプリケーションサーバー、Webサーバーは、3つの異なるプライベートサブネットに設定されています。
パブリックサブネットのルートテーブルには、インターネットゲートウェイへの0.0.0.0/0のルートがあります。
プライベートサブネットのルートテーブルには、NATゲートウェイへの0.0.0.0/0ルートがあります。
各サブネットには、すべてのインバウンドおよびアウトバウンド接続を必要なポートとプロトコルのみに制限するネットワークACLが実装されています。
また、データベース、アプリケーションサーバー、Webサーバーにはそれぞれセキュリティグループ(SG)が存在します。
各セキュリティグループは、すべてのインバウンドとアウトバウンドの接続を必要最小限に制限します。
次のうち、アーキテクトが検証すべき選択肢はどれですか?


■ 選択肢

A. データベースサーバーのアウトバウンドのSG設定、アプリケーションサーバーのインバウンドのSG設定、データベースがあるサブネットのインバウンドとアウトバウンドのネットワークACLの設定、アプリケーションサーバーがあるサブネットのインバウンドとアウトバウンドのネットワークACL設定
B. データベースサーバーのインバウンドのSG設定、アプリケーションサーバーのアウトバウンドのSG設定、データベースサブネットのインバウンドとアウトバウンドのネットワークACLの設定、アプリケーションサーバーがあるサブネットのインバウンドとアウトバウンドのネットワークACL設定
C. データベースサーバーのインバウンドとアウトバウンドのSG設定、アプリケーションサーバーのインバウンドとアウトバウンドのSG設定、データベースがあるサブネットのインバウンド・ネットワークACL設定、アプリケーションサーバーがあるサブネットのアウトバウンド・ネットワークACL設定
D. データベースサーバのインバウンドのSG設定、アプリケーションサーバのアウトバウンドのSG設定、データベースがあるサブネットのインバウンドのネットワークACL設定、アプリケーションサーバがあるサブネットのアウトバウンドのネットワークACL設定


■ 正解と解説

正解:B

解説:
アプリケーションサーバーがデータベースサーバーに接続するには、以下が両方向で許可されている必要があります:

  1. アプリケーションサーバーのアウトバウンドSG → DBポート(例: TCP 3306)に対する送信許可
  2. データベースサーバーのインバウンドSG → APサーバーからのトラフィックを受信許可
  3. ネットワークACL(サブネットレベル)
    • APサーバー側の アウトバウンドACL(送信)と
    • DBサーバー側の インバウンドACL(受信)
    • その逆方向の 戻り通信 も許可されている必要がある

→ これらすべてを確認する選択肢 B が正解です。


■ 不正解の選択肢の理由

A. DBのアウトバウンドSGを確認する必要はない
→ 通信はAPサーバー → DBサーバーの方向なので、DBのアウトバウンドSGは関係ありません。

C. SGとACLの一部が不要・不足
→ 双方向のACLを満たしていない構成であり、SG設定も不適切に広く確認しすぎています(無関係な設定を含む)。

D. ACLの片方向しか確認していない
一方向のみのACLチェックでは通信不通の原因を見落とす可能性があります。


■ SCS試験で押さえておくべきポイント

  • 通信トラブルの原因を特定する際には、SG(インスタンスレベル)とACL(サブネットレベル)の両方を確認すること。
  • SGはステートフル(戻り通信は自動で許可)、ACLはステートレス(双方向明示的に許可が必要)
  • 通信方向に注目し、送信元のアウトバウンドと宛先のインバウンドを確認するのが基本。
  • プライベートサブネット同士の通信であっても、ACLやSG設定ミスがボトルネックになることがある。

続けて他の問題も歓迎です。出題意図に即した整理をいたします。

以下に【SCS-155】の問題について、正解・解説を含めてフォーマットに従って出力いたします。


■ 問題文

【SCS-155】ある組織は、多数のリモートワーカーがデータファイルを送信するシステムを AWS に導入しています。
ファイルサイズは数キロバイトから数メガバイトです。
最近の監査で、信頼できないネットワーク上で転送中のデータファイルが暗号化されていないという可能性が発見されました。
どのソリューションが、必要な労力を最小限に抑えながら、監査の指摘を是正できるでしょうか。


■ 選択肢

A. IAMにSSL証明書をアップロードし、秘密鍵のパスフレーズでAmazon CloudFrontを設定する。
B. クライアント側でKMS.Encrypt()を呼び出し、データファイルの内容を渡し、サーバ側でKMS.Decrypt()を呼び出す。
C. AWS Certificate Managerを使用して、Webサービスのサーバーの前にあるElastic Load Balancingに証明書をプロビジョニングする。
D. Amazon VPC VPNエンドポイントを持つ新しいVPCを作成し、WebサービスのDNSレコードを更新する。


■ 正解と解説

正解:C

解説:
通信中のデータ(in-transit)の暗号化を確実にするために、HTTPS(TLS)を用いた接続を実現するのが最も効率的で一般的です。
AWS Certificate Manager (ACM) を使えば、無料でTLS証明書を発行・管理でき、Elastic Load Balancer (ELB) に組み込むことで、リモートクライアントとの安全なHTTPS通信を実現できます。
これは構築の手間が少なく、運用も簡素で、監査指摘への是正にも適した方法です。

▶ 参考:ELB + SSL証明書の公式ドキュメント


■ 不正解の選択肢の理由

A. IAMにSSL証明書をアップロードし、CloudFrontを設定する
→ IAMに証明書をアップロードするのは非推奨で、CloudFrontにはACMで発行した証明書を使う方がよい。また、CloudFront構成は本件の要件に対して過剰。

B. KMS.Encrypt()でクライアントサイド暗号化
KMS.Encrypt()4KBまでのデータしか直接暗号化できません。ファイルが数MBである以上、Envelope Encryptionなどを使う必要があり、労力も大きいため不適。

D. VPN接続を構成してDNSを更新
→ VPNの設定やDNS変更は労力が大きく、クライアント側の変更も必要なため、「最小限の労力」という条件に合いません。


■ SCS試験で押さえておくべきポイント

  • 通信の暗号化(in-transit)にはHTTPS+ACM証明書+ELBがもっとも一般的で安全。
  • ACMは無料で証明書を発行でき、ELBと統合しやすい。
  • **KMSの直接暗号化にはサイズ制限(4KB)**があるため、実ファイルの暗号化には適さない。
  • セキュリティ対応の方針では「効果的かつ最小限の労力で是正可能な方法」を優先的に選ぶのが基本。

他の問題も引き続きお待ちしています。明快かつ正確に解説いたします。

以下に【SCS-156】の問題を指定フォーマットに従って出力します。


■ 問題文

【SCS-156】ある企業には、何千もの AWS Lambda 関数があります。
セキュリティエンジニアは、Lambda 関数を確認しているときに、機密情報が環境変数に保存されていて、Lambda コンソールでプレーンテキストとして表示できることを発見しました。
機密情報の値の長さは数文字程度です。
このセキュリティの問題に対処するための最も費用対効果の高い方法は何ですか?


■ 選択肢

A. Lambda コンソールから IAM ポリシーをセットアップして、環境変数へのアクセスを非表示にします。
B. AWS Step Functions を使用して環境変数を保存します。実行時に環境変数にアクセスします。 IAM アクセス許可を使用して、環境変数へのアクセスを、アクセスが必要な Lambda 関数のみに制限します。
C. 環境変数を AWS Secrets Manager に保存し、実行時にアクセスします。 IAM アクセス許可を使用して、シークレットへのアクセスを、アクセスが必要な Lambda 関数のみに制限します。
D. 環境変数を安全な文字列パラメータとして AWS Systems Manager Parameter Store に保存し、実行時にそれらにアクセスします。IAM アクセス許可を使用して、パラメータへのアクセスを、アクセスが必要な Lambda 関数のみに制限します。


■ 正解と解説

正解:D

解説:
Lambda 関数で機密情報を安全に扱うには、AWS Systems Manager Parameter Store の「セキュア文字列(SecureString)」に保存し、実行時に GetParameter API で呼び出す方法が推奨されます。
これは無料枠が存在し、Secrets Managerよりもコストが低く
、小さな文字列(今回のように「数文字」)の保存に非常に適しています。
IAMポリシーでアクセス可能なLambda関数を限定することで、セキュリティも確保できます。


■ 不正解の選択肢の理由

A. IAMポリシーで環境変数を非表示にする
→ Lambdaの環境変数はコンソール上でプレーンテキスト表示が可能で、IAMで非表示制御する仕組みはありません。不適切。

B. AWS Step Functions で環境変数を保存
→ Step Functions は状態遷移の定義・制御に使用するもので、機密情報の保存用途ではない。誤り。

C. AWS Secrets Manager に保存
→ 有効な方法ではあるが、Secrets Manager は Parameter Store より高コストなため、費用対効果の観点から劣る。今回の用途(数文字)ではオーバースペック。


■ SCS試験で押さえておくべきポイント

  • Lambdaの環境変数はプレーンテキストで表示可能。機密情報の保存には不適。
  • SSM Parameter Store(SecureString)は低コストかつセキュアな値の保存手段
  • Parameter Store や Secrets Manager で保存した情報には、IAMポリシーで細かくアクセス制御可能。
  • Secrets Manager はより高度なローテーション機能などがあるが、コストも高いため使い分けが重要。

次の問題もあればどうぞ。引き続き丁寧に解説します。

以下に【SCS-158】の問題を、指定のフォーマットに従って整理・解説いたします。


■ 問題文

【SCS-158】あるユーザーが、Amazon EC2インスタンスにサードパーティ製のWebアプリケーションを実装しています。
すべてのクライアント通信はHTTPSである必要がありますが、HTTPSトラフィックはインスタンスに到達する前に終了させなければなりません。
インスタンスへの通信はポート80を経由する必要があります。
会社のポリシーでは、ワークロードはプライベートサブネットに存在することが必要です。
どのソリューションがこれらの要件を満たしていますか?


■ 選択肢

A. アプリケーションロードバランサーを作成する。ポート 80 の HTTP リスナーを追加して、ポート 443 の HTTPS にトラフィックをリダイレクトします。AWS Certificate Manager (ACM) の証明書を終端とする別のリスナーを追加し、ポート 80 を介してターゲットインスタンスに転送するルールを追加します。
B. SSL終端を有効にしているElastic IPアドレスを割り当てる。Elastic IPアドレスをポート80でインスタンスに関連付ける。
C. Gateway Load Balancerを作成します。ポート443のHTTPSにトラフィックをリダイレクトするために、ポート80のHTTPリスナーを追加します。AWS Certificate Manager (ACM) の証明書を終端とする別のリスナーを追加し、ポート80を介してターゲットインスタンスに転送するルールを追加します。
D. ネットワークロードバランサーを実装します。ポート 80 に対して HTTP リスナーを追加し、トラフィックをポート 443 の HTTPS にリダイレクトします。AWS Certificate Manager (ACM) の証明書を終端とする別のリスナーを追加し、ポート 80 を介してターゲットインスタンスに転送するルールを追加します。


■ 正解と解説

正解:A

解説:
このケースでは、以下の要件があります:

  • クライアント通信は HTTPS 必須
  • インスタンスは HTTP (ポート80) で通信
  • ワークロードは プライベートサブネット内

アプリケーションロードバランサー (ALB) は HTTPS トラフィックを終端し、HTTP に変換してターゲットに送信する機能を持ち、
さらに ACM による証明書管理が可能で、プライベートサブネットに配置された EC2 インスタンスにも転送できます。
ALB は Layer 7 ロードバランサーとして、HTTPS→HTTPの終端と転送要件に完全に合致します。


■ 不正解の選択肢の理由

B. Elastic IP を使ってSSL終端する
→ Elastic IP は単なる静的IPアドレス。SSL終端の機能は持たないため誤り。

C. Gateway Load Balancer
→ Gateway Load Balancer は主に 仮想アプライアンス(ファイアウォールなど)とのトラフィック中継が目的。HTTPS終端には不適

D. ネットワークロードバランサー (NLB)
→ NLB は Layer 4 ロードバランサーで、基本的に TCP/UDP転送が主。HTTPS終端機能を持たず、HTTPリダイレクトなども不可。


■ SCS試験で押さえておくべきポイント

  • HTTPSトラフィックの終端が必要な場合は、Application Load Balancer(ALB)を使用
  • ALB + ACM によるTLS終端と、HTTPでのバックエンド通信の構成は、Webアーキテクチャで頻出。
  • NLBやGWLBにはHTTPS終端やリダイレクトの機能はない。用途の違いを理解すること。
  • プライベートサブネット配置が求められる場合でも、ALBは適用可能(内部ALB構成)。

次の問題もお気軽にどうぞ。試験に必要な論点を丁寧に解説いたします。

以下に【SCS-159】の問題について、指定の形式で正解・解説を出力いたします。


■ 問題文

【SCS-159】ある会社のセキュリティエンジニアは、すべてのAWSアカウントのルートユーザーのアクティビティを監視し、報告するように要求されました。
次の内、セキュリティエンジニアはルートユーザのアクティビティを監視し報告するを可能にするものはどれでしょうか(2つを選んでください)。


■ 選択肢

A. 有料アカウントのルートユーザーAPI呼び出しを監視するためのAWS Organizationsの設定をしようする。
B. ルートユーザーからのAPIコールが報告されたときにトリガーするAmazon CloudWatch Eventsルールを作成する。
C. Amazon Inspectorを設定して、AWSアカウントでルートユーザーのアクティビティをスキャンする。
D. ルートユーザーがコンソールにログインした際に、セキュリティチームにメールを送信するようにAWS Trusted Advisorを設定する。
E. Amazon SNSを使用して対象グループに通知する。


■ 正解と解説

正解:B と E


B. ルートユーザーからのAPIコールが報告されたときにトリガーするAmazon CloudWatch Eventsルールを作成する。
→ CloudTrail でルートユーザーのAPIアクティビティを記録し、それを CloudWatch Logs に配信することで、CloudWatch Events(または EventBridge)ルールで検知が可能になります。


E. Amazon SNSを使用して対象グループに通知する。
→ CloudWatch Events ルールのアクションとして SNS を利用することで、メールやSMS、Lambdaなどに通知を中継できます。ルートユーザーアクティビティを即時通知できます。


■ 不正解の選択肢の理由

A. AWS OrganizationsでルートユーザーのAPI呼び出しを監視する
→ AWS Organizations はアカウント管理と SCP(Service Control Policies)を提供しますが、CloudTrailベースのアクティビティ監視機能は提供していません


C. Amazon Inspectorでルートユーザーのアクティビティをスキャンする
→ Inspector は主に EC2 や Lambda の 脆弱性スキャンやセキュリティ評価を行うサービスで、ユーザーの行動監視には対応していません


D. AWS Trusted Advisorでルートユーザーのログイン通知を設定する
→ Trusted Advisor はベストプラクティスや設定チェックを行うサービスであり、通知機能は持たず、ログイン検知にも対応していません。


■ SCS試験で押さえておくべきポイント

  • CloudTrail でルートユーザーのアクティビティを記録することが可能。
  • CloudWatch Events (EventBridge) を使って特定の API イベント(例: root によるログイン、アクション)を検出可能。
  • SNS通知連携により、即時アラート体制を構築できる。
  • Organizations、Inspector、Trusted Advisorの用途・機能の違いを明確に理解しておくこと。

次の問題も続けてどうぞ。的確に解説いたします。

以下に【SCS-160】の問題を指定の形式で解説付きで出力します。


■ 問題文

【SCS-160】ある企業は、ローカル環境でデータを暗号化しようとしており、暗号化キーの管理についてセキュリティ要件を満たす必要があります。
セキュリティ要件では、1つの暗号化キーの利用可能期間は10日間であり、同じ暗号化キーでは2¹⁶(65536個)以上のオブジェクトを暗号化できません。
また、暗号化キーはFIPS検証済みのハードウェアセキュリティモジュール(HSM)で生成する必要があります。
この企業は5つのデータプロダクション環境を継続的に運用するために、毎秒平均100個のオブジェクトをAmazon S3にアップロードすることを計画しています。
これらの要件を最もコスト効率よく満たす方法はどれでしょうか?


■ 選択肢

A. AWS Encryption SDKを使用し、有効期限を10日に設定し、暗号化されたメッセージの最大数を2¹⁶に設定する。AWS KMSを使用して、マスターキーとデータキーを生成する。暗号化処理時にEncryption SDKでデータキーキャッシングを使用する。
B. AWS KMSを使用して、AWSマネージドCMKを生成する。その後、すべてのオブジェクトで自動的に回転するように構成されたAmazon S3クライアントサイドの暗号化を使用する。
C. AWS CloudHSMを使用して、マスターキーとデータキーを生成する。その後、Boto 3とPythonを使用して、オブジェクトをアップロードする前にデータをローカル環境で暗号化する。10日ごと、または2¹⁶個のオブジェクトがAmazon S3にアップロードされた後に、データキーをローテーションする。
D. Amazon S3マネージド暗号化キー(SSE-S3)によるサーバーサイド暗号化を使用し、マスターキーが自動的にローテーションするように設定する。


■ 正解と解説

正解:C

解説:
この問題の鍵となるのは次の要件です:

  1. ローカル環境での暗号化(= クライアントサイド暗号化)
  2. FIPS検証済みのHSMでキーを生成
  3. キーの有効期限:10日間 または 65536オブジェクトでローテーション

AWS CloudHSM は、FIPS 140-2 Level 3 に準拠したハードウェアベースのキーマネージメントを提供し、クライアントサイド暗号化においてセキュリティ要件を満たすための最適な手段です。

さらに、CloudHSMは専用HSMをクラウドで利用可能にし、オンプレミス機器と比較して導入コストが抑えられ、スケーラブルかつ安全な鍵管理が可能です。


■ 不正解の選択肢の理由

A. AWS Encryption SDK + KMS 使用
→ Encryption SDK 自体は有効だが、AWS KMSのキーはFIPS 140-2 Level 3に非対応(FIPS準拠はしているが、検証レベルが問題)。また、KMSは高頻度の呼び出しに対してコストが増す可能性があるため、65536回制限のような要件に適さない。


B. AWS KMS + S3 クライアントサイド暗号化
→ S3のクライアント暗号化ライブラリはKMSキーと組み合わせて使えるが、キー生成要件(FIPS検証済みHSM)を満たさない。また、コスト面・制限面でも非効率。


D. SSE-S3(サーバーサイド暗号化)
→ SSE-S3では、サーバー側(S3管理)の暗号化となり、ローカル暗号化の要件を満たさない。また、ユーザー側でキーの有効期限管理(10日間・65536回)もできない。


■ SCS試験で押さえておくべきポイント

  • CloudHSMはFIPS 140-2 Level 3対応のHSMが必要な場合に唯一の選択肢
  • KMSは便利だが、FIPS検証済みのHSMによる鍵生成という厳格要件には不適
  • Encryption SDKやKMSのキャッシングは利便性を高めるが、セキュリティ基準によって選択が制限される。
  • 「クライアントサイド暗号化」と「FIPS認証ハードウェアによるキー生成」の両立は、CloudHSMベースでの実装が正解。

次の問題もお送りください。確実に理解が深まるよう丁寧にサポートいたします。