【用語解説】DevSecOpsとは?
【DevSecOpsとは】
セキュリティチェックは従来、開発ライフサイクルの最後に行われており、修正が必要になると開発者にコード修正が戻されることでコストと時間がかかっていました。DevSecOpsは、開発、セキュリティ、運用の各チーム間のコラボレーションを改善することで、組織の生産性を向上させ、チームがビジネスの価値を高める作業に集中できるようにすることを目的としたアプローチです。
【DevSecOpsを導入するメリット】
- システム開発の流れの中で、バグや脆弱性を早い段階で発見出来るとリリーススケジュールの遅延や改修コストの増加を防ぐことが出来る
- セキュリティとアジリティの両立
- より安全なソフトウェアを、より迅速にリリース可能になる
- 開発者がコーディング中に脆弱性を修正可能になるため、セキュアなコードの書き方を学ぶことができ、セキュリティ・レビュー中のやり取りを減らすことができる
- 顧客やビジネス関係者が求めている、高速で信頼性が高く、セキュアなソフトウェアが提供可能になる
- 自動化されたセキュリティテスト、継続的インテグレーションと継続的デリバリー(CI/CD)、脆弱性パッチなど、最新のコラボレーションとセキュリティ技術に対応できる
【DevSecOpsの注意点】
開発、運用の各チームの生産性を保つ
セキュリティが強化できたとしても、それによって開発・運用のサイクルが停滞してしまっては、DevOpsのメリットであるスピードが損なわれてしまいます。自動化の仕組みやツールの活用、組織体制やルールを整備することで、開発・運用のサイクルを効率的に循環させる工夫が必要です。
【DevSecOpsを導入する流れ】
DevSecOpsを取り入れるための5つの方法
1. 第一にセキュリティとセキュリティ専門家は、ボトルネックや障壁ではなく、貴重な資産であることを忘れない。
より広い視野を見失わないこと:プロセスの後半になるまで発見されない脆弱性は、修正するのがより難しく、より高価になる。ということを常に意識する。
2. 小さなイテレーションで作業する。小さなかたまりでコードをリリースすることで、脆弱性をより迅速に検出できるようになる
3. 誰もが貢献できるようにする。
誰もがコードやプロセスにコメントしたり、改善を提案したりできる文化を確立する。チームの全員に変更を提案できる環境を整える事で、コラボレーションが始まり、プロセスを改善する意識が全員に生じる。
4. 常に監査に備える。
チーム全員がコンプライアンスの重要性を理解し、コンプライアンス情報を収集・更新するための規範を確立する。
5. セキュリティのベストプラクティスについて全員をトレーニングする。
詳細なセキュリティガイドラインと実践的なトレーニングを提供することにより、開発チームと運用チームがセキュアな開発について十分な知識を持つようにする。
【まとめ】
このようにDevSecOpsとは、開発、セキュリティ、運用の各チームの協力によって、セキュリティとアジリティの両立を実現する考え方です。
とはいえ、その実現にはクラウド化や、変化を許容しない企業文化が存在していたりと、困難をきわめます。
しかしながら、市場のニーズやテクノロジーが日々変化する現在において、ビジネス需要に柔軟に対応していくことはビジネス価値の最大化には不可欠です。
是非、DevSecOpsを取り入れ、セキュリティを維持しながらビジネスをを加速させていきましょう
クリエーションラインはGitLabの公式パートナーです。
GitLabをはじめとするDevSecOpsプラクティスに関しての有償のサービスもご提供可能です。
製品の詳細や支援の内容など、お気軽にお問い合わせください。