REST API を使用したソフトウェア部品表ファイルのアップロード

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:8分
  • API を使用してソフトウェア部品表ファイルをアップロードする前に、次の情報を確認してください。

    REST API の使用

    API を使用して SBOM をアップロードするには、sn_sbom_core.sbom_ingest ロールが必要です。

    アップロード API。

    この API は、SBOM ファイル (CycloneDX / SPDX) をインスタンスにアップロードして取り込む際に使用されます。

    SBOM Core v4.0 では、以下がサポートされています。
    • CycloneDx の XML と JSON (バージョン 1.0~1.6)。
    • SPDX の JSON (バージョン 2.2~2.3)
    • 注:
      32 MB 以上のファイルの場合、正しく読み込まれない場合があります。

    HTTP メソッド:(POST)

    API URL:<host_name>/api/sbom/core/upload
    注:
    <host_name>ServiceNow インスタンス名です。
    以下の要求パラメーターはすべてオプションです。要求本文は SBOM ファイルのコンテンツとなります。開発プロセスの一環で DevOps を使用している場合、「requestedBy」の値を「devops」にする必要があります。DevOps の一般的な情報については、「DevOps SBOM ファイルの ソフトウェア部品表 のアップロード」を参照してください。「requestedby」の値が「devops」(開発運用) の場合、次のパラメーターが必須となります。
    • buildId
    • lifecycleStage
    さらに、「requestedBy」が「devops」の場合、「fetchVulenrabilityInfo」と「fetchPackageInfo」のデータが含まれます。
    • buildId:送信する文字列
    • lifecycleStage:2 つの値 (「production」または「pre_production」)
    • fetchVulenrabilityInfo:t/f
    • fetchPackageInfo:t/f
    要求パラメーター 可能な値 説明
    productModelId Sys ID 指定された SBOM のルートアプリケーションでマッピングする製品モデルの Sys ID。
    businessApplicationId Sys ID 指定された SBOM のルートアプリケーションでマッピングするビジネスアプリケーションの Sys ID。
    businessApplicationName (廃止) ビジネスアプリケーション名 指定された SBOM のルートアプリケーションでマッピングするビジネスアプリケーションの名前。
    sbomSource Veracode などの製品 SBOM ファイルのソース。
    requestedBy メソドロジーツールやメソドロジー名。「Jenkins」など。「devops」を使用する場合、「buildId」と「lifecycleStage」は必須です。 アップロード要求者
    buildId 要求者が送信する文字列。 SBOM ビルドのビルド ID。
    lifecycleStage 「production」または「pre_production」 エンティティのライフサイクルステージ。
    fetchVulenrabilityInfo t/f (正/誤) 「true」の場合、脆弱性インテリジェンス統合がトリガーされます。
    fetchPackage 情報 t/f (正/誤) 「true」の場合、パッケージインテリジェンス統合がトリガーされます。
    アップロード API 応答:「ステータス」(成功 / 失敗)、「メッセージ」(文字列)、「bomRecordId」(アップロード API を介して返される SBOM の Sys ID。これにより SBOM アップロードが正常に行われる) などがあります。
    {
    
    "result": {
    
    "status": "success",
    
    "message": "Queued for processing.",
    
    "bomRecordId": "f207059b4393c290629aa597cbb8f247"
    
    }
    
    }

    ステータス API

    この API を使用して、取り込みのキューに入れられている SBOM のステータスやサマリーを取得します。
    • API URL:/api/sbom/core/upload/status
    • HTTP メソッド (GET)
    要求パラメーター 可能な値 説明
    bomRecordId Sys ID アップロード API を介して返される SBOM レコード ID です。これにより SBOM アップロードが正常に行われます。

    ステータス API のデフォルトの応答例。

    
    {
       "result": {
          "bomRecordId": "0407c0fea3e70a505df340f5251e617e",
          "uploadStatus": "processed",
          "additionalInfoStatus": "not_requested",
          "uploadSummary": {
             "components": {
                "added": 0,
                "removed": 0,
                "total": 70
             }
           }
        } 
    }

    追加のパラメーターを使用したステータス API 応答の例。当該 SBOM の fetchVulenrabilityInfo を要求した場合、応答の一部として脆弱性のブレークダウンを取得できます。

    
    {
     "result": {
    
      "bomRecordId": "93af349b4393c290629aa597cbb8f258",
    
      "uploadStatus": "processed",
    
      "additionalInfoStatus": "complete",
    
      "uploadSummary": {
    
        "components": {
     
         "added": 0,
    
         "removed": 0,
    
         "total": 3
    
       },
    
       "vulnerabilityInfo": {
    
        "critical": 0,
    
        "high": 0,
    
        "medium": 0,
    
        "low": 0,
    
        "none": 0
    
       }
    
      },
    
      "buildId": "1"
    
     }
    
    }

    当該 SBOM の fetchPackageInfo を要求した場合、応答の一部として「古い」および「破棄」カウントを取得できます。

    SBOM が正常に処理された後、アップロードされたレコードを表示する場所は、使用しているアプリケーションにより異なります。

    • SBOM Response を使用している場合、BOM エンティティレコードは、SBOM ワークスペースの BOM キューモジュールの [SBOM 取り込みステータス] リストに表示されます。
    • SBOM Core を使用している場合は、次に移動します SBOM Core > BOM 取り込みステータス.

    サポートされている SBOM 標準と一般的な使用情報の強化

    SBOM Core v4.0 では、以下がサポートされています。
    • CycloneDx の XML と JSON (バージョン 1.0~1.6)。
    • SPDX の JSON (バージョン 2.2~2.3)
    • 注:
      32 MB 以上のファイルの場合、正しく読み込まれない場合があります。
    SBOM Core v4.0 以降、v1.0~1.6 の CycloneDx 標準をサポートするために、次の機能が拡張されました。
    • CycloneDX SBOM ファイルの追加情報を (sn_sbom_core.collect_properties) プロパティでインポートします。このプロパティはデフォルトで非アクティブ化されています。一般的にサポートされていない情報をインポートするには、このプロパティを有効にします。これらのプロパティからインポートされた情報は、次の SBOM コンポーネントプロパティ [sn_sbom_comp_property] テーブルにアップロードされます。
      • アップロードされた SBOM ファイル
      • メタデータ
      • 個々の脆弱性
      • コンポーネント
    • CycloneDX v1.4 以降、SBOM ファイルの宣言および締結ライセンスに関するインポート済みのコンポーネントデータが、次の 2 つの新しいライセンスフィールドに表示されます。
      • 宣言済み
      • 締結
    • SBOM 構文解析のサポートが、以下の CycloneDX コンポーネントタイプに拡張されました。
      • バージョン 1.5:プラットフォーム、データ、デバイス ドライバー、機械学習モデル
      • バージョン 1.6:暗号化
    SBOM Core v3.0 では、以下がサポートされています。
    • CycloneDx の XML と JSON ( v1.4 以前)
    • SPDX の JSON (v2.3 以前)

    呼び出し元ユーザーが適切に認証されており、ServiceNow インスタンスで sn_sbom_core.sbom_ingest ロールを持っている場合は、インスタンスの外部から API にアクセスして SBOM データをアップロードすることができます。

    データはアップロードされた後、解析されます。データの解析前に、次の要件が検証されます。

    • 受信データにおいて、JSON または XML が有効であることを確認します。
    • BOM 形式がサポートされている。SBOM Core v2.1 以降、CycloneDX (JSON や XML) および SPDX (XML) 形式がサポートされています。
    • データを解析できるように、最小限のフィールドが利用可能である。

    これらのチェックの検証後に、部品表 [sn_sbom_doc] テーブルにエントリが作成され、受信 SBOM データが添付ファイルとして含まれます。

    Process BOM fileビジネスルールは、レコードの挿入とデータの解析の結果として自動的にトリガーされます。
    注:
    このビジネスルールは、SBOM Core のインストール時にデフォルトでアクティブになります。

    SBOM にリストされているすべてのコンポーネントには、type が定義されています。

    • SBOM ファイルがアップロードされているコンポーネントは、BOM エンティティと見なされます。
    • type=library としてリストされているコンポーネントは、サードパーティコンポーネントと見なされます。