ある企業が、Amazon ECR(Elastic Container Registry)に保存されているコンテナイメージに含まれる OS の脆弱性を継続的にスキャンしたい。新しいイメージがプッシュされるたびに自動的にスキャンし、CRITICAL の脆弱性が発見された場合は CI/CD パイプラインの実行をブロックしたい。最も適切なソリューションはどれか。
- A. ECR の拡張スキャン(Enhanced Scanning)を有効化する(Amazon Inspector と統合)。イメージプッシュ時に自動スキャンが実行され、CRITICAL 脆弱性の発見時に EventBridge イベントが発火する。CI/CD パイプライン(CodePipeline 等)にスキャン結果チェックのステップを追加し、CRITICAL がある場合はパイプラインを失敗させる。
- B. Docker イメージのベースイメージを最新版に毎月更新することで脆弱性を管理する。
- C. Amazon GuardDuty でコンテナの実行時異常を検知して ECR の脆弱性に対応する。
- D. 手動で Docker イメージのセキュリティスキャンを週次で実行し、レポートをセキュリティチームに送付する。
解答と解説を見る
正解: A
Amazon ECR の拡張スキャン(Amazon Inspector との統合)は、イメージプッシュ時と定期的に OS パッケージ・プログラミング言語パッケージの CVE(Common Vulnerabilities and Exposures)を自動スキャンする。スキャン結果は EventBridge イベントとして発火するため、CodePipeline や GitHub Actions にスキャン結果確認ステップを追加し、CRITICAL 脆弱性が存在する場合はパイプラインを失敗させる制御が実装できる。選択肢Dの週次手動スキャンは継続的な自動スキャン要件を満たさず、週の間に新たに公開された CVE への対応が遅れる。選択肢Bの月次ベースイメージ更新では、更新から次の更新まで既存の脆弱性が放置される可能性がある。また新たに公開された CVE への対応が遅れる。選択肢CのGuardDuty のコンテナランタイム保護は実行中コンテナの異常行動を検知するものであり、ECR イメージのビルド時・プッシュ時の脆弱性スキャンとは異なる機能。
📚 関連サービスの解説: Amazon ECR ・ Amazon EventBridge