DEVOPS

DevSecOps:What、Why、Who、How

まずは簡単な自己紹介から始めましょう。私はテクノロジー業界で25年以上のキャリアを持ち、さまざまな機会に恵まれ、すばらしい経験をしてきました。キャリアを通じて常に感じてきたのが、情報に基づく(さらには自動化された)意思決定をあらゆるレベルで実現するための、データ活用ニーズの高まりです。私はお客様やパートナーの期待に応えるべく、セキュリティ、パフォーマンス、オブザーバビリティを向上させる製品とサービスの提供に取り組んできました。 

この20年ほどの間に、「アジャイル」という考え方が生まれ、それが「DevOps」へと進化し、さらに最近では「DevSecOps」へと発展しました。2022年6月にラスベガスで開催された.conf22では、その関連機能を数多くご紹介しました。当日の講演の様子は「.conf22で見逃せない4つのDevSecOpsセッション」(英語)でご覧いただけます。

シリーズ第1回となる同ブログでは、自社のニーズに合ったDevSecOpsプラクティスの導入方法を見つけるための技術的なインサイトをお届けします。

What:DevSecOpsとは何か

まずは、「DevSecOpsはプラクティスである」という認識を共有しましょう。プラクティスということは、それを可視化して実践に移すための機能が必要になります。その機能こそ、Splunkが一部の先進的なお客様やパートナーとの「反復型」コラボレーションを通じて提供しているものです。

DevSecOpsが何かを理解するために役立つ引用をいくつかご紹介します。

Gartner社によるDevSecOpsの定義:DevSecOpsは、最新のIT/DevOpsのアジャイル開発にセキュリティをできるだけシームレスかつ透過的に統合したものです。開発者の俊敏性やスピードを損なわず、現在の開発ツールチェーン環境を変えることなく行うのが理想です。
TechTarget社によるDevSecOpsの定義:DevSecOps (開発+セキュリティ+運用)は、アプリケーション開発、セキュリティ、運用、IaC (Infrastructure as Code)を統合して、自動化された継続的デリバリーサイクルを構築する管理アプローチです。
TechBeacon社のガイド『DevSecOps and Security as Code』序文より:将来は「Security as Code」(セキュリティのコード化)にあります。このガイドでは、DevSecOpsを通じたその実現方法をご紹介します。さらに、SANSのレポート『Rethinking the Sec in DevSecOps: Security as Code』を参考に、セキュリティ担当者にとってのDevSecOpsの位置づけ(優先度、トレーニング、テクノロジー/ツール投資)を明らかにします。
IDC社によるDevSecOpsの定義:IDCのDevSecOps/アプリケーションセキュリティチームは、セキュリティをSDLCの初期段階から組み込み、DevOpsパイプラインの一部としてアプリケーションに挿入するための製品、テクノロジー、自動化セキュリティプロセスを調査しています。これには、静的/動的/インタラクティブ分析、SCA (ソフトウェアコンポジション解析)、シークレット管理、RASP (実行時アプリケーション自己保護)、APIのセキュリティ、コンテナとKubernetesのセキュリティ、WAF (Webアプリケーションファイアウォール)が含まれます。また、商用サポートされたコンプライアンス検証済みのオープンソースソリューションなど、コードセキュリティサービスを提供する開発ツールベンダーの役割も対象になります。
Accenture社のDevSecOpsへの移行に関する導入事例より:Accentureは、ビジネスニーズの拡大に対応するため、情報テクノロジーの新たな提供方法への移行を進めています。この社内改革では、開発チームと運用チーム間のコラボレーションを最適化しながらプロセス全体にセキュリティを組み込むことに重点を置いています。DevSecOps (開発、セキュリティ、運用)の実現により、アプリケーション開発、セキュリティ、IaC (Infrastructure as Code)、運用プロセスを、継続的で高度に自動化された1つのエンドツーエンドデリバリーサイクルに統合します。製品開発ライフサイクルにセキュリティを組み込むことで、摩擦を低減してスピードを維持しながらビジネスを保護できるようになります。

「プラクティス」と呼べるもの全般に言えることですが、多くの場合、関係者間でコラボレーションの機会を増やして見方や考え方の統一を図り、共通のビジョンに対する理解と期待される成果を共有することが、大きな効果を生みます。

DevSecOps

Why:DevSecOpsを導入すべき理由

DevSecOpsとは何かを理解したら、期待される具体的な成果を考えてみましょう。実際に報告されている主な成果には以下のものがあります。

  1. 可視性
  2. レジリエンス(耐障害性/回復力)
  3. 安定性
  4. 自動化
  5. 効率

DevSecOpsの主な成果

Splunkが公開したグローバル調査レポート『2023年データイノベーションによる経済効果』では、レジリエンスの強化と9.5%の増益を達成して競争に勝つための8つの重要な戦略を紹介しています。

DevSecOpsのプラクティスは、組織全体のレジリエンスを強化して複数のKPIを改善するための確実な方法であり、上記の調査で明らかになったとおり、具体的な増益につながります。

その第一歩として、数カ月後と数年後に期待される成果と主な目標を設定し、それに向けてすべてのチーム間で足並みを揃えることをお勧めします。これにより、各チームが現在地と今後の方向性を明確に理解して、組織全体で大きな価値の実現を加速できるでしょう。

Who:DevSecOpsから価値を得るのは誰か

DevSecOpsは、ドメインを超えたデータアクセスとデータ活用を促進するためのプラクティスであると同時に優れたツールでもあります。そのため、すばやくインサイトを獲得してビジネス成果につなげるというメリットを組織内の複数のチームが享受できます。 

DevSecOpsを導入すれば、相関付けの能力を高めて、これまで気づかなかった成果を実現できる可能性があります。また、プロセスの自動化によって、チーム間の連携を活かしたスピードと規模を達成できます。 

組織内のさまざまなペルソナに適したDevSecOpsのユースケース例を次に挙げます。これらのユースケースはそれぞれ、真の価値と成果をもたらします。DevSecOpsで実現できる自社にとってのメリットを考えるうえで参考にしてください。

DevSecOpsのユースケース例

SplunkはDevSecOpsユースケースをお客様とともに開拓していきたいと考えています。この1年間、さまざまなお客様やパートナーと密接に協力して試行錯誤を繰り返し、上記の価値を創出してきました。これら初期段階の協創を通じて、15以上のペルソナと20以上のユースケースを構築し、現在、関係者とともにDevSecOpsプロセスとツールの改善に取り組んでいます。ユースケースには展開の余地がまだたくさんあります。SplunkによるDevSecOpsソリューションの次期フェーズの開拓に皆様もぜひご協力ください。

How:DevSecOpsでどのように成果を達成するか

組織が設定したDevSecOpsのユースケースと目標に基づいて十分な成果を得るには、適切なプロセスとツールが欠かせません。DevSecOpsの始め方をわかりやすく示すために、3つのイラストを作成しました。 

これらのイラストは、DevSecOpsで特に重要な取り組みを示します。 

  1. CI/CDプロセス:自動化により結合した結果を活用する
  2. セキュリティ:ライフサイクルの最初から最後まで組み込む
  3. スピード:DevOpsと同じスピードを達成する

DevSecOpsで重要な取り組み

Splunkソリューションは、DevSecOpsのプラクティス全体でオブザーバビリティを実現し、開発チーム、運用チーム、セキュリティチームが必要とする実用的なインサイトを提供します。 


DevSecOpsのロードマップ

Splunk CloudとSplunk Infrastructure Monitoringで重要なアプリケーションを保護

  • 脆弱性スキャンの可視化:脆弱性スキャンプロセスの対象範囲や有効性、アクティビティを測定できます。 
  • 成功基準の可視化:複数のチームで共通のKPIやメトリクスを確立して、DevSecOpsプラクティスの成果やパフォーマンスを測定できます。 

Splunk CloudとSplunk Enterprise Securityでソフトウェアデリバリーチェーンを保護

  • ツールチェーンへのアクセス保護:開発/テスト環境、CI/CDなどのツール、シークレット管理システム、コードリポジトリ、その他の開発リソースへの不審なアクセスやアクティビティを検出し、アラートを生成できます。 
  • ツールチェーンの可用性確保:CI/CD、シークレット管理、コードリポジトリ、アーティファクト管理など、SDLCの基幹インフラのレジリエンスを確保できます。 

Splunk CloudとSplunk Observability Suiteで本番アプリケーションを保護

  • 継続的な検証:本番環境で新たな脆弱性が見つかった場合にアラートを生成し、脆弱性が悪用される前に修復できます。 
  • サイロ解消による可視性向上:フルスタックの監視により、本番環境のインシデントから原因となったコードを辿ることができます。Splunk APMとSplunk Infrastructure Monitoringでは、ユーザーアクティビティからインフラまで、本番環境のアクティビティがデプロイと相関付けられます。そこから得られた有用なコンテキストをSplunk On-Callに転送してインシデント対応を効率化し、MTTIとMTTRを短縮することもできます。

次のステップ

詳細は、2ページにまとめた『Splunkが実現する可視化とアクションでDevSecOps戦略を強化』ソリューションガイド(英語)をご覧ください。Splunkは今後も、DevSecOpsについてお客様と継続的に話し合い、フィードバックからインサイトを引き出して、革新的なソリューションを築いていきます。

このブログ記事はSplunkのソリューションイノベーションエンジニアリング担当ディレクターであるTodd DeCapuaが執筆しました。ご協力いただいた以下の同僚に感謝申し上げます(敬称略):Patrick Coughlin、James Brodsky、Paul Pelletier (以上、全員Splunk)。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

Todd DeCapua
Posted by

Todd DeCapua

Todd DeCapua is a passionate software executive, technology evangelist and business leader with extensive hands-on expertise.


Throughout his career, he has held various leadership and strategic roles in organizations like: Splunk, JPMorgan Chase & Co., CSC, Hewlett Packard, Shunra Software, TechBeacon.com, Vivit Worldwide, Apposite Technologies, TEDx Wilmington, ING Direct, Andersen Consulting, and more.


He is also an author and contributor, well known speaker / evangelist, and co-author of the O’Reilly published book titled, “Effective Performance Engineering” and “Blockchain for the Enterprise” and now completing a book on ‘Data’ with Manning Publications.