Q99 — AWS DVA-C02 第1章
第 99/100 問 | ← 第1章
ある会社は、アプリケーション負荷分散器(Application Load Balancer)の後ろでAmazon EC2インスタンス上にアプリケーションを実行しています。EC2インスタンスは、複数の可用性ゾーンにまたがるAuto Scalingグループで実行されています。アプリケーションは起動時にアプリケーションキーを取得し、それを環境変数としてエクスポートする必要があります。これらのキーは静止時(at rest)に暗号化され、毎月ローテーションされる必要があります。この要件を最小限の開発工数で満たす最も適切なソリューションはどれですか?
- A. キーをテキストファイルに保存し、そのファイルをAmazon S3に格納する。カスタムマネージドキーを提供し、Amazon S3内でそのキーを使ってキーを暗号化する。テキストファイルの内容を読み込み、環境変数としてエクスポートする。S3 Object Lambdaを設定して、テキストファイルを毎月ローテーションする。
- B. キーをAWS Systems Manager Parameter Storeの文字列として保存し、デフォルトのAWS Key Management Service (AWS KMS) キーを使用する。Amazon EC2のユーザーデータスクリプトを設定し、起動時にキーを取得して環境変数としてエクスポートする。AWS Lambda関数を設定し、Parameter Store内のキーを毎月ローテーションする。
- C. キーをBase64エンコーディングされた環境変数としてアプリケーションプロパティに保存する。アプリケーション起動時にキーを取得し、アプリケーションコード内で参照する。環境変数として保存されたキーをローテーションするスクリプトを作成する。
- D. キーをAWS Secrets Managerに格納する。新しいカスタマーマスターキー(CMK)を提供し、そのキーでキーを暗号化する。自動ローテーションを有効化する。Amazon EC2のユーザーデータスクリプトを設定し、起動時にプログラム的にキーを取得して環境変数としてエクスポートする。 ✓
正解: D. キーをAWS Secrets Managerに格納する。新しいカスタマーマスターキー(CMK)を提供し、そのキーでキーを暗号化する。自動ローテーションを有効化する。Amazon EC2のユーザーデータスクリプトを設定し、起動時にプログラム的にキーを取得して環境変数としてエクスポートする。
解説
選択肢Dでは、AWS Secrets Managerを用いてキーを安全に管理し、自動ローテーション機能を有効化することで、開発者が追加のコードを記述することなくセキュアなキー管理と定期的なローテーションを実現できます。さらに、Amazon EC2ユーザーデータスクリプトによるプログラム的なキー取得と環境変数へのエクスポートは比較的シンプルであり、ローテーション用の追加スクリプトも不要です。したがって、選択肢Dが最小限の開発工数で要件を満たすソリューションです。 【ランタン認定提供:swufelp1999】