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

ある会社は Amazon RDS MySQL データベースのパスワードを EC2 インスタンスの環境変数にハードコードしており、90 日ごとに手動で更新しています。 セキュリティを向上させ、アプリケーションのダウンタイムなしでパスワードを自動ローテーションするための、最もセキュアで運用負荷が低いソリューションはどれですか?

A
EC2 インスタンスプロファイルに RDS IAM 認証を設定し、パスワードの代わりに短命な IAM 認証トークンでデータベースに接続するよう既存アプリケーションの接続方式を変更する
RDS IAM 認証も有効なアプローチですが既存アプリケーションの接続方式変更が必要です。
B
AWS Secrets Manager にパスワードを格納し、RDS との自動ローテーションを設定する。アプリケーションは Secrets Manager SDK を使用してパスワードを動的取得する
✓ 正解
AWS Secrets Manager は RDS・Redshift・DocumentDB の認証情報の自動ローテーションをネイティブサポートしています。ローテーション中は2ユーザーを交互に切り替えるalternating users rotation strategy(新旧ユーザーを並行有効にしつつ段階的に切り替える方式)によりダウンタイムゼロでのローテーションが実現します。アプリケーションは Secrets Manager API から常に最新パスワードを動的取得するため、ハードコードが不要になります。
C
SSM Parameter Store(SecureString タイプ)にパスワードを格納し、90 日ごとに実行される Lambda 関数でパスワードを生成・更新するよう実装する
SSM Parameter Store は自動ローテーション機能を持たず Lambda 実装が別途必要になります。
D
AWS KMS で暗号化したパスワードを S3 バケットに保存し、アプリケーション起動時に S3 から取得して復号・使用するよう設定する
S3 格納はシークレット管理の用途には不適切でセキュリティリスクが高いです。

解説

AWS Secrets Manager は RDS・Redshift・DocumentDB の認証情報の自動ローテーションをネイティブサポートしています。ローテーション中は2ユーザーを交互に切り替えるalternating users rotation strategy(新旧ユーザーを並行有効にしつつ段階的に切り替える方式)によりダウンタイムゼロでのローテーションが実現します。アプリケーションは Secrets Manager API から常に最新パスワードを動的取得するため、ハードコードが不要になります。 選択肢A のRDS IAM 認証も有効なアプローチですが既存アプリケーションの接続方式変更が必要です。 選択肢C のSSM Parameter Store は自動ローテーション機能を持たず Lambda 実装が別途必要になります。 選択肢D のS3 格納はシークレット管理の用途には不適切でセキュリティリスクが高いです。

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

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

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