はじめに
本ドキュメントは、一般的なソフトウェア開発と運用・保守に多く用いられる継続的インテグレーション/継続的デリバリ(以下、「CI/CD」という。)パイプライン環境において、考慮すべきセキュリティ対策を提示する。
背景と目的
「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」は、政府情報システムにおける「効率性」と「セキュリティ」等の非機能要件を向上する上で、「アジャイル的な手法」及び「オンプレミス時代の人海戦術的な方式を踏襲せず自動化する」ことを重視している。そのために、迅速な変更要求に応えて効率的に変更差分をリリースできる体制が求められ、特に同文書で例として挙げられた「CI/CDパイプライン」が欠かせない。
CI/CDパイプライン自体は、「アジャイル的な」開発を実践しているWebアプリケーションやスマートフォンアプリの運営において、広く普及したシステム・コンポーネントである。CI/CDパイプラインは元となるソースコードに対する作業から、最終的な成果物のサーバ等の環境への配送及び実行といった、一連の業務プロセスを自動化する。政府情報システムそのもののモダンアプリケーション化、その継続的かつ効率的な提供のため、CI/CDパイプラインは重要な役割を担うことが予想される。
一方、業務要件上、CI/CDパイプラインはサーバやアクセス管理等のリソースに対して変更を行える高い権限を有する。そのため、CI/CDパイプラインは本質的にリスクの高いシステム・コンポーネントである。その重要度及びリスクへの注目、そして実際に発生したCI/CDパイプラインに侵害するインシデントの事例から、米国におけるCI/CDパイプラインの保護に関するガイドラインが急増している。こういった海外の動向や、本来のCI/CDパイプラインにおける業務上の重要性及びリスクから、我が国でもガイドラインの整備が将来的に必要になるであろう。本技術レポートは、CI/CDパイプラインの保護の検討に必要となるセキュリティ対策を整理し、提供する。
具体的には、CI/CDパイプラインに関する概観及び用語を整理しつつ、情報システムの開発からリリースまでの一連の業務に対して、CI/CDパイプラインが担う処理を紹介する。また、CI/CDパイプラインにおいて必要とされる対策について記述する。
適用対象
本文書は、政府情報システムにおけるCI/CDパイプラインを適用の対象とする。
位置づけ
本文書は、標準ガイドライン群のInformative(情報提供)のレベルの参考文書である。
本書の構成
本文書ではCI/CDパイプラインにおけるセキュリティ対策を解説する。具体的には2章で、CI/CDパイプラインのシステム・コンポーネントとしての概観を紹介し、注視すべき対象であることを述べる。続く3章では、CI/CDパイプラインを3つのフェーズに分解し、それぞれにおける技術的な対策を紹介する。