Sysdig と Backstage の統合

By 清水 孝郎 - MARCH 11, 2024

SHARE:

本文の内容は、2024年3月11日に JOSEPH YOSTOS が投稿したブログ(https://sysdig.com/blog/sysdig-integration-backstage)を元に日本語に翻訳・再構成した内容となっております。

クラウドネイティブの環境では、開発者は複数のツールを使いこなさなければなりません。これらのツールはそれぞれ、開発からプロイメント、運用に至るまで、アプリケーションのライフサイクルにおいて重要な役割を果たしています。しかし、これらのツールの種類と多様性が多ければ多いほど、エラーの可能性が高まったり、重要な脆弱性や設定ミスが誤って含まれてしまう可能性が高まったりします。

この問題に取り組むために、Backstageは、すべてのソフトウェアリソース、ドキュメント、ツールに関する統合された視点を提供する包括的な開発者ポータルを提供しています。これは、開発者がソフトウェア開発ライフサイクル (SDLC) 全体を管理、監視、文書化するのに役立つワンストップショップです。2023 年、Cloud Native Computing Foundation (CNCF) は、 Backstage を今年で 3 番目に急速に拡大しているプロジェクトであると宣言しました。

Backstage は、それ自体が開発者や DevOps チームにとって強力なリソースとしてすでに目立っています。ただし、Sysdig と統合すると、その有用性が大幅に強化され、アクティブな脆弱性、構成ミス、実行時の動作に関する追加のリアルタイムインサイトが得られます。

Sysdig のセキュリティに関するインサイトを Backstage 内に直接組み込むことで、開発者はセキュリティ上の懸念を即座に把握できるようになり、問題の検出と対応時間が大幅に短縮されます。この統合は、クラウドネイティブの機敏性と効率性の理念に沿ったもので、重要なセキュリティ情報が開発プロセスの最前線に置かれます。

SysdigとBackstageの統合の利点と仕組みについて、さらに深く掘り下げていきます: 

  • すべての関連情報を 1 か所に統合​​することで、統合により問題の検出がどのようにスピードアップされるか。
  • 開発者が現在使用されている脆弱なパッケージに優先順位を付ける際に、実行時のインサイトがどのように役立つか。 
  • 開発者が実行時のインサイトを使用して、ソフトウェア開発ライフサイクル (SDLC) 全体を包括的に可視化する方法。
  • この統合によって脆弱性管理のプロセスが合理化され、開発者とセキュリティ チーム間のコラボレーションが促進される仕組みとなる。
  • この統合により、開発者がアプリケーションのセキュリティに対して積極的に責任を負い、修復のための脆弱性の特定と伝達にセキュリティ運用 (SecOps) チームが介入する必要性を最小限に抑えることができるようになります。

では、始めて行きましょう!

Backstageと Sysdig: モダンな開発の柱

Backstage は、開発者ポータルとして登場し、開発者が日々の業務に不可欠なツール、サービス、情報にアクセスできるワンストップショップを提供します。これはSpotifyで作成され、その後CNCFに寄付されました。 

Backstage 以前は、開発者は、コードリポジトリ、継続的インテグレーションおよびデリバリー (CI/CD) パイプライン、監視および可観測性プラットフォームから、セキュリティスキャンおよびコンプライアンス ツールに至るまで、さまざまなツールを使用する必要がありました。

Sysdig 統合のバックステージ

これらのツールの数と多様性が開発環境を複雑にし、複雑で手動のプロセスが頻繁に必要になる原因となっています。この複雑さにより、エラーや見落としのリスクが高まり、脆弱性や構成ミスが誤って本番環境に侵入する可能性が大幅に増加します。

Backstage では、さまざまなツールからの情報と制御を集約する単一のUIが導入されています。ただし、その能力を強化するには、ビルド、デプロイ、実行時の徹底したセキュリティの側面が必要です。

Sysdig の Cloud Native Application Protection Platform (CNAPP) は、リスクの検出と調査、およびインシデントへの対応にかかる時間を短縮するように設計されています。Sysdig を Backstage と統合することで、開発者はプライマリ ワークスペース内で脆弱性、構成ミス、実行時の動作に関する Sysdig の洞察に直接アクセスできるようになります。これにより、開発者は Devops サイクルの早い段階でアプリケーションの潜在的な問題を特定して対処することが容易になります。  

Sysdig 統合のバックステージ

Sysdig と Backstage の統合により、アプリケーションの動作、セキュリティの脆弱性、潜在的な構成ミスの可視性が開発者ワークスペースの最前線に直接表示されるため、このエコシステムが大幅に強化されます。Sysdig の実行時のインサイトで Backstage を強化すると、複数のツール、ログイン、コンテキスト変更の必要性を回避しながら、最も優先度の高い問題を特定して修正できるため、開発者の効率が向上し、エラーや脆弱性が見逃される可能性が減ります。

Sysdig 統合のバックステージ

Sysdig と Backstage の統合 

Sysdigはbackstageの公式プラグインをリリースしました。このプラグインは、コンポーネントの ‘catalog-info.yaml’ ファイルにあるアノテーションを利用する API を通して Backstage のバックエンドやフロントエンドとやりとりします。

API: Sysdig プラグインは API を介して Backstage のバックエンドを拡張し、sysdig バックエンドから脆弱性スキャン結果の取得などのさまざまな操作を実行します。

アノテーション:アノテーションは Backstage Catalog の重要な概念であり、ドキュメントへのリンク、システムの依存関係、CI/CD 用の Jenkins などのツールとの統合ポイントなど、 ‘catalog-info.yaml’ ファイルで定義されたエンティティにメタデータを添付するために使用されます。または Sysdig でセキュリティに関する洞察を得ることができます。

Sysdig プラグインをインストールするには、この GitHub ページの手順に従ってください。 

ワークフロー例

サービスは、catalog-info.yaml ファイルを使用して Backstage カタログに登録されます。このファイルには、ソース コードリポジトリやその他の統合にリンクするアノテーションが含まれています。 

backstage にサービスを追加する 

以下は、 “sock-shop-cart” というサービスの ‘catalog-info.yaml’ の例です。GitHub リポジトリ上のソースコードにはアノテーション “github.com/project-slug” を使用してリンクされています。

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: sock-shop-cart
  annotations:
    github.com/project-slug: JosephYostos/secure-inline-scan-examples
spec:
  type: service
  lifecycle: experimental
  system: sock-shop
  owner: guests

サービスがカタログに追加されると、sock-shop-cartを Backstage から管理できるようになります。

Sysdig 統合のバックステージ

GitHub Actions と Sysdig を使用したイメージスキャン 

SysdigとBackstageはGithub Actionsとも統合しています。コミットによってコードが変更されるたびに、パイプラインアクションがトリガーされます。そしてそのイメージは、レジストリにプッシュされる前に Sysdig によって脆弱性や設定ミスがないかスキャンされ、セキュリティが確保されます。Sysdig と GitHub Actions の統合については、こちらをご覧ください。

Sysdig 統合のバックステージ

パイプラインスキャン 

変更がコミットされ、パイプラインワークフローの結果が検証された後、スキャン結果を確認する必要があります。これを容易にするために、次のアノテーションがサービスに追加されます。

sysdigcloud.com/image-freetext: docker.io/josephyostos/testactionsCode language: HTTP (http)

sysdigcloud.com/image-freetext” は、パイプラインスキャン結果内のあらゆるものを検索するために使用できるフリーテキストクエリです。この例では、レジストリとイメージ名は、イメージのビルド時に実行された脆弱性と構成ミスのイメージスキャン結果を取得するために定義されています。

Sysdig 統合のバックステージ

ランタイムインサイト

開発者がアプリケーションのライフサイクル全体に責任を持つようになったことで、実行時の脆弱性と、どのような脆弱なパッケージが使用されているかを認識することが非常に重要になりました。この目的のために、次のアノテーションを使用して、sock-shop-cart アプリケーションのランタイムスキャン結果をフェッチできます。

    sysdigcloud.com/kubernetes-namespace-name: sock-shop
    sysdigcloud.com/kubernetes-workload-name: sock-shop-carts
    sysdigcloud.com/kubernetes-workload-type: deployment

In-use の情報は、開発者が実際にメモリにロードされ、高いリスクをもたらすパッケージの修正に優先順位を付けるのに役立ちます。

Sysdig 統合のバックステージ

よりセキュアに

Sysdig は、開発者が現在のビルドに関連する潜在的なリスクを詳細に表示できるように、厳選されたアノテーションを提供します。たとえば、これまでに述べたものに加えて、アプリケーション所有者はレジストリスキャン結果、コンプライアンス レポートなどを取得できます。

Sysdigから利用可能なすべてのアノテーションは、このソースファイルから入手できます。

以下は、’catalog-info.yaml’ が最終的にどのようになるかの例です。

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: sock-shop-cart
  annotations:
    github.com/project-slug: JosephYostos/secure-inline-scan-examples
    sysdigcloud.com/image-freetext: docker.io/josephyostos/testactions
    # VM Runtime
    # sysdigcloud.com/kubernetes-cluster-name: sock-shop-cluster
    sysdigcloud.com/kubernetes-namespace-name: sock-shop
    sysdigcloud.com/kubernetes-workload-name: sock-shop-carts
    sysdigcloud.com/kubernetes-workload-type: deployment
    # VM Registry
    sysdigcloud.com/registry-vendor: harbor
    sysdigcloud.com/registry-name: registry-harbor-registry.registry.svc.cluster.local:5443
    # Posture
    sysdigcloud.com/resource-name: sock-shop-carts

spec:
  type: service
  lifecycle: experimental
  system: sock-shop
  owner: guests

まとめ

SysdigとBackstageの統合は、クラウドネイティブ開発環境における非常に大きな進歩です。この統合により、ソフトウェア開発者はアプリケーションを管理、追跡、保護するための一元化されたハブを手に入れることができます。重要なセキュリティ情報に容易にアクセスできるようにすることで、開発者はアプリケーション・セキュリティをプロアクティブに管理できるようになり、脆弱性を特定して解決のためにリレーするセキュリティオペレーションチームへの依存度が低下します。

その結果、この統合は開発者の効率を高めるだけでなく、潜在的な問題の特定と緩和を加速し、クラウドネイティブなアプリケーション開発におけるセキュリティと俊敏性の文化を強めます。