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

eコマース企業がセキュリティポリシーとして、Amazon RDS のマスターパスワードを 90 日ごとに自動ローテーションすることを定めました。アプリケーションのダウンタイムなしで切り替えを行い、アプリケーションコードを変更せずに常に最新の認証情報を取得できるアーキテクチャが求められます。最も適切な実装はどれですか?

A
SSM Parameter Store(SecureString タイプ)にパスワードを保存し、EventBridge スケジュールで 90 日ごとに Lambda 関数を起動してパスワードを手動更新する
SSM Parameter Store には RDS 向けのネイティブ自動ローテーション機能がなく、ローテーションには別途カスタム実装が必要です。
B
AWS Secrets Manager に RDS 認証情報を保存して自動ローテーションを有効化し、アプリケーションは実行時に Secrets Manager SDK 経由で認証情報を取得する
✓ 正解
AWS Secrets Manager は RDS 向けのマネージドなローテーション Lambda 関数を内蔵しており、ダブルバッファリング方式(新旧の認証情報を一定期間並行サポート)によりアプリケーションのダウンタイムなしで切り替えられます。アプリは SDK 経由で実行時に最新の認証情報を取得するため、コード変更も不要です。
C
RDS IAM データベース認証を有効化して IAM ロールで接続し、90 日ごとに IAM ロールのポリシーを更新する Lambda 関数を作成する
RDS IAM データベース認証は IAM トークン(有効期間15分)を使用するためパスワード自体が存在せず、90日ごとに IAM ロールのポリシーを更新する必要もありません。また対応エンジンが限られており、「パスワードを90日ごとにローテーションする」という要件の解決策にはなりません。
D
KMS カスタマーマネージドキー(CMK)でパスワードを暗号化して S3 に保存し、90 日ごとにキーをローテーションしてアプリケーションが参照できるようにする
KMS キーのローテーションはデータ暗号化キーの切り替えであり、アプリケーション認証情報のパスワード管理とは無関係です。

解説

認証情報のマネージドなローテーションを要件とする場合、専用サービスの活用が重要です。 選択肢AのSSM Parameter StoreにはRDS向けのネイティブ自動ローテーション機能がなく、ローテーションには別途カスタムLambda関数の実装が必要で、運用負荷が増します。 選択肢BのAWS Secrets ManagerはRDS向けのマネージドなローテーションLambda関数を内蔵しており、ダブルバッファリング方式(新旧の認証情報を一定期間並行サポート)によりアプリケーションのダウンタイムなしで切り替えられます。アプリはSDK経由で実行時に最新の認証情報を取得するため、コード変更も不要です。 選択肢CのRDS IAMデータベース認証はIAMトークン(有効期間15分)を使用するためパスワード自体が存在せず、90日ごとにIAMロールのポリシーを更新する必要もありません。また対応エンジンが限られており、パスワードを90日ごとにローテーションするという要件の解決策にはなりません。 選択肢DのKMSキーのローテーションはデータ暗号化キーの切り替えであり、アプリケーション認証情報のパスワード管理とは無関係です。

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

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

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