マニフェストファイル

Tenable システムは、ペイロードファイルの送信を終了すると、メタデータとファイルパスとともに、送信された順にファイルをリストしたマニフェストファイルを送信します。システムは、15 分ごとにマニフェストファイルを生成します。

マニフェストファイルの使用

ロジックを構築して脆弱性データをアプリケーションに取り込む際に、マニフェストファイルを参照できます。これを行うには、マニフェストファイルにハンドラーを適用し、それで開始するプロセスがペイロードファイルを順番に消費するようにします。

たとえば、Tenable システムが 12:00 PM から 12:15 PM までに 100 の検出結果ペイロードファイルを AWS バケットに送信し、それらが …/finding/<export-date>/ に保存されているとします。午後 12 時 15 分、システムはファイルのリストが含まれているマニフェストファイルをこの形式で …/manifest_finding/<export-date>/ に送信します。

このプロセスは、すべてのペイロードファイルタイプ (資産、検出結果、タグ) で同じように動作します。

マニフェストファイルのプロパティ

次の表は、Tenable データストリームのマニフェストファイルに表示されるプロパティを定義しています。

プロパティ データ型 説明
type 文字列 マニフェストファイルのタイプ: MANIFEST_ASSETMANIFEST_FINDING、または MANIFEST_TAGS
Payload_type 文字列 マニフェストに含まれるペイロードのタイプ: ASSETFINDING、または TAGS
payloads[].path 文字列 AWS バケットのペイロードファイルへのパス。
payloads[].md5 文字列 ペイロードファイルの MD5 ハッシュ値。
payloads[].version 整数 マニフェストファイルのバージョン識別子。
payloads[].num_updates 整数 ペイロードファイルのアップデートの数。
payloads[].num_deletes 整数 ペイロードファイルの削除されたアイテムの数。
payloads[].first_record_timestamp 整数 ペイロードファイルの最初のエントリの Unix タイムスタンプ。
payloads[].last_record_timestamp 整数 ペイロードファイルの最後のエントリの Unix タイムスタンプ。
payloads[].scan_id 文字列 ペイロードファイルの資産、検出結果、タグのグループ ID。グループ ID がない場合、この値は空になります。

マニフェストファイルの例

次の例は、Tenable システムによって送信されるマニフェストファイルの形式を示しています。ファイルでは、各ペイロードファイルは配列内の 1 つのオブジェクトです。

資産マニフェストファイル

コピー
{
  "type": "MANIFEST_ASSET",
  "payload_type": "ASSET",
  "payloads": [
    {
      "path": "path-prefix/asset/2024-09-23/asset-1727096558876-17-5a0ffa7d-6b2c-4af6-a0f1-f506fe769dba.json.gz",
      "md5": "c515b063ad68680fc90257444f782e94",
      "version": 1,
      "num_updates": 1,
      "num_deletes": 0,
      "first_record_timestamp": 1727096558490,
      "last_record_timestamp": 1727096558490,
      "scan_id": "5a0ffa7d-6b2c-4af6-a0f1-f506fe769dba"
    }
  ]
}

検出結果マニフェストファイル

コピー
{
  "type": "MANIFEST_FINDING",
  "payload_type": "FINDING",
  "payloads": [
    {
      "path": "path-prefix/finding/2024-09-23/finding-1727096618967-60-5a0ffa7d-6b2c-4af6-a0f1-f506fe769dba.json.gz",
      "md5": "e6919aaffa6967e0c6de3908c9a04a78",
      "version": 1,
      "num_updates": 2,
      "num_deletes": 0,
      "first_record_timestamp": 1727096618799,
      "last_record_timestamp": 1727096618820,
      "scan_id": "5a0ffa7d-6b2c-4af6-a0f1-f506fe769dba"
    }
  ]
}

タグマニフェストファイル

コピー
{
  "type": "MANIFEST_TAGS",
  "payload_type": "TAGS",
  "payloads": [
    {
      "path": "path-prefix/tags/2024-09-23/tags-1727096866393-5.json.gz",
      "md5": "d641c41a287911d4779d1215edb2406d",
      "version": 1,
      "num_updates": 1,
      "num_deletes": 0,
      "first_record_timestamp": 1727096866345,
      "last_record_timestamp": 1727096866345,
      "scan_id": ""
    }
  ]
}