エンタープライズセキュリティが失敗する原因は、設定ミスや不十分なツール、質の低いトレーニングやユーザーエラー、あるいはチーム間のコミュニケーションが完全に欠如していることなど、いくつかに限られます。DevSecOpsは、開発、セキュリティ、運用の各チームとベストプラクティスを組み合わせ、チーム間のサイロ化を解消して、製品・サービスのライフサイクルのあらゆる段階にエンタープライズセキュリティを組み込むことを目指します。DevSecOpsの手法でチームがエンタープライズセキュリティを強化する具体的な方法を見ていきましょう。
DevSecOpsとは?
DevSecOpsは、開発、セキュリティ、運用に携わるチームと、それぞれのワークフローを統合することに重点を置いています。これらの業務を統合することで、すべてのユーザーとプロジェクトチームがITライフサイクルの各段階でセキュリティのベストプラクティスを適用するよう促します。
DevSecOpsはDevOpsやITOps、その他の「ops」手法に似た戦略だと考えてください。ただし、プロジェクトの各段階でセキュリティをより重視します。これらの技術戦略はいずれも、チーム間の協力と、プロジェクトの新たなニーズに応じて柔軟に方向転換することを重視しています。
セキュリティ更新や取り組みの適用には時間がかかることがあり、特に、特定のセキュリティ対策が完了するまでプロジェクト全体が停滞する場合は顕著です。DevSecOpsでは、反復的なセキュリティチェックやツール、自動化されたプロセスをDevSecOpsプロジェクトの全メンバーが適用するため、セキュリティ上の問題がプロジェクト全体の課題になる前に解決できます。
別のops手法について学ぶ:NetOpsへの移行:ベストプラクティス
DevSecOpsのエンタープライズ向けメリット
アジャイルなプロジェクト管理機能
他のops手法と同様、DevSecOpsはアジャイルなプロジェクト管理に適しています。プロジェクトは段階的に構築され、チームとワークフローを可視化することで、スピードや品質を損なわず、必要に応じて方向性や目標を変更できるよう設計されます。アジャイルなプロジェクト管理戦略の中核要素としてセキュリティを組み込めば、セキュリティ上の懸念によってチームがプロジェクト全体を中断したり、停止したりする可能性を抑えられます。
さらに、将来のセキュリティインシデントを防ぐ強固なセキュリティ対策を組み込みやすくなります。DevSecOpsでは、プロジェクトの各段階で講じるべきセキュリティ対策を定め、正式なセキュリティ監査を実施する前から、プロジェクトと最終製品の両方が安全であるようにします。
より訓練されたスタッフ
セキュリティチームを製品開発やプロジェクト管理の早い段階から組み込めば、チームメートにセキュリティのベストプラクティスを随時教えられます。その結果、DevSecOpsチーム全体のスタッフが開発・実装プロセスでセキュリティのベストプラクティスを活用し、セキュリティ情報を強化した製品やドキュメントも作成できるようになります。DevOpsにおけるこの、より深く根付いたセキュリティへの取り組みにより、ユーザーエラーの余地も減ります。
プロジェクトライフサイクル管理の可視性向上
従来のDevOpsやITOpsのチームでは、セキュリティ上の懸念が発生するまで、セキュリティ担当者にプロジェクトのインフラを見せることはほとんどありません。このような事後対応型のプロジェクトセキュリティでは、セキュリティ専門家が問題を発見する前に、セキュリティ上の事象がより複雑な問題へと発展する可能性があります。DevSecOpsのアプローチなら、セキュリティチームはプロジェクトの開始から完了まで、ライフサイクル全体を可視化できます。そのため、プロセス全体を通じてセキュリティ対策を追加し、問題を軽減できます。
DevSecOpsのその他のメリットとベストプラクティス: ITセキュリティをDevSecOpsに統合する:ベストプラクティス
DevSecOps導入のベストプラクティス
1. すべてのチームメンバーにDevSecOpsのポリシーを教育する
開発者、IT運用の専門家、セキュリティ専門家、その他のエンジニアは、DevSecOpsのポリシーとベストプラクティスについて最初にトレーニングを受ける必要があります。そのうえで、企業の主要なステークホルダーがDevSecOpsとは何か、なぜ重要なのか、そしてチームがこの手法をどのようにビジネスに適用しているのかを理解することが重要です。これら2つのグループ以外の従業員にも、アクセス権を持つ開発のすべての段階で、製品を安全に利用する方法についてトレーニングを行う必要があります。
2. DevSecOpsツールをワークフローに組み込む
適切なDevSecOpsソフトウェアやアプリケーションを使えば、ポリシー管理からセキュリティ監視とトラブルシューティングまで、あらゆる作業を自動化できます。予算やビジネスの主な目標に合ったDevSecOpsツールを選びましょう。強固なセキュリティ機能や統合機能を備えていれば、一部のDevOpsツールも利用できます。
3. 変更管理のベストプラクティスに従う
DevSecOps体制の多くのチームは、他のITチームの目標を考慮せず、独立して作業し、目標を追求することに慣れています。DevSecOpsのメンバーに協力が必要だと伝えるだけでは不十分です。チームとして軌道を外れずに進めるよう、構造化された支援やトレーニング、達成すべき明確な目標を提供しましょう。特定の変更管理ツールやアジャイルなプロジェクト管理ツールは、チームのコミュニケーションと協力体制の構築に役立ちます。
次の変更管理ツールのベストプラクティスについてご覧ください。
4. プロセスと目標を明確に文書化する
DevSecOpsプロジェクトは、再現性がある場合に最も効果を発揮します。そのため、企業のプロセス、プロジェクトの目標、チームにとって効果の高かった過去の戦略を慎重に文書化することが重要です。多くのDevOpsおよびDevSecOpsツールには、プロジェクトのテンプレート化やポリシー管理など、文書化に役立つ機能が備わっています。
5. セキュリティを継続的に評価・監視する
チームのDevSecOps戦略がDevOpsだけの戦略に戻ることのないようにしましょう。セキュリティを常に最優先にするには、すべてのプロジェクトについて、ITライフサイクルのあらゆる段階でセキュリティ監視を組み込むことが最善です。自動化されたセキュリティ監視は、重要なセキュリティ対策を確実に見落とさないために役立ちます。
6. 時間の経過に合わせてアジャイルなセキュリティ調整を行う
最初に策定したDevSecOpsのセキュリティ戦略が完璧とは限りません。プロジェクト計画やチームメート、企業全体の目標もいずれ方向転換する可能性があるため、時間の経過に合わせてセキュリティ計画を調整することを恐れないでください。
7. チームから継続的にフィードバックを得る
DevSecOps戦略は、継続的インテグレーションと継続的デリバリー(CI/CD)を、DevSecOpsチームと社外のステークホルダーの双方がレビューした場合に最も効果的に実現できます。これらの製品やプロセスがどのように機能しているかについて、定期的にフィードバックを提供するレビューチームの設置を検討しましょう。特に重要なのは、営業や人事などIT部門以外のチームも参加させ、得られるフィードバックにより幅広い視点を取り入れることです。
次に読む: 2022年のDevOpsツール&ソフトウェア ベスト