Q16 — AWS SAA-C03 第14章
第 16/100 問 | ← 第14章
Q1016. ある企業が、Amazon RDS for MySQL DB クラスターから情報を取得するための埋め込み認証情報を持つカスタムアプリケーションを保有しています。この企業は、プログラミング作業を最小限に抑えつつ、アプリケーションのセキュリティを強化する必要があります。同社は、RDS for MySQL データベース上でアプリケーション用のユーザー認証情報をすでに作成済みです。 これらの要件を満たすソリューションはどれですか?
- A. 認証情報を AWS Key Management Service (AWS KMS) に保存します。AWS KMS でキーを作成し、アプリケーションを設定して AWS KMS からデータベース認証情報を読み込むようにします。自動キーのローテーションを有効化します。
- B. 認証情報を暗号化されたローカルストレージに保存します。アプリケーションを設定してローカルストレージからデータベース認証情報を読み込むようにします。cron ジョブを作成して認証情報のローテーションスケジュールを設定します。
- C. 認証情報を AWS Secrets Manager に保存します。アプリケーションを設定して Secrets Manager からデータベース認証情報を読み込むようにします。AWS Lambda 関数を作成して Secrets Manager 用の認証情報ローテーションスケジュールを設定します。 ✓
- D. 認証情報を AWS Systems Manager Parameter Store に保存します。アプリケーションを設定して Parameter Store からデータベース認証情報を読み込むようにします。RDS for MySQL データベース内で Parameter Store を使用して認証情報のローテーションスケジュールを設定します。
正解: C. 認証情報を AWS Secrets Manager に保存します。アプリケーションを設定して Secrets Manager からデータベース認証情報を読み込むようにします。AWS Lambda 関数を作成して Secrets Manager 用の認証情報ローテーションスケジュールを設定します。
解説
Amazon RDS for MySQL DB クラスターへのアクセスに使用される埋め込み認証情報を安全に管理し、プログラミング作業を最小限に抑えながらアプリケーションのセキュリティを強化するには、以下の選択肢が最適です: C. 認証情報を AWS Secrets Manager に保存し、アプリケーションを Secrets Manager から認証情報を読み込むよう設定します。また、Secrets Manager 用の AWS Lambda 関数を作成して認証情報のローテーションスケジュールを設定します。 解説: 1. AWS Secrets Manager: ・安全な保管:Secrets Manager は、データベース認証情報などの機密情報を管理するために特化したサービスであり、組み込みの暗号化と細かい粒度のアクセス制御を提供します。 ・自動ローテーション:Secrets Manager は認証情報の自動ローテーションをサポートしており、古くなったり侵害されたりした認証情報の使用を防ぎ、セキュリティを向上させます。 2. プログラミング作業の最小化: ・Secrets Manager への統合は、通常、AWS SDK を活用して認証情報を容易に取得できるため、わずかなコード変更で済みます。これにより、開発負荷を大幅に抑えたままセキュリティを強化できます。 3. セキュリティの強化: ・Secrets Manager を使用することで、アプリケーション内に認証情報をハードコードするという一般的なセキュリティリスクを排除できます。また、シークレットの集中管理も可能になります。 他の選択肢の評価: A. AWS KMS への認証情報保存: ・KMS は主に暗号化キーの管理を目的としており、認証情報そのものの保管には適していません。KMS を使って認証情報を暗号化することは可能ですが、容易な取得や自動ローテーションといった要件には十分に対応できません。 B. 暗号化されたローカルストレージへの保存: ・この方法では、暗号化・取得・ローテーションの実装と管理に多大なプログラミング作業が必要です。また、シークレット管理向けに設計された AWS サービスを活用しないため、運用上のオーバーヘッドが大きくなります。 D. AWS Systems Manager Parameter Store への保存: ・Parameter Store でも認証情報を安全に保管できますが、Secrets Manager のような組み込みの自動ローテーション機能はありません。認証情報のローテーションを実装するには追加の開発と複雑さが伴うため、Secrets Manager と比較して非効率的です。 結論: 選択肢 C は、プログラミング作業を最小限に抑えつつアプリケーションのセキュリティを高め、データベース認証情報の適切な管理およびローテーションを確実に実現する、最も効果的なソリューションです。