Q48 — AWS DVA-C02 第2章
第 48/100 問 | ← 第2章
ある企業がAmazon EC2インスタンス上でアプリケーションを実行しています。EC2インスタンスはAmazon RDS for SQL Serverデータベースへの接続を開いています。開発者は、資格情報(認証情報)を安全に保存・アクセスし、自動的にローテーションしたいと考えています。開発者は、データベースの資格情報をコード内に直接保存したくありません。この要件を最も安全な方法で満たす解決策は何ですか?
- A. データベースへのアクセス権限を持つIAMロールを作成し、そのIAMロールをEC2インスタンスにアタッチします。
- B. 資格情報をAWS Secrets ManagerにSecretとして保存します。Secrets Manager内の資格情報およびデータベースパスワードを更新するAWS Lambda関数を作成します。必要に応じてSecrets Managerから資格情報を取得します。 ✓
- C. 資格情報を暗号化されたテキストファイルとしてAmazon S3バケットに保存します。EC2インスタンスの起動時にAmazon S3から資格情報をダウンロードするようEC2インスタンス起動テンプレートを設定します。Secretsおよびデータベースを更新するAWS Lambda関数を作成します。
- D. 資格情報をAmazon DynamoDBテーブルに保存します。定期的にSecretsおよびデータベースを更新するAWS Lambda関数を呼び出すAmazon CloudWatch Eventsルールを設定します。
正解: B. 資格情報をAWS Secrets ManagerにSecretとして保存します。Secrets Manager内の資格情報およびデータベースパスワードを更新するAWS Lambda関数を作成します。必要に応じてSecrets Managerから資格情報を取得します。
解説
選択肢Bでは、資格情報をAWS Secrets Managerに保存することが提案されています。これは、Secrets Managerが暗号化されたストレージおよび資格情報の自動ローテーション機能を提供するため、機密データを安全に保存・管理するための適切な方法です。Secrets Manager内の資格情報およびデータベースパスワードを更新するAWS Lambda関数を作成することで、資格情報の定期的なローテーションが保証されます。アプリケーションは、コード内に資格情報を直接埋め込むことなく、Secrets Managerから資格情報を取得するだけで済み、資格情報漏洩のリスクを低減できます。したがって、選択肢Bが最も安全な解決策です。