Q16 — AWS SAA-C03 第8章

第 16/65 問 | ← 第8章

Q511. ある企業が、Amazon RDS MySQL DB インスタンスから情報を取得するための埋め込み認証情報を持つカスタムアプリケーションを保有しています。経営陣は、プログラミング作業を最小限に抑えつつ、このアプリケーションのセキュリティを強化するよう指示しました。ソリューションアーキテクトは、これらの要件を満たすために何を行うべきでしょうか?

正解: C. RDS for MySQL データベース上にアプリケーション用のユーザー認証情報を作成し、それらを AWS Secrets Manager に保存します。アプリケーションを設定し、データベース認証情報を Secrets Manager から読み込むようにします。さらに、Secrets Manager を使用して、RDS for MySQL データベース上のアプリケーションユーザーの認証情報ローテーションスケジュールを設定します。

解説

最も適切な選択肢は C です。AWS Secrets Manager は、データベース認証情報の安全な保存と、組み込みの自動ローテーション機能(RDS との統合を含む)を提供します。特に、RDS for MySQL と Secrets Manager を連携させれば、Secrets Manager 側でローテーションスケジュールを設定するだけで、RDS 側のパスワード変更およびシークレットの更新を自動的かつ安全に行えます。これにより、追加の Lambda 関数の開発(B のようなカスタム実装)や、手動・定期的な管理作業(D のように Parameter Store ではネイティブなデータベース認証情報ローテーション機能がなく、ローテーション自体は別途実装が必要)を回避でき、プログラミング作業を最小限に抑えられます。また、A は KMS が認証情報の保管ではなく暗号化キーの管理を目的としており、認証情報そのもののローテーションや RDS 連携機能を持たないため不適切です。