セキュリティーとオブザーバビリティーを早期に組み込んで、より迅速かつ安全に納品できるようにします。
パイプラインの最後にある従来型のセキュリティ・ゲートは、摩擦を生み出します。提供を加速するには、事後対応型のボトルネックから事前対応型のオートメーションへの道筋をマッピングする必要があります。以下に、シフトレフト・トランスフォーメーションの概要を説明します。
パイプライン末端のセキュリティー・チェックは、船が出航した後に水漏れを発見するようなものです。デプロイメント後に脆弱性が発見されると、チームはコストのかかる再作業サイクルに時間を費やさざるを得なくなり、ダウンタイムや納期遅れにつながります。この「シフトライト」アプローチにより、セキュリティーはイノベーションを遅らせるボトルネックになってしまいます。
この悪循環を断ち切るには、セキュリティーはシフトレフトする必要があります。開発者の統合開発環境(IDE)に脆弱性スキャンを直接埋め込み、ビルド中のポリシー適用を自動化することで、コードが記述された瞬間に問題を発見できます。
この事前対応型のアプローチにより、脆弱性の滞留期間が短縮され、開発者がコンテキストを切り替えることを強いられずに、コンプライアンスが確保されます。その結果、より安全なリリースと可能な限り迅速に稼働するパイプラインが実現します。
このシフトを視覚化することは、事後対応型のゲート型からプロアクティブな統合への移行を意味します。道路の端に「一時停止標識」を設置するのではなく、セキュリティーは道中でのガードレールとなり、速度を低下させることなく安全を確保します。
最初のステップで脆弱性を発見することで、パイプラインは中断されることなく流れます。これにより、クリーンでコンプライアンスに準拠したコードのみが本番環境に到達することになり、後半部での修正による混乱を排除できます。
最新のパイプラインはハイブリッドクラウドとマイクロサービスにまたがっているため、ローカルで動作するコードが本番環境では機能不全を起こすという一貫性のギャップが生じています。この環境ドリフトは自信を喪失させ、手動での検証を余儀なくします。
解決方法は標準化です。合成テストの信頼できる唯一の情報源を適用し、パイプライン・トリガーを介して自動化することで、開発、ステージング、本番環境がまったく同じルールに従って実行されるようにします。この同等性により、「自分のマシンでは動作した」という現象が解消され、自動的にデプロイするために必要な信頼性が得られます。
この図は、断片的で予測不可能な段階から、コードとともに伝わる統一された標準への移行を示しています。標準化によって当て推量に頼る必要がなくなります。すべての段階で同じテスト定義が使用される場合、開発段階を問題なく通過することは、単なる示唆ではなく、本番環境の保証となります。
反応的な監視への依存は、危険な盲点を残します。チームがセキュリティとオブザーバビリティーのために断片的なツール間を行ったり来たりしている場合、パフォーマンスの低下やエクスプロイトの早期警告サインを、多くの場合、ユーザーから苦情が出るまで見逃してしまいます。手作業による承認は、さらに対応の遅れに拍車をかけ、平均修復時間(MTTR)を増大させます。
事後対応型から事前対応型に移行するためには、外形監視に対する「2層」アプローチが必要です。
まず、高頻度のホスト・エージェント・チェックにより、インフラストラクチャーの正常性に関するフィードバックが即座に得られます。次に、豊富なブラウザ・テストとAPIテストにより、実際のユーザー・ジャーニーをシミュレートして実際のエクスペリエンスを検証します。これらのレイヤーを組み合わせることで、盲点がなくなるため、承認を自動化し、顧客に影響が及ぶ前に異常を検知できるようになります。
2層である理由は、インフラストラクチャーが正常であることが必ずしもユーザーの満足度を高めるとは限らないからです。全体像を把握するには奥行きが必要です。
高速で低レベルのデータと豊富で高レベルのユーザー・コンテキストを関連付けることで、「なぜこれが起こっているのだろうか?」という推測への依存を排除します。何が破損したのか、そしてその理由が即座かつ正確にわかります。
パイプラインの末端にあるセキュリティー・ゲートは、スピード・バンプに似ています。リリースを遅らせ、再作業のループを作り出し、開発者をイライラさせます。解決策は、セキュリティをシフトレフトすることです。初日からコードとパイプラインにセキュリティを組み込みましょう。手順は以下のとおりです。
ジャーニーを可視化することで、チームは目標を共有しやすくなります。当社は、セキュリティーの「一時停止標識」モデルから、「ガードレール」モデルへと移行を進めています。これらのコンポーネントを一緒にマッピングすると、その価値は明らかです。セキュリティの実施という「退屈な」作業を自動化することで、チームはイノベーションというエキサイティングな作業に集中することができます。
戦略:セキュリティー・スキャンをIDEに直接埋め込み、コーディング中に問題を捕捉する。
オブザーバビリティー:2層の外形監視を実装して、ユーザーよりも先に異常を検知する。
成果:クリーンでコンプライアンスに準拠したコードが最初からコミットされる。
メリット:開発者は自信を持ってより迅速にデプロイでき、セキュリティーはスピードを妨げるものではなく、促進するものになる。
シフトレフトはツールの購入と同義ではなく、文化の再設定です。開発者は、セキュリティーを障害と見なす場合、それを回避するでしょう。セキュリティーが共通の責任である文化を構築するには、単なる義務だけではなく、実現を促進する要素が必要です。
文化は一貫した行動の上に築かれます。これらの3つのステップは、チームに合わせて拡張できるセキュリティー体制のフレームワークを提供します。
シフトレフトは、単なるコンセプトではなく、ワークフローです。現代のパイプラインは、まずコーディングして後でセキュリティを確保するのではなく、最初からオブザーバビリティーとコンプライアンスを組み込みます。
それは事前対応型の設計から始まります。主要な機能が完全に構築される前に、チームは予想されるユーザー・ジャーニーをシミュレートするための合成テストを定義します。開発が始まると、セキュリティーはIDEに直接導入されます。これにより、コードのすべての行が機能するだけでなく、デフォルトでコンプライアンスに準拠していることが保証されます。その結果、監視が設計に情報を提供し、セキュリティーが開発を導くという継続的なループが実現します。
セキュリティーとオブザーバビリティーが最初のステップから組み込まれた場合の「シフトレフト」ライフサイクルは次のようになります。
ビルドが完了する前に成功(合成)と安全性(セキュリティー)を定義することで、「デプロイし、後は成功を祈る」不安を解消できます。
IBM® Instanaは、CI/CDパイプラインにオブザーバビリティーを拡張し、ビルドフェーズにプロアクティブな監視機能を提供します。開発者がコード品質を検証し、ユーザーに届く前に異常を検知するために必要な、即時のフィードバックを提供します。
IBM® Concertは、脆弱性管理をIDEに直接統合することでソースを保護します。自動化されたセキュリティー・アーキテクトとして機能し、開発者を最初のキーストロークからコンプライアンスに準拠したコードを作成できるように導きます。