Q76 — AWS SAA-C03 第17章
第 76/89 問 | ← 第17章
Q1376. ある企業が、Auto Scalingグループ内のAmazon EC2インスタンスで実行されるアプリケーションを運用しています。このアプリケーションは、Amazon RDSデータベースへのアクセスにハードコードされた認証情報を使用しています。新たな規制対応のため、企業はアプリケーションのサービスアカウント向けデータベースパスワードを90日ごとに自動的にローテーションする必要があります。これらの要件を満たすソリューションはどれですか?
- A. AWS Lambda関数を作成し、ランダムな新しいパスワードを生成します。Amazon EventBridgeルールを設定して、90日ごとにこのLambda関数を呼び出します。Lambda関数をSSH経由で既存のEC2インスタンスに新しいパスワードを含むJSONファイルをアップロードするように設定します。
- B. AWS Secrets Managerにデータベース認証情報のシークレットを作成します。Secrets Manager内でAWS Lambda関数をスケジュールし、90日ごとにこのシークレットをローテーションします。アプリケーションを変更して、データベース認証情報をSecrets Managerから読み取るようにします。 ✓
- C. 新しいAmazon ECSタスクを作成し、ランダムな新しいパスワードを生成します。このタスクを90日ごとに起動するよう設定します。タスクをSSH経由で既存のEC2インスタンスに新しいパスワードを含むJSONファイルをアップロードするように設定します。
- D. 新しいEC2インスタンスを作成し、90日ごとに実行されるcronジョブを実行します。このcronジョブでランダムな新しいパスワードを生成します。新しいEC2インスタンスをSSH経由で既存のEC2インスタンスに新しいパスワードを含むJSONファイルをアップロードするように設定します。
正解: B. AWS Secrets Managerにデータベース認証情報のシークレットを作成します。Secrets Manager内でAWS Lambda関数をスケジュールし、90日ごとにこのシークレットをローテーションします。アプリケーションを変更して、データベース認証情報をSecrets Managerから読み取るようにします。
解説
要件(90日ごとのデータベースパスワードの自動ローテーション)を満たすソリューションを各選択肢について検討します。 選択肢A:Lambda関数によるパスワード生成とEventBridgeによる定期実行は有効ですが、SSH経由でEC2インスタンスへJSONファイルをアップロードする方法はセキュリティリスクが高く、推奨されません。SSHキーの管理やインスタンスへの不適切な公開が必要となり、Auto Scalingグループのような動的な環境ではスケーラブル・信頼性も低く、規制対応にも不十分です。したがって不適切です。 選択肢B:AWS Secrets Managerは、データベース認証情報などの機密情報を安全に保存・管理するためのサービスです。Secrets Manager内にシークレットを作成し、組み込みの自動ローテーション機能(内部でLambda関数を活用)により90日ごとのパスワードローテーションを簡単に実現できます。また、アプリケーションを変更してSecrets Managerから認証情報を取得するようにすれば、ハードコードを排除し、常に最新の資格情報を安全かつスケーラブルに利用できます。これはセキュリティ、スケーラビリティ、コンプライアンスのすべての観点で要件を満たす最適なソリューションです。したがって正解です。 選択肢C:ECSタスクによるパスワード生成は技術的には可能ですが、SSH経由での認証情報配布は選択肢Aと同様にセキュリティリスクが高く、Auto Scaling環境には不向きです。したがって不適切です。 選択肢D:専用のEC2インスタンスを立ち上げてcronジョブでパスワードを生成するのは、不要なインフラストラクチャとコスト増加を招き、非効率です。また、SSHによるファイル配布というセキュリティ上の懸念も同様に存在します。したがって不適切です。 以上より、要件を満たすソリューションは選択肢Bです。