DevSecOpsとは

公開日 2021年10月6日
更新日 2026年06月19日
無限に広がるデータの概念図

DevSecOpsとは

DevSecOpsとは、Development(開発)、Security(セキュリティー)、Operations(運用)の頭文字を取った言葉です。ソフトウェア開発ライフサイクルのあらゆる段階にセキュリティーを組み込み、自動化するプラクティスを指します。

DevSecOpsは、開発組織におけるセキュリティーへの取り組み方の自然かつ必要な進化と言えます。これまで、セキュリティーは開発サイクルの最後に、ほとんど後付けでソフトウェアに追加されるものでした。その後、別のセキュリティー・チームがセキュリティー対策を適用し、さらに別の品質保証(QA)チームがその対策をテストしていました。

ソフトウェアの更新が年に1~2回しかリリースされなかった頃は、このようなセキュリティー上の課題への対処も管理可能でした。しかし、ソフトウェア開発者がアジャイルおよびDevOpsプラクティスを採用し、ソフトウェア開発サイクルを数週間、さらには数日に短縮することを目指すようになると、従来の後付けのセキュリティー・アプローチは許容できないボトルネックとなりました。

DevSecOpsは、アプリケーションとインフラストラクチャーのセキュリティーをアジャイルおよびDevOpsのプロセスとツールにシームレスに統合します。セキュリティー上の問題が発生した時点で対処することで、修正をより容易かつ迅速に行え、修正コストも低く抑えられるほか、本番環境へのデプロイメント前に問題を解決できます。

さらに、DevSecOpsにより、アプリケーションとインフラストラクチャーのセキュリティーはセキュリティーのサイロの単独責任ではなく、開発チーム、セキュリティーチーム、IT運用チームの共有責任となります。ソフトウェア開発サイクルを遅らせることなく安全なソフトウェアの提供を自動化することで、DevSecOpsのモットーである「ソフトウェアをより安全に、より早く」を実現します。

DevSecOpsのメリット

DevSecOpsの主な2つのメリットは、速度とセキュリティーです。 そのため、開発チームは、より優れた、より安全なコードを、より早く、より安価に提供できます。

「DevSecOpsの目的と意図は、必要な安全性を損なうことなく最高レベルのコンテキストを保持する人々に対してセキュリティーに関する決定を迅速かつ大規模に、かつ安全に配布することであり、全員がセキュリティーに対する責任を負うという考え方を構築することです」と「DevSecOps Manifesto」の共著者であるShannon Lietz氏は説明します。

迅速かつ低コストのソフトウェア・デリバリー

ソフトウェアが非DevSecOps環境で開発される場合、セキュリティー上の問題が大幅な時間遅延につながる可能性があります。コードとセキュリティーに関する問題の修正には大幅な時間と費用がかかる可能性があります。DevSecOpsを迅速かつ安全に実施することで事後にセキュリティー問題に対処するためのプロセスを繰り返す必要性が最小限に抑えられるため、時間とコストを削減できます。

統合セキュリティーによって重複レビューや不必要な再構築が排除され、コードの安全性が高まるため、このプロセスはより効率的で費用対効果が高まります。

強化されたプロアクティブ・セキュリティー

DevSecOpsでは、開発サイクルの開始時からサイバーセキュリティープロセスが導入されます。開発サイクル全体を通して、コードはセキュリティー上の問題についてレビュー、監査、スキャン、テストされ、問題を特定すると、すぐに対処します。セキュリティー上の問題は追加の依存関係が導入される前に修正されます。サイクルの早い段階で保護テクノロジーを用いてセキュリティーの問題を特定および実装することで、修正にかかるコストは低くなります。

さらに、開発、セキュリティー、運用チーム間の連携が強化されると、インシデントや問題が発生した際の組織の対応が向上します。セキュリティーチームは、DevSecOpsプラクティスにより、脆弱性にパッチを適用する時間が短縮され、より価値の高い作業に集中できるようになります。これらのプラクティスによりコンプライアンスも確保および簡素化され、セキュリティーのためにアプリケーション開発プロジェクトを新たに変更する必要がなくなります。

セキュリティー脆弱性へのパッチ適用の迅速化

DevSecOpsの主なメリットは、新たに特定されたセキュリティーの脆弱性を迅速に管理できることです。DevSecOpsでは脆弱性のスキャンとパッチ適用がリリースサイクルに統合されるため、共通脆弱性識別子(CVE)を特定してパッチ適用する機能は低下します。この機能により、攻撃者が公開運用システムの脆弱性を悪用できる範囲が制限されます。

最新の開発に対応したオートメーション

組織が継続的インテグレーション継続的デリバリー・パイプラインを使用してソフトウェアをリリースする場合、サイバーセキュリティー・テストをオペレーション・チーム向けの自動テスト・スイートに組み込むことができます。

セキュリティーチェックの自動化は、プロジェクトと組織の目標に大きく依存します。自動テストにより、組み込まれたソフトウェアの依存関係が適切なパッチレベルであることを確認でき、さらに、ソフトウェアのセキュリティー・ユニットテスト合格を裏付けます。さらに、最終更新が運用環境にプロモートされる前に、静的および動的分析を使用してコードをテストし、保護することができます。

反復可能で適応性の高いプロセス

組織の成熟に伴い、セキュリティー体制の成熟も高まります。DevSecOpsは、反復可能で適応性のあるプロセスに適しています。DevSecOpsは、環境が変化して新しい要件に適応する際、セキュリティーが環境全体に一貫して適用されるようにします。成熟度が高いDevSecOpsの実装には、堅牢な自動化、構成管理、オーケストレーション、コンテナ、不変のインフラストラクチャー、さらにはサーバーレス・コンピューティング環境が含まれます。

DevSecOpsのベスト・プラクティス

DevSecOpsは、開発、提供、運用プロセスにセキュリティー管理を自然に組み込む必要があります。

シフトレフト

「シフトレフト」はDevSecOpsの合言葉です。これは、ソフトウェアエンジニアに、DevOps(提供)プロセスの中の右側(完了時)より左側(開始時)の上流工程でセキュリティー対策をするよう奨励するものです。DevSecOps環境では、セキュリティーは初期から開発プロセスの不可欠な部分です。

DevSecOpsを採用している組織では、サイバーセキュリティーのアーキテクトやエンジニアが開発チームの一員として参加しています。 彼らの仕事は、スタック内のすべてのコンポーネント、すべてのコンフィギュレーション項目にパッチが適用され、安全にコンフィギュレーションされ、文書化されているか確認することです。

シフトレフトにより、DevSecOpsチームはセキュリティーリスクと漏洩を早期に特定し、これらのセキュリティー脅威に即座に対処することができます。開発チームは製品を効率的に構築することを考慮しているだけでなく、製品を構築する際にセキュリティーの実装も行っています。

セキュリティー教育

セキュリティーはエンジニアリングとコンプライアンスの組み合わせです。組織は、開発エンジニア、運用チーム、コンプライアンスチーム間で連携を形成し、組織内の全員が会社のセキュリティ体制を理解し、同じ基準に従うようにする必要があります。

提供プロセスに関わる人は全員、アプリケーションのセキュリティーの基本原則に精通している必要があります。Open Web Application Security Project(OWASP)のトップ10、アプリケーション・セキュリティーテスト、およびその他のセキュリティーエンジニアリング・プラクティスに関する理解が必要です。開発者は、脅威モデル、コンプライアンスのチェックを理解し、リスクや危険性を測定し、セキュリティー制御を実装する方法に関して実用的な知識を持っている必要があります。

組織文化:コミュニケーション、人材、プロセス、テクノロジー

優れたリーダーシップは、組織内の変化を促進する良い文化を育みます。DevSecOpsでは、プロセスのセキュリティーと製品の所有権の責任を伝達することが重要かつ不可欠です。そうして初めて、開発者とエンジニアはプロセス所有者となり、自分の作業に責任を負うことができます。

DevSecOps運用チームは、チームと現在のプロジェクトに適したテクノロジーとプロトコルを使用して、自分たちに適したシステムを作成する必要があります。チームがニーズに合ったワークフロー環境を作成できるようにすることで、チームはプロジェクトの結果に投資する利害関係者になります。

トレーサビリティ、監査可能性、可視性

DevSecOpsプロセスにトレーサビリティ、監査可能性、可視性を実装することで、より深い洞察とより安全な環境につながります。

  • トレーサビリティにより、開発サイクル全体にわたって、要件がコードに実装されるまでの構成項目を追跡することができます。トレーサビリティは、組織の統制フレームワークにおいて重要な役割を果たします。このプロセスは、コンプライアンスを達成し、バグを減らし、アプリケーション開発で安全なコードを確保し、コードの保守性を高めるのに役立ちます。

  • 監査可能性は、セキュリティー管理のコンプライアンスを確保するために重要なものです。技術的、手続き的、管理的なセキュリティー管理は、監査可能で、十分に文書化され、チームメンバー全員が遵守する必要があります。

  • 可視性は一般に見て優れた管理手法ですが、DevSecOps環境にとっては非常に重要です。組織は、操作の鼓動を測定し、アラートを送信するために、強固な監視システムを導入する必要があります。 システムは、変更やサイバー攻撃が発生したときに、その認識を高める必要があります。また、プロジェクトのライフサイクル全体にわたって説明責任を提供する必要があります。
関連ソリューション
IBM Instana Observability

AIとオートメーションの力を活用することで、問題がアプリケーションスタック全体でプロアクティブに解決します。

IBM Instana Observabilityはこちら
DevOpsソリューション

DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリを構築、デプロイ、管理します。

DevOpsソリューションはこちら
クラウド・コンサルティング・サービス

ビジネスの俊敏性と成長を加速—IBMのクラウド・コンサルティング・サービスを利用して、あらゆるプラットフォーム上のアプリケーションを継続的にモダナイズしまします。

クラウド・コンサルティング・サービスはこちら
次のステップ

IBM Instana®によるプロアクティブな問題検知から、スタック全体にわたるリアルタイムの洞察まで、クラウドネイティブ・アプリケーションの安定した稼働を維持できます。

  1. IBM Instanaの詳細を見る
  2. DevOpsソリューションはこちら