Q14 — AWS SAA-C03 第8章
第 14/65 問 | ← 第8章
Q509. ある企業が、Amazon Aurora MySQL DB クラスターをストレージとして使用するマルチティアWebアプリケーションをホストしています。アプリケーション層は Amazon EC2 インスタンス上で実行されています。同社のITセキュリティガイドラインでは、データベースの認証情報を暗号化し、14日ごとにローテーションすることが義務付けられています。この要件を、最も少ない運用負荷で満たすには、ソリューションアーキテクトは何を行うべきでしょうか?
- A. 新しい AWS Key Management Service (AWS KMS) 暗号化キーを作成します。AWS Secrets Manager を使用して、この KMS キーと適切な認証情報を用いた新しいシークレットを作成し、そのシークレットを Aurora DB クラスターに関連付けます。シークレットのカスタムローテーション期間を14日に設定します。 ✓
- B. AWS Systems Manager Parameter Store に2つのパラメーターを作成します。1つはユーザー名を格納する文字列型パラメーター、もう1つはパスワードを格納する SecureString 型パラメーターです。パスワードパラメーターには AWS Key Management Service (AWS KMS) 暗号化を適用し、アプリケーション層でこれらのパラメーターを読み込みます。さらに、14日ごとにパスワードをローテーションする AWS Lambda 関数を実装します。
- C. 認証情報を含むファイルを、AWS Key Management Service (AWS KMS) で暗号化された Amazon Elastic File System (Amazon EFS) ファイルシステムに保存します。この EFS ファイルシステムをアプリケーション層のすべての EC2 インスタンスにマウントします。ファイルへのアクセスを制限し、アプリケーションのみが読み取り可能で、スーパーユーザーのみが変更可能とします。さらに、Aurora の認証情報を14日ごとにローテーションし、新しい認証情報をファイルに書き込む AWS Lambda 関数を実装します。
- D. 認証情報を含むファイルを、AWS Key Management Service (AWS KMS) で暗号化された Amazon S3 バケットに保存し、アプリケーションがこのバケットから認証情報を読み込みます。アプリケーションは定期的にこのファイルをダウンロードして、常に正しい認証情報が使用されるようにします。さらに、Aurora の認証情報を14日ごとにローテーションし、新しい認証情報を S3 バケット内のファイルにアップロードする AWS Lambda 関数を実装します。
正解: A. 新しい AWS Key Management Service (AWS KMS) 暗号化キーを作成します。AWS Secrets Manager を使用して、この KMS キーと適切な認証情報を用いた新しいシークレットを作成し、そのシークレットを Aurora DB クラスターに関連付けます。シークレットのカスタムローテーション期間を14日に設定します。
解説
AWS Secrets Manager は、データベースの認証情報などのシークレットを安全に保存・管理・ローテーションするためのマネージドサービスであり、Aurora DB クラスターとの統合もネイティブにサポートされています。シークレットの自動ローテーションを14日間隔で設定でき、追加のLambda関数やファイル管理、アクセス制御の実装を不要とします。これにより、運用負荷が最小限に抑えられます。一方、オプションB~Dは、Parameter StoreやEFS、S3といった他のサービスを組み合わせて自前でローテーションロジックを実装する必要があり、信頼性・セキュリティ・保守性の観点から追加の開発・運用コストがかかります。したがって、最も少ない運用負荷で要件を満たすのはオプションAです。