DOPセキュリティとコンプライアンス
CodePipelineを使用したCI/CDパイプラインで、コンテナイメージのビルド後にセキュリティ脆弱性スキャンを自動化し、重大度CRITICALの脆弱性が検出された場合はパイプラインを停止して本番デプロイをブロックしたい。最も適切な実装はどれですか?
AECRプッシュ後にInspector V2のスキャンをEventBridgeで検知し、LambdaでCRITICAL脆弱性を評価してCodePipelineの停止APIを呼び出す
✓ 正解
Inspector V2はECRプッシュ時にコンテナスキャンを自動実行し、EventBridgeでスキャン完了イベントを捕捉してLambdaでCRITICALを評価、CodePipelineを停止する構成が要件に最も適合します。
BCodeBuildのbuildspec.ymlでTrivy(OSSスキャナー)を実行し、CRITICAL脆弱性があればexitcode 1でビルドを失敗させる
CodeBuildステップ内でTrivy(OSSスキャナー)を実行してexitcode 1でビルドを失敗させる方法は有効ですが、ECRプッシュ後の継続的な再スキャンはできず単発の検査に限られます。
CAWS Security Hubのコンテナイメージスキャン機能を有効化し、CRITICAL検出時にSNS通知でチームに警告する
AWS Security HubはセキュリティアラートをSNSで通知することはできますが、CodePipelineを直接呼び出して実行を停止するデプロイブロック機能は備えていません。
DDockerfileにベースイメージのバージョンを固定してCRITICAL脆弱性を含まないイメージのみを使用する
Dockerfileでのベースイメージバージョン固定はCRITICAL脆弱性を含まないイメージを使う予防策ですが、プッシュ後に新たに発見された脆弱性の検出やパイプラインの自動停止はできません。
解説
AWS Inspector V2はECRに統合されプッシュ時に自動的にコンテナイメージをスキャンする機能を提供します。スキャン完了イベントをEventBridgeで捕捉し、LambdaでInspector APIから詳細結果を取得してCRITICAL脆弱性の有無を判断、CodePipelineのStopPipelineExecution APIでパイプラインを停止できます。
選択肢Bの Trivy(OSSスキャナー)も有効ですが、CodeBuildステップ内での1回限りのスキャンであり、ECRプッシュ後の継続的な脆弱性モニタリングはできません。
選択肢Cの AWS Security Hub のコンテナイメージスキャン機能を有効化する方法は、脆弱性結果の集約には使えるがパイプライン停止の自動化には追加実装が必要です。
選択肢Dの Dockerfileにベースイメージのバージョンを固定する方法は、新規混入脆弱性を防げません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →