DOPセキュリティとコンプライアンス
あるフィンテック(FinTech:金融とテクノロジーを組み合わせた業種)企業では、本番環境へのAWS CodePipelineデプロイメントを実行する前に、自動ゲート処理を実装したいと考えています。
要件は以下の通りです。
・本番アカウントのAWS Security Hubに深刻度「CRITICAL」の未解決の検出結果(WorkflowStatus: NEW)が存在しないことを自動的に確認すること
・このゲートが失敗した場合、パイプラインは自動的に停止されること
最も適切な実装方法はどれですか?
ACodePipelineのDeployステージの直前にAWS CodeBuildステージを追加し、Security Hub GetFindings APIを呼び出してCRITICAL未解決の検出結果が存在する場合はビルドを非ゼロ終了コードで失敗させる
✓ 正解
CodeBuildステージでSecurity Hub GetFindings APIを呼び出し、既存の未解決検出結果も含めて確認し、CRITICAL未解決が存在する場合に非ゼロ終了コードで失敗させることで、パイプラインを自動停止できる。
BAmazon EventBridgeルールを作成してSecurity Hubの新規CRITICAL検出結果を監視し、AWS Lambda関数でCodePipeline StopPipelineExecution APIを呼び出してパイプラインを停止する
EventBridge+Lambdaは新規に発生した検出結果のイベントに反応するため、デプロイ前に既に存在する未解決検出結果を見逃す可能性があり、自動ゲート要件を完全には満たさない。
CSecurity HubのカスタムアクションをCodePipelineと統合し、各デプロイ前にセキュリティアナリストが手動でレビューを実行してからパイプラインを承認する
セキュリティアナリストによる手動レビューは自動停止要件を満たさず、デプロイプロセスが手動依存になってしまう。
DAWS Configの集約設定でSecurity Hubの検出結果を集約し、コンプライアンス違反時にAmazon SNS通知でデプロイチームに警告を送信する
Amazon SNSへの通知は警告機能であり、パイプラインの自動停止機能ではないため、要件を満たさない。
解説
CodeBuildステージでSecurity Hub GetFindings APIを呼び出し、WorkflowStatus=NEWかつSeverityLabel=CRITICALの検出結果が存在する場合に非ゼロ終了コードでビルドを失敗させることで、パイプラインを強制停止できます。これは既存の未解決検出結果も含めて確認できる「プログラマティックゲート」として機能します。
選択肢BはEventBridgeが新規発生イベントにのみ反応する仕組みのため、デプロイ実行時点で既に存在する未解決のCRITICAL検出結果を見逃す可能性があります。
選択肢Cはセキュリティアナリストによる手動レビューが必要であり、自動停止という要件を満たしません。
選択肢DはAmazon SNS通知でデプロイチームに警告を送るのみであり、パイプラインを自動停止する機能を持ちません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →