利用可能なデータ OT Security

OT Security 資産インポートデータマップ

OT Security 資産を ServiceNow 設定項目にマッピングする際のロジックです。

資産インポートの順序

  1. ServiceNow は、OT Security にクエリをかけて資産を取得します。
  2. ServiceNow Job Chunk にデータが添付されます。

  3. データは、ServiceNow 識別および調整エンジン (IRE) で使用可能な形式に変換されます。

  4. IRE にデータが送信され、そこで CMDB に CI が作成されます。
  5. 特定の CI に対して OT 資産が作成されます。

ServiceNow のデータ変換

OT Security から ServiceNow にインポートされる資産ごとに、複数のレコードが作成されます。

メイン CI

ServiceNow にインポートされるすべての OT Security 資産に対して、メイン CI レコード (cmdb_ci_incomplete_ip、cmdb_ci_unclassed_hardware、または cmdb_ci_computer) が作成されます。

ServiceNow フィールド 詳細 (OT Security フィールドは太字で表示) CMDB クラス
Class (クラス)
  1. 「オペレーショナルテクノロジー (OT)」

  2. 特定の OT クラス

    • その OT Security タイプに使用される既知の ServiceNow CI クラスマップがある場合

すべてのクラス
Name (名前)

details.name

すべてのクラス
Serial Number (シリアル番号) details.serial すべてのクラス
Description (説明) details.description すべてのクラス
オペレーティングシステム details.os すべてのクラス
Backplane ID (バックプレーン ID) details.backplane.id すべてのクラス
Backplane Name (バックプレーン名) details.backplane.name すべてのクラス
Firmware version (ファームウェアバージョン) details.firmwareVersion すべてのクラス
Model number (モデル番号) details.modelName すべてのクラス
Discovery Source (検出ソース) 「SG-TenableForAssets」 すべてのクラス
IP Address (IP アドレス) details.ips[0] すべてのクラス
Most recent discovery (最新の検出) details.lastSeen すべてのクラス
First discovered (最初の検出) details.firstSeen すべてのクラス
Vendor (ベンダー) details.vendor すべてのクラス
Manufacturer (製造者) details.vendor すべてのクラス
Tenable Asset Attributes (Tenable 資産属性) OT Security 固有フィールドがある Tio CMDB 資産属性テーブルへの参照 すべてのクラス

子ネットワークアダプター CI

Tenable からプルされたネットワークインターフェース情報がないため、関連するネットワークアダプター CI レコード (cmdb_ci_network_adapter) が OT Security 資産に対して作成されます。

ServiceNow フィールド 詳細 (OT Security フィールドは太字で表示)
Class (クラス) 「ネットワークアダプター」
Name (名前)

details.macs

MAC Address (MAC アドレス)

details.macs

Configuration Item (設定項目) メイン CI への参照
Discovery Source (検出ソース) 「SG-TenableForAssets」

子 IP アドレス CI

関連する IP アドレス CI レコード (cmdb_ci_ip_address) が、メイン CI に関連付けられている IP アドレスごとに作成されます。

ServiceNow フィールド 詳細 (OT Security フィールドは太字で表示)
Class (クラス) 「IP アドレス」
Name (名前)

details.ips

IP Address (IP アドレス)

details.ips

IP Version (IP バージョン) 「4」
Network Partition Identifier (ネットワークパーティション識別子) details.extendedSegments.nodes[0].id
Discovery Source (検出ソース) 「SG-TenableForAssets」

Tenable 資産属性レコード

Tenable 資産属性レコード (x_tsirm_tio_cmdb_asset_attributes) が、すべてのメイン CI に対して作成されます。

ServiceNow フィールド 詳細 (OT Security フィールドは太字で表示)
Hostname (ホスト名) メイン CI 名
Connector (コネクタ) コネクタレコードへの参照
Tenable Uniqueness (Tenable の一意性)

id

Asset UUID (資産の UUID) id
Raw Data (未加工データ) 未加工の JSON データ
Sources (ソース) 「OT for」+ Tenable アプリ名
Source Native Key (ソースネイティブキー)

id

Attributes (属性) ServiceNow 形式の未加工 JSON データ
Name (名前) Connector.Name +「.」+ id
Related CI (関連 CI) メイン CI への参照

OT 資産レコード

OT 資産レコード (cmdb_ot_entity) が、すべてのメイン CI に対して作成されます。

ServiceNow フィールド 詳細 (OT Security フィールドは太字で表示)
OT asset (OT 資産) メイン CI への参照
OT asset type (OT 資産タイプ)

特定の資産タイプ

  • その OT Security タイプに使用される既知の ServiceNow OT 資産タイプマップがある場合

OT discovery source ID (OT 検出ソース ID) id
Purdue level (パデューレベル) details.purdueLevel
Asset criticality (資産重大度) details.criticality
OT discovery source name (OT 検出ソース名) 「SG-TenableForAssets」

CMDB 関係レコード

CMDB 関係レコード (cmdb_rel_ci) が、メイン CI とネットワークアダプター CI または IP アドレス CI の間の親/子関係ごとに作成されます。

ServiceNow フィールド Details
Parent (親) メイン CI への参照
Child (子) ネットワークアダプターまたは IP アドレス CI への参照
Type (種類) 「Owns::Owned by」

検出ソースレコード

検出ソースレコード (sys_object_source) が、ServiceNow で新規作成される CI ごとに、ソースに関する情報と CI の一意の ID とともに作成されます。

ServiceNow フィールド 詳細
ID id
Last Scan (最終スキャン) 前回の OT Security インポートの日時
Target Sys ID (ターゲット Sys ID) メイン CI への参照
Target Table (ターゲットテーブル) メイン CI のテーブル
Name (名前) 「SG-TenableForAssets」
Source Feed (ソースフィード) 「Tenable」

バックプレーン情報のインポート

次の画像のように、PLC CI には所有権情報が表示されます。

次の画像に示すように、バックプレーン CI には、それらを所有する資産に関する情報が表示されます。

注意: バックプレーン情報がある Tenable 資産をインポートしても、同じバックプレーンに親が見つからない場合は、バックプレーン ID を一意の識別子として使用し、偽の OT 制御システム CI を作成します。名前は、バックプレーンに基づいている必要があります。統合によって OT 制御モジュールの子を正常に作成できるように、一般的な親が作成されます。

注意: 通信モジュール資産をインポートしてもバックプレーン情報がない場合は、Network Gear CI として作成します。I/O モジュール資産をインポートしてもバックプレーン情報がない場合は、産業用センサー CI として作成します。

OT Security への API 呼び出し

資産のクエリ

入力: first、after

  • 例: {"operationName": "getAssets", "variables": {"first": chunkSize, "after": afterCursor, "sort": [ { "direction": "AscNullFirst", "field": "lastSeen" } ] }, "query": "query getAssets($filter: AssetExpressionsParams, $search: String, $sort: [AssetSortParams!], $slowCount: Boolean, $after: String, $first: Int) { assets(filter: $filter sort: $sort search: $search slowCount: $slowCount after: $after first: $first) { pageInfo { ...pageInfo __typename } nodes { ...inventoryAsset __typename } count: totalCount __typename } } fragment pageInfo on PageInfo { startCursor endCursor hasNextPage hasPreviousPage __typename } fragment inventoryAsset on Asset { id superType type details segments { nodes { ...segmentName __typename } __typename } __typename } fragment segmentName on SegmentGroup { id name type assetType subnet systemName system isPredefinedName __typename}" }

出力: GraphiQL Playground を使用するか、資産オブジェクトのドキュメントで可能な資産の値を確認します。