LinuCシステムアーキテクト SA02試験の例題と解説

SA.08.3継続的な統合とデプロイ

LinuC システムアーキテクト SA02試験の出題範囲から「SA.08.3 継続的な統合とデプロイ」についての例題を解いてみます。

Linucシステムアーキテクト SA02試験 出題範囲


例題

Web サーバーアプリケーションの更新 (リポジトリへのプッシュ) タイミングに合わせてコンテナイメージのビルドとイメージに対する脆弱性診断ツールによる検証を順次実行するように CI 環境を構築した。この方針で脆弱性診断を行うことにより得られるメリットとして正しくないものは次のうちどれか。

  1. ツールの実行結果に応じてCIを失敗扱いとするなどの設定により、見つかった脆弱性を対応しないまま本番環境にデプロイしてしまう可能性を軽減できる。
  2. 開発途中における脆弱性の確認・対応が容易になるので、本番稼働開始直前の最終テストで脆弱性が発覚し手戻りになるリスクを軽減できる。
  3. 脆弱性データベースの監視が自動で継続されるので、運用中に脆弱性が新たに報告された場合にも即座に検知できる。
  4. 依存するベースイメージの更新など、開発者自身による変更ではない間接的な変更部分に含まれる脆弱性も検出できる可能性がある。

※この例題は実際の試験問題とは異なります。


解答と解説

正しくないものは、「3.脆弱性データベースの監視が自動で継続されるので、運用中に脆弱性が新たに報告された場合にも即座に検知できる。」です。

設問文の記載のとおり、今回の CI 環境はアプリケーションの更新をトリガーにコンテナイメージのビルドと脆弱性診断を行う設計になっています。ビルドされたコンテナイメージの脆弱性診断が必ず行われることがメリットになる一方で、アプリケーションが更新されない間はトリガーがなく CI が実行されないので、脆弱性診断も実行されません。そのため、運用中に新たな脆弱性が報告されても、その脆弱性を診断する機会がありません。新たに報告される脆弱性を即座に検出することが目的である場合は、別のトリガー (定期実行など) を検討する必要があります。

残りの選択肢はいずれも CI を活用して開発プロセスを簡略化したり、システムの変更箇所を明確化したりすることで、継続的な開発を効率化できる可能性があるというメリットについて述べています。


例題作成者

LinuC システムアーキテクト 試験開発コミュニティ

ページトップへ