Q43 — AWS SOA-C02 第1章
第 43/100 問 | ← 第1章
ある企業は、新しいアプリケーションをAmazon EC2インスタンスに展開します。アプリケーションコードはAWS CodeCommitリポジトリに格納されています。企業は、継続的インテグレーションおよび継続的デリバリー(CI/CD)プロセスを通じて、AWS CodePipelineパイプラインを使用してEC2インスタンスへのコード展開を行います。 SysOps管理者は、EC2インスタンス上で機密性の高いデータベース情報が適切に設定されていることを確認し、認証情報の誤った漏洩を防止する必要があります。
- A. 値をAWS Secrets Managerに格納します。アプリケーション起動時にこれらの値を取得するようコードを更新します。値をアプリケーションが使用できる環境変数として格納します。 ✓
- B. 値をAWS Systems Manager Parameter Storeのシークレット文字列として格納します。アプリケーション起動時にこれらの値を取得するようコードを更新します。値をアプリケーションが使用できる環境変数として格納します。 ✓
- C. 値をAWS Lambda関数に格納します。アプリケーション起動時にLambda関数を呼び出すようコードを更新します。Lambda関数を、値をアプリケーションが使用できる環境変数として注入するように設定します。
- D. 構成情報をEC2インスタンス上のファイルに格納します。基盤となるドライブがAWS Key Management Service (AWS KMS) によって暗号化されていることを確認します。アプリケーションが起動時にそのファイルを読み取るよう更新します。値を環境変数として格納します。
- E. 値をAmazon S3バケット内のテキストファイルに格納します。CI/CDパイプライン内で、そのファイルをアプリケーションが読み取れるディスク上の適切な場所にEC2インスタンスへコピーします。
正解: A. 値をAWS Secrets Managerに格納します。アプリケーション起動時にこれらの値を取得するようコードを更新します。値をアプリケーションが使用できる環境変数として格納します。, B. 値をAWS Systems Manager Parameter Storeのシークレット文字列として格納します。アプリケーション起動時にこれらの値を取得するようコードを更新します。値をアプリケーションが使用できる環境変数として格納します。
解説
AWS Secrets ManagerおよびSystems Manager Parameter Storeは、機密データの安全な保管を目的として設計されたサービスです。両サービスとも暗号化、細かい粒度のアクセス制御、IAMとの統合をサポートし、認証情報が必要なときにのみ復号されるように保証します。Secrets Managerはさらに、キーの自動ローテーション機能を提供します。環境変数は実行時注入方式であり、ハードコーディングのリスクを回避します。Lambdaの導入は追加の呼び出しフローをもたらし、攻撃面を広げる可能性があります。ローカルファイルやS3での保管は、永続化ストレージにおける漏洩リスクを伴い、権限管理の複雑さも高まります。AWSドキュメントでは、機密情報の管理にはSecrets ManagerまたはParameter Storeの利用が明確に推奨されています(AWSセキュリティベストプラクティス)。選択肢AおよびBは、AWSマネージドサービスを直接活用しており、最小権限原則およびセキュリティベストプラクティスに適合します。