利用可能なデータ OT Security
OT Security 資産インポートデータマップ
OT Security 資産を ServiceNow 設定項目にマッピングする際のロジックです。
資産インポートの順序
- ServiceNow は、OT Security にクエリをかけて資産を取得します。
-
ServiceNow Job Chunk にデータが添付されます。
-
データは、ServiceNow 識別および調整エンジン (IRE) で使用可能な形式に変換されます。
- IRE にデータが送信され、そこで CMDB に CI が作成されます。
- 特定の 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 |
|
すべてのクラス |
Name |
details.name |
すべてのクラス |
Serial Number | details.serial | すべてのクラス |
Description | details.description | すべてのクラス |
Operating System | details.os | すべてのクラス |
Backplane ID | details.backplane.id | すべてのクラス |
Backplane Name | details.backplane.name | すべてのクラス |
Firmware version | details.firmwareVersion | すべてのクラス |
Model number | details.modelName | すべてのクラス |
Discovery Source | 「SG-TenableForAssets」 | すべてのクラス |
IP Address | details.ips[0] | すべてのクラス |
Most recent discovery | details.lastSeen | すべてのクラス |
First discovered | details.firstSeen | すべてのクラス |
Vendor | details.vendor | すべてのクラス |
Manufacturer | details.vendor | すべてのクラス |
Tenable Asset Attributes | 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 |
details.ips |
IP Version | 「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 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 を使用するか、資産オブジェクトのドキュメントで可能な資産の値を確認します。