DVAセキュリティ

開発者はRDS MySQLの接続パスワードをAWS Secrets Managerに保存し、30日ごとの自動ローテーションを有効化しました。しかし、ローテーションイベントの直後に一部のアプリケーションインスタンスで認証エラーが散発的に発生しています。最も可能性の高い原因と解決策はどれですか?

A
ローテーション間隔が短すぎる。90日に延長してローテーション頻度を下げる
(ローテーション間隔の変更)は、根本的な問題は解決しません。
B
Lambdaローテーション関数がfinishSecretステージでデータベース更新完了前にAWSCURRENTバージョンを設定している。Lambda関数に遅延処理を追加する
(Lambda関数への遅延追加)は、根本的な問題は解決しません。
C
アプリケーションが取得した認証情報をキャッシュしており、ローテーション後も古い認証情報を使い続けている。認証エラー発生時にSecrets Managerから最新の認証情報を再取得してリトライする実装を追加する
✓ 正解
Secrets Managerのローテーション後、アプリケーションがインメモリやコネクションプールにキャッシュしていた古い認証情報は無効になります。AWSが推奨するベストプラクティスは、認証エラー(例:MySQL「Access denied」)をキャッチした際にSecrets Managerから最新のシークレット値を再取得してリトライする実装です。これによりローテーション後の全インスタンスが新しい認証情報に自動的に切り替わります。
D
Secrets ManagerのローテーションにはマルチAZ構成のRDSインスタンスが必要なため、RDSをマルチAZに変更する
(RDSのマルチAZ化)は、Secrets Managerのローテーション機能の必須条件ではありません。

解説

Secrets Managerのローテーション後、アプリケーションがインメモリやコネクションプールにキャッシュしていた古い認証情報は無効になります。AWSが推奨するベストプラクティスは、認証エラー(例:MySQL「Access denied」)をキャッチした際にSecrets Managerから最新のシークレット値を再取得してリトライする実装です。これによりローテーション後の全インスタンスが新しい認証情報に自動的に切り替わります。 選択肢A(ローテーション間隔の変更)は、根本的な問題は解決しません。 選択肢B(Lambda関数への遅延追加)は、根本的な問題は解決しません。 選択肢D(RDSのマルチAZ化)は、Secrets Managerのローテーション機能の必須条件ではありません。

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

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

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