無限ノック › SAA 練習問題一覧 › 問題
SAAセキュアなアーキテクチャの設計

ある企業が RDS for PostgreSQL を使用した Web アプリケーションを運用しています。データベースのパスワードと外部 API キーがアプリケーションの設定ファイルにハードコードされており、セキュリティ監査で指摘を受けました。以下の要件をすべて満たすソリューションを設計する必要があります。 ①シークレット(機密情報)を暗号化して安全に保存する ②データベースパスワードを定期的に自動ローテーション(更新)する ③アプリケーションコードの変更なしにローテーションが完了する ④シークレットへのすべてのアクセスが監査ログに記録される 最も要件を満たすソリューションはどれですか?

A
EC2 インスタンスの環境変数にシークレットを設定し、ローテーション時に Auto Scaling グループのインスタンスを再起動してリフレッシュする
EC2 インスタンスの環境変数にシークレットを設定し、ローテーション時に Auto Scaling グループのインスタンスを再起動してリフレッシュする方法はアプリケーションコードの変更を伴うため要件を満たしません。
B
AWS Secrets Manager にシークレットを保存し、RDS との自動ローテーション(Lambda 関数による二段階更新)を設定する。アプリケーションは Secrets Manager SDK でシークレットを取得し、CloudTrail で全 API 呼び出しを記録する
✓ 正解
AWS Secrets Manager は RDS・Redshift・DocumentDB に対する組み込みの自動ローテーション機能(Lambda 関数による二段階ローテーション)を提供し、ローテーション中もアプリケーションは同じシークレット名で最新の認証情報を取得できるためコード変更が不要です。CloudTrail との統合で監査ログも自動記録されます。
C
AWS Systems Manager Parameter Store の SecureString パラメータに KMS 暗号化でシークレットを保存し、CloudTrail でアクセスを記録する
AWS Systems Manager Parameter Store の SecureString パラメータはデータベースパスワードの自動ローテーション機能を持たず要件を満たせません。
D
シークレットを S3 バケットの JSON ファイルに保存し、バケットポリシーで EC2 のロール ARN のみを許可し、S3 サーバーサイド暗号化(SSE-KMS)を有効にする
S3 バケットにシークレットを保存する方法はシークレット管理用に設計されておらず不適切です。

解説

AWS Secrets Manager は RDS・Redshift・DocumentDB に対する組み込みの自動ローテーション機能(Lambda 関数による二段階ローテーション)を提供し、ローテーション中もアプリケーションは同じシークレット名で最新の認証情報を取得できるためコード変更が不要です。CloudTrail との統合で監査ログも自動記録されます。 選択肢Aは、EC2 インスタンスの環境変数にシークレットを設定し、ローテーション時に Auto Scaling グループのインスタンスを再起動してリフレッシュする方法はアプリケーションコードの変更を伴うため要件を満たしません。 選択肢Cは、AWS Systems Manager Parameter Store の SecureString パラメータはデータベースパスワードの自動ローテーション機能を持たず要件を満たせません。 選択肢Dは、S3 バケットにシークレットを保存する方法はシークレット管理用に設計されておらず不適切です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAA の問題一覧に戻る