2.2. SBOM をダウンロードまたは表示するための OpenShift Pipeline の設定


PipelineRun の詳細ページには、ソフトウェア部品表 (SBOM) をダウンロードまたは表示するオプションが用意されており、サプライチェーン内の透明性と制御が強化されます。SBOM には、コンポーネントが使用するすべてのソフトウェアライブラリーがリストされます。これらのライブラリーは、特定の機能を有効にしたり、開発を容易にしたりすることができます。

SBOM を使用すると、ソフトウェアの構成をより深く理解し、脆弱性を特定し、発生する可能性のあるセキュリティー問題の影響を評価できます。

図2.4 SBOM をダウンロードまたは表示するオプション

sbom

前提条件

手順

  1. 開発者 または 管理者 のパースペクティブで、SBOM を視覚的に表現する関連プロジェクトに切り替えます。
  2. SBOM 情報を表示またはダウンロードするには、次の形式でタスクを追加します。

    SBOM タスクの例

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: sbom-task 1
      annotations:
        task.output.location: results  2
        task.results.format: application/text
        task.results.key: LINK_TO_SBOM  3
        task.results.type: external-link  4
    spec:
      results:
        - description: Contains the SBOM link  5
          name: LINK_TO_SBOM
      steps:
        - name: print-sbom-results
          image: quay.io/image  6
          script: | 7
            #!/bin/sh
            syft version
            syft quay.io/<username>/quarkus-demo:v2 --output cyclonedx-json=sbom-image.json
            echo 'BEGIN SBOM'
            cat sbom-image.json
            echo 'END SBOM'
            echo 'quay.io/user/workloads/<namespace>/node-express/node-express:build-8e536-1692702836' | tee $(results.LINK_TO_SBOM.path) 8

    1
    タスクの名前。
    2
    タスク出力を保存する場所。
    3
    SBOM タスク結果名。SBOM 結果タスクの名前を変更しないでください。
    4
    (オプション) SBOM を新しいタブで開くように設定します。
    5
    結果の説明。
    6
    SBOM を生成するイメージ。
    7
    SBOM イメージを生成するスクリプト。
    8
    SBOM イメージとパス名。
  3. 新しく作成された SBOM タスクを参照するようにパイプラインを更新します。

    ...
    spec:
      tasks:
        - name: sbom-task
          taskRef:
            name: sbom-task 1
      results:
        - name: IMAGE_URL  2
          description: url
          value: <oci_image_registry_url> 3
    1
    手順 2 で作成した名前と同じ名前。
    2
    結果の名前。
    3
    .sbom イメージを含む OCI イメージリポジトリー URL。
  4. 影響を受ける OpenShift Pipeline を再実行します。

2.2.1. Web UI での SBOM の表示

前提条件

  • SBOM をダウンロードまたは表示するために OpenShift Pipeline を設定している。

手順

  1. アクティビティー→PipelineRuns タブに移動します。
  2. SBOM を表示するプロジェクトには、最新のパイプライン実行を選択します。
  3. PipelineRun の詳細ページで、SBOM の表示 を選択します。

    1. Web ブラウザーを使用すると、ソフトウェアサプライチェーンの脆弱性を示す用語を SBOM ですぐに検索できます。たとえば、log4j を検索してみてください。
    2. SBOM をダウンロードするには Download を選択し、全画面で表示するには Expand を選択できます。

2.2.2. CLI での SBOM のダウンロード

前提条件

  • Cosign CLI ツールがインストールされている。
  • SBOM をダウンロードまたは表示するために OpenShift Pipeline を設定している。

手順

  1. ターミナルを開き、開発者 または 管理者 のパースペクティブにログインして、関連するプロジェクトに切り替えます。
  2. OpenShift Web コンソールから、download sbom コマンドをコピーし、ターミナルで実行します。

    cosign コマンドの例

    $ cosign download sbom quay.io/<workspace>/user-workload@sha256

    1. (オプション) 完全な SBOM を検索可能な形式で表示するには、次のコマンドを実行して出力をリダイレクトします。

      cosign コマンドの例

      $ cosign download sbom quay.io/<workspace>/user-workload@sha256 > sbom.txt

2.2.3. SBOM の確認

SBOM では、次の抜粋例に示すように、プロジェクトが使用する各ライブラリーの 4 つの特性を確認できます。

  • 作成者または公開者
  • 名前
  • バージョン
  • ライセンス

この情報は、個々のライブラリーが安全なソースからのものであり、更新済みで、コンプライアンスに準拠したものであることを確認するのに役立ちます。

SBOM の例

{
    "bomFormat": "CycloneDX",
    "specVersion": "1.4",
    "serialNumber": "urn:uuid:89146fc4-342f-496b-9cc9-07a6a1554220",
    "version": 1,
    "metadata": {
        ...
    },
    "components": [
        {
            "bom-ref": "pkg:pypi/flask@2.1.0?package-id=d6ad7ed5aac04a8",
            "type": "library",
            "author": "Armin Ronacher <armin.ronacher@active-4.com>",
            "name": "Flask",
            "version": "2.1.0",
            "licenses": [
                {
                    "license": {
                        "id": "BSD-3-Clause"
                    }
                }
            ],
            "cpe": "cpe:2.3:a:armin-ronacher:python-Flask:2.1.0:*:*:*:*:*:*:*",
            "purl": "pkg:pypi/Flask@2.1.0",
            "properties": [
                {
                    "name": "syft:package:foundBy",
                    "value": "python-package-cataloger"
                    ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.