無限ノック › SOA 練習問題一覧 › 問題
SOAセキュリティとコンプライアンス

ある企業では、Amazon EC2 インスタンスと Lambda 関数で構成されるアプリケーションが、Amazon RDS for PostgreSQL のパスワードをコード内にハードコードしています。セキュリティ監査でこれが指摘されたため、以下の要件を満たす改善を求められています。 ①認証情報をコードから排除する ②パスワードを 30 日ごとに自動ローテーションする ③ローテーション中もアプリケーションのダウンタイムをゼロにする 最も適切な方法はどれですか?

A
AWS Systems Manager Parameter Store の SecureString パラメータに認証情報を保存し、EC2 インスタンスプロファイルで読み取り権限を付与する。ローテーションは EventBridge Scheduler で Lambda を定期実行して手動更新する。
AWS Systems Manager Parameter Store は、SecureString パラメータで認証情報を保存できますが、ネイティブな自動ローテーション機能がありません。
B
AWS Secrets Manager に RDS 認証情報を保存し、組み込み Lambda 関数による自動ローテーションを設定する。アプリケーションは SDK 経由で認証情報を取得し、RDS Proxy を介して接続することでローテーション中の接続断を防ぐ。
✓ 正解
AWS Secrets Manager は RDS・Redshift・DocumentDB との組み込み自動ローテーションをサポートし、Lambda 関数が自動的にデプロイされます。RDS Proxy は接続プールを維持し、シークレットローテーション中も既存接続を維持するため、ダウンタイムゼロの要件を満たします。
C
KMS のカスタマーマネージドキー(CMK)で認証情報を暗号化した設定ファイルを S3 に保存し、EC2 インスタンスが起動時にダウンロードして復号する。ローテーションは 90 日ごとに運用チームが手動で実施する。
KMS 暗号化設定ファイル は、90 日ごとの手動ローテーションが要求されており、自動ローテーションの要件を満たしません。
D
IAM データベース認証を RDS に対して有効化し、EC2 インスタンスプロファイルの IAM ロールを使用してパスワードなしで接続する。Lambda は VPC 内に配置して同様に IAM 認証を使用し、パスワード管理を不要にする。
IAM データベース認証 もパスワードレスで優れていますが、既存アプリへの変更が必要になり、明示的なローテーション管理が異なります。

解説

AWS Secrets Manager は RDS・Redshift・DocumentDB との組み込み自動ローテーションをサポートし、Lambda 関数が自動的にデプロイされます。RDS Proxy は接続プールを維持し、シークレットローテーション中も既存接続を維持するため、ダウンタイムゼロの要件を満たします。 選択肢AのAWS Systems Manager Parameter Store は、SecureString パラメータで認証情報を保存できますが、ネイティブな自動ローテーション機能がありません。 選択肢CのKMS 暗号化設定ファイル は、90 日ごとの手動ローテーションが要求されており、自動ローテーションの要件を満たしません。 選択肢DのIAM データベース認証 もパスワードレスで優れていますが、既存アプリへの変更が必要になり、明示的なローテーション管理が異なります。

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

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

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