In this article
DevSecOps文化
オンラインメディアやマーケティングでは、DevSecOpsの方法論、モデル、手法といった言葉が数多く使われています。しかし、成功するには、DevSecOpsが何よりもまず文化であることを理解する必要があります。DevSecOps文化は、通常はサイロ化している開発、セキュリティ、運用の役割を結び付け、協力しながら責任を共有する体制を築くことを重視します。責任のなすり付け合いや責任逃れの壁を取り払い、組織内のさまざまな分野の間に共感と共通の目標を育むことを目指します。
DevSecOps文化を支える4つの柱
組織のDevSecOps文化を変革するには、次の4つの柱を考慮する必要があります。
人
プロセス
テクノロジー
ガバナンス
DevSecOpsの原則は、これら相互に関わる4つの要素を基盤とし、サイロをなくして全員が共通の目的に集中できるようにします。責任の共有と相互理解を実現するには、チーム間の壁を取り払う必要があります。そのため、人こそがDevSecOps導入の出発点であり、基盤となります。DevOpsチームとセキュリティチームを再編し、効率的に連携できる体制を整えるとともに、組織全体に質の高い適切なトレーニングを提供すれば、セキュリティを障害ではなく意識の一部として定着させられます。
次のステップでは、連携をさらに深めるとともに、開発プロセス全体のセキュリティを高めることを目指して、支援するプロセスを導入します。こうしたプロセスの変更は、開発、セキュリティ、運用の3つの機能領域にまたがり、それらの間に一貫性と統一性をもたらします。そして、安全で安定したソフトウェアを大規模に開発するという共通の目標を確立します。
さらにDevSecOpsのアプローチでは、従業員がこれらのプロセスを実行し、自動化できるよう、適切なテクノロジーを整える必要があります。これにより、組織の攻撃対象領域を縮小し、技術的なセキュリティ負債を効果的に管理できます。DevSecOpsパイプラインを支えるツールであるテクノロジーは、多くの組織がまず検討する領域です。
最後に、真のDevSecOps文化において見落とされがちな要素がガバナンスです。人、プロセス、テクノロジーが互いを支え合う中で、ガバナンスも重要な役割を果たします。他の要素のパフォーマンスを測定し、文化を構成するすべての要素が連携するよう、どこにさらに注力すべきかを明らかにします。

ベストプラクティスとして、DevSecOpsへの取り組みを始める前に、組織は現在の開発、セキュリティ、運用チームを評価する必要があります。この評価の目的は、DevSecOpsのアプローチを組織にどのように導入するかを計画することです。組織全体のDevSecOps体制への移行準備状況を把握し、不足を解消するための具体的なアクションを明確にしましょう。
人:チームの力を引き出す
セキュリティに関して人を「最も弱いリンク」と見なすのではなく、会社の防御を担う重要な存在、つまり最も強いリンクとして力を引き出すことができます。人を妨げるのではなく支える、現代的なセキュリティ文化と仕組みが、セキュリティを機能させるうえで不可欠です。DevSecOpsへの移行は、従来のセキュリティチームが事業部門とどのように連携するかを見直すことから始まります。ただし、運用も忘れずに、幅広く取り組む必要があります。開発、セキュリティ、運用チームの強固な連携により、コード、ソフトウェア、アプリケーションのセキュリティ品質について早期にフィードバックを得られ、修正にかかるコストも削減できます。
従来、開発は迅速なリリース、セキュリティはアプリケーションの保護、運用は安定性に責任を負っていました。DevSecOpsはこうしたサイロを解消し、責任のなすり付け合いをなくして、3つの役割を統合します。目標は、安全で安定したソフトウェアを迅速にリリースすることです。全員が3つの目標すべてに等しく責任を持ち、それぞれの専門知識を活かして他のメンバーを支援します。説明責任、共感、能力を発揮できる環境づくりが、チームの成功に不可欠です。これを実現するには、基盤となるプロセスも変える必要があります。

プロセス:新しいDevSecOps文化を支える
組織の意識を変えるには、新しい文化をスムーズに定着させるプロセスが必要です。DevSecOpsにおける組織のプロセスを見直すには、権威主義的なポリシーやワークフローが生み出す従来の壁を取り払わなければなりません。責任共有のモデルを支えるために、各分野が目的を共有し、対等な立場で取り組める状態を整える必要があります。
DevSecOpsへの移行では、ゲート型のモデルをなくす必要があります。従来のセキュリティ戦略では、セキュリティ活動を行う重要なマイルストーンを設定し、許容できる結果が得られるまで次の段階に進めないようにしていました。特に成熟度の高い組織では、ソフトウェアをデプロイする前に運用チームが同様のゲートを設けることもありました。このモデルではフィードバックループが長くなり、ソフトウェアのリリースが遅れるだけでなく、サイロ化した考え方が強化されます。
ゲート型の仕組みに代わるものとして、相互の説明責任を受け入れ、その実現に向けてプロセスを変える必要があります。開発、セキュリティ、運用の各担当者が協力し、迅速で安全かつ安定したソフトウェアというすべての目標を達成すべきです。デリバリーパイプライン全体にセキュリティと運用のベストプラクティスを適用するプロセスが、この連携と説明責任の確立に欠かせません。もちろん、そのためには適切なテクノロジーの支援も必要です。
テクノロジー:成功への道筋をつくる
人とプロセスが連携して新しいDevSecOps文化の定着を目指しても、基盤となるテクノロジーが変革に対応できなければ、すべてが頓挫しかねません。デリバリーパイプラインに統合でき、(多くの場合は自動化により)少ない労力で利用でき、DevSecOpsモデルの複数の機能領域にまたがるニーズを支えられるテクノロジーを導入する必要があります。

DevSecOpsのテクノロジーと聞くと、ビルド、昇格、デプロイといったデリバリープロセスの自動化にとらわれがちです。しかし、自動化が常に正解とは限りません。組織はテクノロジーを見直し、可能かつ必要な部分は自動化し、可能な部分は効率化し、現実的でない、あるいは冗長な部分はなくす必要があります。パイプラインで使うテクノロジーの数を減らすことは、見過ごされがちですが、ソフトウェアデリバリーを最適化する効果的な方法です。
ガバナンス:成果を測定する
組織文化の変革を進めるには、進捗を把握し、成功を測定し、課題を特定することが必要です。ガバナンス機能は、プラクティスが遵守されているかだけでなく、期待した効果を上げているかも監督します。ツールが適切に機能していても、それを取り巻くプロセスが煩雑であれば、パイプラインは失敗しかねません。優れたプロセスが定義されていても、人々が一貫して実践しなければ、同様に失敗につながります。適切なガバナンスプログラムは、他の要素と連携し、問題が起きる可能性のある領域を明らかにします。
DevSecOps文化におけるガバナンスの重要な役割の一つは、包括的なメトリクスプログラムを確立することです。文化を成長させ、継続的に改善できていることを、事業部門に示す必要があります。DevSecOpsへの取り組みのような文化変革は長期的な投資であるため、開始した施策の価値を過程の中で示すことが重要です。DevSecOpsの目標は最終的な成果だけではなく、組織内の文化を継続的に改善し、成熟させることです。ガバナンスプログラムのメトリクスとKPIには、この考え方を反映させる必要があります。