Q69 — AWS SAP-C02 第3章
第 69/75 問 | ← 第3章
Q294. ある企業が、Amazon RDS 上で実行される Microsoft SQL Server DB インスタンスにアクセスする必要のある AWS Lambda 関数を用いてサーバーレスアーキテクチャを実装しています。この企業には、開発環境と本番環境のそれぞれに分離された環境があり、データベースシステムのクローンもそれぞれ用意されています。開発者には開発用データベースの認証情報へのアクセスが許可されていますが、本番用データベースの認証情報は、IT セキュリティチームの IAM ユーザーグループのメンバーのみがアクセス可能なキーで暗号化する必要があります。また、このキーは定期的にローテーションする必要があります。本番環境において、これらの要件を満たすためにソリューションアーキテクトが実施すべきことは何ですか?
- A. AWS Systems Manager Parameter Store に SecureString パラメータを使用してデータベース認証情報を保存し、AWS Key Management Service (AWS KMS) のカスタマーマネージドキーで暗号化します。各 Lambda 関数にロールをアタッチして SecureString パラメータへのアクセスを許可します。SecureString パラメータおよびカスタマーマネージドキーへのアクセスを制限し、IT セキュリティチームのみがそれらにアクセスできるようにします。
- B. AWS Key Management Service (AWS KMS) のデフォルト Lambda キーを使用してデータベース認証情報を暗号化し、各 Lambda 関数の環境変数に保存します。Lambda コード内で環境変数から認証情報を読み込みます。KMS キーへのアクセスを制限し、IT セキュリティチームのみがそのキーにアクセスできるようにします。
- C. データベース認証情報を各 Lambda 関数の環境変数に保存し、AWS Key Management Service (AWS KMS) のカスタマーマネージドキーで環境変数を暗号化します。カスタマーマネージドキーへのアクセスを制限し、IT セキュリティチームのみがそのキーにアクセスできるようにします。
- D. データベース認証情報を AWS Secrets Manager にシークレットとして保存し、AWS Key Management Service (AWS KMS) のカスタマーマネージドキーと関連付けます。各 Lambda 関数にロールをアタッチして、このシークレットへのアクセスを許可します。シークレットおよびカスタマーマネージドキーへのアクセスを制限し、IT セキュリティチームのみがそれらにアクセスできるようにします。 ✓
正解: D. データベース認証情報を AWS Secrets Manager にシークレットとして保存し、AWS Key Management Service (AWS KMS) のカスタマーマネージドキーと関連付けます。各 Lambda 関数にロールをアタッチして、このシークレットへのアクセスを許可します。シークレットおよびカスタマーマネージドキーへのアクセスを制限し、IT セキュリティチームのみがそれらにアクセスできるようにします。
解説
本番データベースの認証情報を、IT セキュリティチームの IAM ユーザーグループのメンバーのみがアクセス可能なキーで暗号化するという要件を満たすには、AWS Secrets Manager と AWS KMS のカスタマーマネージドキーを組み合わせたソリューションを実装する必要があります。したがって、正しい選択肢は D です。選択肢 D では、データベース認証情報を AWS Secrets Manager に保存し、暗号化に AWS KMS のカスタマーマネージドキーを使用しています。さらに、各 Lambda 関数にロールをアタッチしてシークレットへのアクセスを許可し、シークレットおよびカスタマーマネージドキーへのアクセスを IT セキュリティチームのみに制限しています。 選択肢 A は不適切です。AWS Systems Manager Parameter Store に認証情報を保存する場合、デフォルトでは機密データの暗号化が提供されないため、AWS KMS を用いた追加の設定が必要になります。 選択肢 B も不適切です。AWS KMS のデフォルト Lambda キーは、定期的なキーのローテーションをサポートしないため、このシナリオの要件を満たしません。 選択肢 C は不適切です。環境変数を AWS KMS のカスタマーマネージドキーで暗号化するには、追加のコード変更および実装作業が必要ですが、AWS Secrets Manager は暗号化およびキー管理に関して AWS KMS とネイティブ統合されており、より適切なソリューションです。