What is a CI/CD Pipeline?

継続的インテグレーション/継続的デプロイメント (CI/CD) パイプラインは、ソフトウェア配信プロセスを自動化します。 コードをビルドし、テストを実行し、新しいバージョンのアプリケーションを安全にデプロイします。

実際には、CI/CDパイプラインは、コードとプロセス(例: ワークフローの構築とテスト)、およびアプリケーション配信のさまざまな側面を自動化できるツール。 従来、CI/CDパイプラインのツールとプロセスは、ワークフローのコミット→構築→テスト→デプロイに重点を置いており、多くの場合、セキュリティはそのリストに顕著に欠けていました。

デモをリクエストする Read Whitepaper

What is a CI/CD Pipeline?

CI/CD パイプラインを作成する利点

多くの場合、セキュリティは、スキャン、ペネトレーションテスト、セキュリティ専門家によるアドホック分析の形で開発の終盤に行われました。 しかし、開発サイクルの終わりまで待ってセキュリティについて考え始めると、問題の修復が遅くなり、痛みが増しました。 運用上の俊敏性を維持しながらこの問題に対処する必要性から、「シフトレフトセキュリティ」と DevSecOpsのツールとプラクティスが人気を博しました。

 

CI/CDパイプラインを詳しく見て、DevSecOpsツールがセキュリティの統合にどのように役立つかについて説明します。

 

効果的な CI/CD パイプラインの構築と維持には作業が必要です。 サイトリライアビリティエンジニアやDevOpsのプロに聞いてみてください。 したがって、ビジネス上の利点を理解して、努力する価値がある理由を理解することが重要です。 では、そのメリットとは何でしょうか?

 

  • フィードバックループの短縮。 コミットと自動テストは、継続的インテグレーションによって非常に頻繁に (多くの場合、1 日に複数回) 発生します。 つまり、マージの問題からビルドの問題、実行時にのみ見つかったバグまで、あらゆるものをより迅速に発見し、対処することができます。
  • デプロイメント時間の短縮。 小さなコミット、自動テスト、本番環境に対応したコードの常時可用性に重点が置かれているため、チームは本番環境(またはステージング)に迅速にデプロイできます。
  • より良い品質。 自動テストは、フィードバックループを短縮するだけでなく、手動テストでは見逃す可能性のあるバグをキャッチし、人為的ミスを排除するのに役立ちます。 CI/CDパイプラインは、コードレビューとコード品質分析を適度に行うことで、プロジェクトの成果物の品質を大幅に向上させることができます。
  • チームの効率が向上しました。 自動化により、開発チームの効率が向上します。 面倒な手作業が減ることで、機能の追加やバグの修正など、生産的な作業により多くの時間を費やすことができます。 さらに、CI/CDパイプラインで構成管理を行うことで、インフラストラクチャのメンテナンスに費やす時間を大幅に削減できます。
  • コストの削減。 面倒なインフラストラクチャや手作業によるデプロイメントやテスト作業に費やす時間が減ることで、長期的には不要なコストが削減されます。 同様に、バグは開発サイクルの早い段階で発見されるため、修正の複雑さとコストが軽減されます (本番環境に持ち込まれる可能性が低いことは言うまでもありません)。
  • 顧客/エンドユーザーの満足度の向上。 これは、CI/CD パイプラインの最大かつ最も基本的な利点です。 CI/CD はより優れたコードをより迅速に提供できるため、エンドユーザーはより堅牢で機能豊富なソフトウェアの恩恵を受けることができます。

CI/CD パイプラインのコンポーネント

まったく同じ CI/CD パイプラインは 2 つとありませんが、「従来の」CI/CD パイプラインで使用されるツールやプロセスの多くは、いくつかの特定のカテゴリのいずれかに分類できます。

 

  • ソースコード管理とバージョン管理。 すべては、開発者がコードの変更をリポジトリにコミットしたときに始まります。 一般的なリポジトリには、SVN や GitHub などがあります。 これらのツールは、CI/CD パイプラインでのバージョン管理とソース コード管理を提供します。
  • ビルド。コミットが行われると、TeamCityやJenkinsなどのビルドサーバー(またはCIサーバー)がソースコードからバイナリをビルドします。
  • 試験。 コードがビルドされると、デプロイメントの準備ができていることを確認するために、一連の自動テストが実行されます。 理想的には、これらのテストはすべて自動化されますが、実際には、デプロイメント前の手動テストが一般的です。
  • デプロイします。 テストが完了すると、加えられた変更が運用環境またはステージング環境にデプロイされます。 プロジェクトに応じて、この環境は、単一のサーバーから分散クラウド環境、オンプレミスのKubernetesクラスターまで、あらゆるものになります。

 

これらの機能に加えて、多くのDevOpsパイプラインには、構成管理用のツールとプロセスが含まれます(例: AnsibleまたはChef)と、プロアクティブな監視と問題修復のためのオブザーバビリティソリューション。

「シフトレフト」とCI/CDパイプラインへのDevSecOpsツールの追加

繰り返しになりますが、従来のモデルセキュリティは必ずしも重視されていないことがわかります。 セキュリティのシフトレフトとDevSecOpsがそれを変えようとしています。

 

セキュリティをシフトレフトするということは、開発サイクルのできるだけ早い段階でセキュリティを統合することを意味します。DevSecOps は、セキュリティを DevOps プラクティスに統合することです。 セキュリティは全員の責任となり、CI/CD パイプラインには最初から組み込まれています。

 

従来のDevOpsと同様に、DevSecOpsに関しては、特定のツールよりも文化とマインドセットが重要です。 しかし、DevOpsとともに「DevOpsツール」が人気を博したように、チームがCI/CDパイプラインにセキュリティを効果的に実装するのに役立つDevSecOpsツールがあります。

 

ここでは、セキュリティがCI/CDパイプラインに統合され、DevSecOpsツールが使用される一般的なユースケースをいくつか見てみましょう。

CI/CDパイプラインにおけるアプリケーションセキュリティ

アプリケーションセキュリティは、SQLインジェクション、クロスサイトスクリプティング(XSS)、既知の脆弱性を持つソフトウェアコンポーネント、安全でない構成など、最新のWebアプリケーションに共通する脅威を扱います。CI/CDパイプラインでこれらの問題に効果的に対処するには、SAST(静的アプリケーション・セキュリティ・テスト)などのツールやプラクティスを使用して最初からセキュリティを統合し、セキュリティ評価を実施し、ゼロトラスト・ネットワーク・セキュリティ・ポリシーを採用・実施する必要があります。

コンテナーのセキュリティと CI/CD パイプライン

コンテナ化は今日のアプリケーションデリバリーの標準であり、Dockerのようなコンテナランタイムは独自のセキュリティ上の課題を生み出します。 ラベルの誤用、ポイズニングされたコンテナ、カーネルのエクスプロイト、コンテナのブレイクアウトなどは、懸念事項のほんの一部に過ぎません。 コンテナや Kubernetes などのコンテナオーケストレーションツールで設計されたセキュリティ評価とリアルタイム監視は、コンテナの安全性を確保するのに大いに役立ちます。

AWS パイプラインのセキュリティ

AWS インフラストラクチャを効果的に使用すると、スケーラブルで信頼性の高いアプリケーションを構築するための最も信頼性の高い方法の 1 つになります。 しかし、 AWSパイプラインのセキュリティのためにチームが考慮しなければならない攻撃対象領域はたくさんあります。 たとえば、Web アプリと API の保護はエンドポイントのセキュリティを維持するのに役立ち、適切に構成された Identity and Access Management (IAM) ポリシーは脅威の軽減に役立ちます。

Azure パイプラインのセキュリティ

AWSと同様に、Azureのクラウドインフラストラクチャは、分散アプリケーションの開発において大きなメリットがあります。 また、強力なセキュリティ体制を維持するために対処しなければならない同様のセキュリティ上の課題も多数あります。 たとえば、可視性、ユーザー分析、侵入検知は、 Azure パブリック クラウドでの悪意のある動作を迅速に特定して軽減するのに役立ちます。

チェック・ポイント CloudGuardがCI/CDパイプラインへのセキュリティ統合にどのように役立つか

AWS、Azure、GCP、マルチクラウド環境のいずれにデプロイする場合でも、適切なツールは、セキュリティをCI/CDパイプラインに統合するのに大いに役立ちます。 CloudGuardは、最新のアプリケーションデリバリのニーズを満たすために構築されており、CI/CDパイプラインにシームレスに統合して、次のセキュリティ上のメリットを提供できます。

 

  • 業界トップクラスの捕捉率を誇るAdvanced Threat Protection。
  • 設定ミスや脆弱性の自動検出。
  • North-South および East-West トラフィックを保護するためのセグメンテーション。
  • サーバーレスを含むクラウドワークロードのアクティブな保護。
  • コンプライアンス管理と自動化。

 

さらに詳しく知りたい方は、 今すぐ無料のCloudGuardデモにサインアップしてください。

×
  Feedback
このWebサイトでは、機能、分析、およびマーケティング上の目的でCookieを使用しています。本Webサイトの使用を継続した場合、Cookieの使用に同意したことになります。詳細については、Cookieについてのお知らせをご覧ください。
OK