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

企業のWebアプリケーションがAmazon ECS Fargate上で動作しており、Amazon RDS Aurora MySQLクラスターへの接続にデータベース認証情報を使用しています。現在、パスワードはECSタスク定義の環境変数にプレーンテキストで格納されており、セキュリティ監査で重大な脆弱性として指摘されました。コンプライアンス要件として、 (1) 認証情報は安全なストレージに保存すること (2) データベースパスワードは90日ごとに自動ローテーションすること (3) アプリケーションコードの変更は最小限に抑えること が求められています。これらの要件を満たす最もセキュアなソリューションはどれですか?

A
認証情報をAWS Systems Manager Parameter StoreのSecureStringパラメータとして保存し、ECSタスク定義のSecretsセクションから参照するよう更新する。90日ごとのローテーションはAWS Lambdaで自動化する
Parameter StoreはRDSの自動ローテーションを標準サポートせずLambda実装が必要です。
B
AWS Secrets Managerに認証情報を保存してRDS Auroraとのネイティブ統合による自動ローテーションを設定し、ECSタスクIAMロールにアクセス権限を付与し、ECSタスク定義のSecretsセクションで環境変数として注入する
✓ 正解
Secrets ManagerはRDS Auroraとのネイティブ統合で追加実装なしに自動ローテーションが可能です。ECSタスク定義のSecretsセクションを使うことで、アプリケーションコード変更なしにシークレットを環境変数として安全に注入できます。
C
認証情報をAWS KMSで暗号化してAmazon S3バケットに保存し、厳格なバケットポリシーを設定してアプリケーション起動時に取得するLambda関数を実装する
S3バケット保存はパスワード変更時の更新手順が複雑で、自動ローテーションが困難です。
D
RDS AuroraのIAMデータベース認証を有効化し、ECSタスクIAMロールにrds-db:connectを許可してアプリケーションがAWS SDKで認証トークンを動的生成するよう改修する
IAMデータベース認証は最もセキュアですがアプリコードの大幅改修が必要で要件(3)に反します。

解説

Secrets ManagerはRDS Auroraとのネイティブ統合で追加実装なしに自動ローテーションが可能です。ECSタスク定義のSecretsセクションを使うことで、アプリケーションコード変更なしにシークレットを環境変数として安全に注入できます。 選択肢AのParameter StoreはRDSの自動ローテーションを標準サポートせずLambda実装が必要です。 選択肢CのS3バケット保存はパスワード変更時の更新手順が複雑で、自動ローテーションが困難です。 選択肢DのIAMデータベース認証は最もセキュアですがアプリコードの大幅改修が必要で要件(3)に反します。

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

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

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