DevSecOps とは何か? デリバリーパイプラインにセキュリティを組み込む
DevSecOps は DevOps を拡張し、デリバリーのあらゆる段階にセキュリティを織り込むことで、最後の別個のゲートではなく、共有された自動化された責任にします。
DevOps は開発と運用の間の壁を取り払いました。DevSecOps は、これまで遅く、後回しで、しばしば対立的なチェックポイントであったセキュリティに対して同じことを行います。考え方はシンプルです。セキュリティは全員の仕事であり、自動化されたチェックとしてパイプラインに組み込まれるので、セキュアなソフトウェアが他のすべてと同じスピードで出荷されます。
文化的なシフト
DevSecOps とは、開発者、運用、セキュリティがオーナーシップを共有することを意味します。セキュリティが最後に壁越しに指摘事項を投げつけるのではなく、セキュリティの専門知識がプロセスに組み込まれ、開発者はほとんどの問題を自分で処理するためのツールとフィードバックを持ちます。
自動化がエンジン
- スキャン (SAST、依存関係、コンテナ) を CI で自動化。
- すべてのコミットと PR でのシークレット検出。
- 実際の対応可能な指摘事項でブロックするセキュリティゲート。
- コードとしてのポリシーとコンプライアンスのチェック。
スピードとセキュリティの両立
かつての前提は、セキュリティはデリバリーを遅くするというものでした。DevSecOps はそれを否定します。チェックを自動化し問題を早期に捉えることで、セキュアなソフトウェアはかつてセキュアでないソフトウェアがそうであったのと同じ速さで出荷でき、実際に遅延を引き起こす後段階の予期せぬ事態を避けられます。
shift-left との重なり
shift-left (チェックをより早期に移すこと) は DevSecOps の中核的なプラクティスですが、DevSecOps はより広範です。ランタイムセキュリティ、インシデント対応、そしてセキュリティを後付けではなくデフォルトにする文化的変化もカバーします。
コントロールポイントとしてのパイプライン
DevSecOps では、CI/CD パイプラインがほとんどのセキュリティを強制する場所なので、高速で信頼できるパイプラインが重要です。分離されたエフェメラルな runner は各 job にクリーンで改ざん耐性のある環境を与え、managed runner は追加のセキュリティステップがスピードの負担にならないようにします。
重要なポイント
- DevSecOps はセキュリティをパイプラインに組み込まれた共有責任にします。
- 自動化されたスキャンとゲートにより、セキュアなソフトウェアをフルスピードで出荷できます。
- shift-left を含みますが、ランタイム、対応、文化にまで拡張されます。