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

ある企業は本番RDSデータベースの認証情報をAWS Systems Manager Parameter Store(SecureString)に保存し、EC2アプリケーションがSDKで取得しています。セキュリティ監査で「データベースパスワードを90日ごとに自動ローテーションし、ローテーション中もアプリケーションのダウンタイムなしで動作を継続すること」という要件が課されました。追加実装を最小限に抑えてこの要件を満たす方法はどれか。

A
SSM Parameter StoreのAdvanced TierでExpirationDateポリシーを設定し、EventBridgeとLambdaで90日ごとにRDSパスワードを更新してパラメータに反映する
SSM Parameter StoreはAdvanced Tierでも自動ローテーション機能を持たない。EventBridge + Lambdaでのカスタム実装は可能だが、AWSCURRENT/AWSPENDINGのような二重バージョン管理も自前で構築が必要になり追加実装が大きい。
B
AWS Secrets ManagerにRDS認証情報を移行してマネージドローテーションを有効化し、AWSCURRENT/AWSPENDINGのバージョン管理でローテーション中もダウンタイムなしで接続を維持する
✓ 正解
AWS Secrets ManagerはRDS向けのマネージドローテーションを標準提供し、AWSCURRENT/AWSPENDINGバージョン管理でローテーション中もダウンタイムなしで動作する。移行時のアプリ変更はSDK呼び出し先の変更のみで最小限に抑えられる。
C
Amazon RDSのマスターパスワードリセット機能をEventBridgeで90日ごとに実行し、新パスワードをParameter Storeに保存してEC2インスタンスメタデータ経由で参照する
RDS マスターパスワードリセット機能をEventBridgeから直接トリガーするAPIは存在せず、EC2インスタンスメタデータはパスワード情報を保存する機能を持たない。新パスワードの配布・参照の仕組みが機能しない実現不可能な構成である。
D
RDS IAMデータベース認証に切り替えてEC2のIAMロールが発行する一時認証トークンで接続し、パスワードの定期ローテーションを不要にする
RDS IAMデータベース認証はパスワード管理を不要にする有効な手法だが、アプリケーションの接続方式をパスワード認証から認証トークン取得に全面的に変更する必要があり、追加実装を最小限に抑えるという要件に合わない。

解説

AWS Secrets ManagerはRDS(MySQL・PostgreSQL・Oracle等)向けのマネージドローテーションを標準でサポートしています。ローテーションを有効化すると指定間隔(90日など)でLambda関数が自動実行され、RDSのパスワード変更とシークレットの更新が行われます。ローテーション中はAWSCURRENT(現在の認証情報)とAWSPENDING(新認証情報)の二重バージョンで管理されるため、アプリケーションはダウンタイムなしで動作を継続できます。Parameter Storeから移行する際のアプリケーション変更はSDKの呼び出し先変更のみで最小限に抑えられます。 選択肢AのSSM Parameter Storeは自動ローテーション機能を持たないため、EventBridgeとLambdaでカスタム実装が必要になり、二重バージョン管理も自前で実装しなければならず追加実装が大きい。 選択肢CのRDS マスターパスワードリセット機能はEventBridgeから直接トリガーするAPIが存在せず、またEC2インスタンスメタデータはパスワードを保存する機能を持たないため実現不可能な構成である。 選択肢DのRDS IAMデータベース認証はパスワード管理を不要にする有効なアプローチだが、アプリケーションの接続方式を認証トークン取得に全面変更する必要があり、追加実装を最小限という要件に合わない。

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

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

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