無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

ある会社のDevOpsチームは、Pythonで実装されたLambda関数をCodeCommitで管理し、CodePipelineで本番環境にデプロイしています。セキュリティチームから「SQLインジェクション脆弱性・非推奨の暗号化アルゴリズム・ハードコードされたAWS認証情報を含むコードを本番デプロイ前に自動的にブロックしてほしい」という要件が提示されました。最小限の運用オーバーヘッドでこの要件を満たす方法はどれですか?

A
CodeBuildステージにBandit(PythonのOSS(オープンソース)セキュリティスキャナー)をインストールし、buildspec.ymlに高重大度の検出があった場合にexit 1で終了するスクリプトを追加する
✓ 正解
BanditはPythonのSQLi・弱い暗号化・ハードコード認証情報を検出でき、buildspec.ymlへの追加だけでCodePipelineに統合できます。高重大度でexit 1によりデプロイ前自動停止が可能です。
B
CodePipelineにAmazon CodeGuru Securityのソース分析アクションを追加し、重大度しきい値をHIGH以上に設定する。セキュリティ問題が検出された際にパイプラインが自動的に失敗するよう構成する
Amazon CodeGuru SecurityはCodePipelineのアクションプロバイダーでしたが現在はサービスが終了しており利用できません。
C
Lambda関数のデプロイ後にAmazon Inspector v2のLambdaスキャン機能を有効化し、高重大度の検出があった場合にEventBridgeルールでCodePipeline APIを呼び出してロールバックを実行する
Lambda関数のデプロイ後にAmazon Inspector v2のLambdaスキャン機能を有効化し、高重大度の検出があった場合にEventBridgeルールでCodePipeline APIを呼び出してロールバックを実行する方法はデプロイ後スキャンのため「事前ブロック」要件を満たしません。
D
AWS CodeCommitのプルリクエスト承認ルールテンプレートを設定し、セキュリティ担当者による手動コードレビューを必須とする
AWS CodeCommitのプルリクエスト承認ルールテンプレートを設定し、セキュリティ担当者による手動コードレビューを必須とする方法は手動プロセスです。

解説

BanditはPython向けOSSセキュリティスキャナーで、SQLインジェクション(B608)・弱い暗号化アルゴリズム(B303等)・ハードコードされたAWS認証情報(B105等)を検出できます。buildspec.ymlに数行追加するだけでCodePipelineのCodeBuildステージに統合でき、重大度HIGH以上の検出でexit 1にすることでデプロイ前にパイプラインを自動停止できます。 Amazon CodeGuru SecurityはCodePipelineのネイティブアクションプロバイダーとして提供されていましたが現在はサービスが終了しており利用できません。 選択肢CのAmazon Inspector v2のLambdaスキャンはデプロイ後スキャンのため「事前ブロック」要件を満たしません。 選択肢DのCodeCommit手動承認ルールは自動化されていません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る