Q84 — AWS DOP-C02 第2章

第 84/100 問 | ← 第2章

ある企業は、AWS 上でホストされるサーバーレス Web アプリケーションを開発しています。このアプリケーションは Amazon S3、Amazon API Gateway、2 つの AWS Lambda 関数、および MySQL データベースをバックエンドとする Amazon RDS で構成されています。企業は AWS CodeCommit を用いてソースコードを保管しており、ソースコードは AWS Serverless Application Model (AWS SAM) テンプレートと Python コードの組み合わせです。 セキュリティ監査およびペネトレーションテストの結果、RDS データベースの認証情報(ユーザー名およびパスワード)が CodeCommit リポジトリ内にハードコードされていることが明らかになりました。DevOps エンジニアは、ハードコードされた機密を自動的に検出し防止するソリューションを実装する必要があります。 これらの要件を満たす最も安全なソリューションは何ですか?

正解: B. CodeCommit リポジトリを Amazon CodeGuru Reviewer と関連付けます。コードレビュー結果に提示される推奨事項を手動で確認し、「機密の保護」オプションを選択します。SAM テンプレートおよび Python コードを更新し、AWS Secrets Manager から機密を取得するようにします。

解説

AWS サーバーレスアプリケーションにおいて、ハードコードされた機密を検出し防止するためのセキュリティ対策には、自動化ツールとサービスの活用が不可欠です。AWS の公式ドキュメントによると、Amazon CodeGuru Reviewer はコードレビュー専用に設計されており、ハードコードされた認証情報などのセキュリティリスクを識別できます。CodeCommit リポジトリと CodeGuru Reviewer を統合することで、自動スキャンが可能となり、レポートを手動で確認して有効な推奨事項を抽出できます。AWS Secrets Manager は、Systems Manager パラメータストアと比較して、自動ローテーションや暗号化など、高度な機密管理機能を提供します。選択肢 B は、自動スキャン(CodeGuru Reviewer)と安全な格納(Secrets Manager)を組み合わせており、問題文の「自動検出および機密保護」という要件を満たします。選択肢 D はパラメータストアを用いるため、セキュリティ水準が劣ります。選択肢 A および C は Profiler(パフォーマンス分析ツール)を用いており、コードレビューの用途には不適です。