オンプレミス管理コンソールのアラート管理 API リファレンス
- [アーティクル]
-
-
この記事では、Microsoft Defender for IoT オンプレミス管理コンソールでサポートされるアラート管理 REST API の一覧を示します。
この API を使用して、オンプレミスの管理コンソールからすべてのアラートまたはフィルター処理されたアラートを取得します。
URI: /external/v1/alerts
または /external/v2/alerts
取得
クエリ パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
状態の |
処理されたアラートまたは未処理のアラートのみを取得します。 サポートされている値: - handled - unhandled その他の値はすべて無視されます。 |
/api/v1/alerts?state=handled |
随意 |
fromTime の |
エポック時間と UTC タイムゾーンから、特定の時刻からミリ秒単位で作成されたアラートを取得します。 |
/api/v1/alerts?fromTime=<epoch> |
随意 |
toTime を する |
エポック時間と UTC タイムゾーンからミリ秒単位で、特定の時刻より前に作成されたアラートを取得します。 |
/api/v1/alerts?toTime=<epoch> |
随意 |
siteId の |
アラートが検出されたサイト。 |
/api/v1/alerts?siteId=1 |
随意 |
zoneId を する |
アラートが検出されたゾーン。 |
/api/v1/alerts?zoneId=1 |
随意 |
sensorId を する |
アラートが検出されたセンサー。 |
/api/v1/alerts?sensorId=1 |
随意 |
型: JSON
次のフィールドを含むアラートの一覧。
名前 |
種類 |
Null 許容/Null 許容ではない |
値の一覧 |
ID |
数値 |
null 許容ではない |
- |
sensorId を する |
数値 |
null 許容ではない |
- |
zoneId を する |
数値 |
null 許容ではない |
- |
時間 |
数値 |
null 許容ではない |
エポック時間ミリ秒 (UTC タイムゾーン) |
タイトル を する |
糸 |
null 許容ではない |
- |
メッセージ |
糸 |
null 許容ではない |
- |
重大度 を する |
糸 |
null 許容ではない |
Warning 、Minor 、Major 、または Critical |
エンジンの |
糸 |
null 許容ではない |
Protocol Violation 、Policy Violation 、Malware 、Anomaly 、または Operational |
sourceDevice の |
数値 |
許容 |
デバイス ID |
destinationDevice を する |
数値 |
許容 |
デバイス ID |
remediationSteps |
糸 |
許容 |
アラートに表示される修復手順 |
追加のInformation を する |
追加情報オブジェクト |
許容 |
- |
処理 |
ブール値、アラートの状態 |
null 許容ではない |
true または false |
追加情報フィールド:
名前 |
種類 |
Null 許容/Null 許容ではない |
値の一覧 |
説明 |
糸 |
null 許容ではない |
- |
情報 |
JSON 配列 |
null 許容ではない |
糸 |
V2に追加された :
名前 |
種類 |
Null 許容/Null 許容ではない |
値の一覧 |
sourceDeviceAddress の |
糸 |
許容 |
IP アドレスまたは MAC アドレス |
destinationDeviceAddress を する |
糸 |
許容 |
IP アドレスまたは MAC アドレス |
remediationSteps |
JSON 配列 |
null 許容ではない |
アラートで説明されている文字列、修復手順 |
sensorName |
糸 |
null 許容ではない |
ユーザーによって定義されたセンサーの名前 |
zoneName |
糸 |
null 許容ではない |
センサーに関連付けられているゾーンの名前 |
siteName を する |
糸 |
null 許容ではない |
センサーに関連付けられているサイトの名前 |
|
|
|
|
詳細については、「Sensor API バージョン リファレンス」を参照してください。
応答の例
[
{
"engine": "Operational",
"handled": false,
"title": "Traffic Detected on sensor Interface",
"additionalInformation": null,
"sourceDevice": 0,
"zoneId": 1,
"siteId": 1,
"time": 1594808245000,
"sensorId": 1,
"message": "The sensor resumed detecting network traffic on ens224.",
"destinationDevice": 0,
"id": 1,
"severity": "Warning"
},
{
"engine": "Anomaly",
"handled": false,
"title": "Address Scan Detected",
"additionalInformation": null,
"sourceDevice": 4,
"zoneId": 1,
"siteId": 1,
"time": 1594808260000,
"sensorId": 1,
"message": "Address scan detected.\nScanning address: 10.10.10.22\nScanned subnet: 10.11.0.0/16\nScanned addresses: 10.11.1.1, 10.11.20.1, 10.11.20.10, 10.11.20.100, 10.11.20.2, 10.11.20.3, 10.11.20.4, 10.11.20.5, 10.11.20.6, 10.11.20.7...\nIt is recommended to notify the security officer of the incident.",
"destinationDevice": 0,
"id": 2,
"severity": "Critical"
},
{
"engine": "Operational",
"handled": false,
"title": "Suspicion of Unresponsive MODBUS Device",
"additionalInformation": null,
"sourceDevice": 194,
"zoneId": 1,
"siteId": 1,
"time": 1594808285000,
"sensorId": 1,
"message": "Outstation device 10.13.10.1 (Protocol Address 53) seems to be unresponsive to MODBUS requests.",
"destinationDevice": 0,
"id": 3,
"severity": "Minor"
}
]
型: GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<>IP_ADDRESS>/external/v1/alerts?state=&zoneId=&fromTime=&toTime=&siteId=&sensor='
例の:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" 'https://127.0.0.1/external/v1/alerts?state=unhandled&zoneId=1&fromTime=0&toTime=1594551777000&siteId=1&sensor=1'
UUID (UUID に基づいてアラートを管理する)
この API を使用して、Defender for IoT によって検出された特定のアラートに対して指定されたアクションを実行します。
たとえば、この API を使用して、データを QRadar に転送する転送ルールを作成できます。 詳細については、「Qradar と Microsoft Defender for IoTの統合」を参照してください。
URI: /external/v1/alerts/<UUID>
置く
型: JSON
クエリ パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
UUID の |
処理または処理して学習するアラートの汎用一意識別子 (UUID) を定義します。 |
/api/v1/alerts/7903F632-H7EJ-4N69-F40F-4B1E689G00Q0 |
必須 |
Body パラメーターの
名前 |
形容 |
例 |
必須/省略可能 |
アクション の |
糸 |
handle または handleAndLearn |
必須 |
要求の例
{
"action": "handle"
}
型: JSON
デバイスを表す JSON オブジェクトの配列。
応答フィールド:
名前 |
種類 |
必須/省略可能 |
形容 |
コンテンツ/エラー を する |
糸 |
必須 |
要求が成功すると、コンテンツ プロパティが表示されます。 それ以外の場合は、エラー プロパティが表示されます。 |
可能なコンテンツ値:
状態コード |
メッセージ |
形容 |
200 |
アラート更新要求が正常に完了しました。 |
更新要求が正常に完了しました。 コメントはありません。 |
200 |
アラートは既に処理されています (を処理します)。 |
アラートのハンドル要求を受信したときに、アラートは既に処理されています。 アラートは、処理されたままです。 |
200 |
アラートは既に処理され、学習されました (handleAndLearn)。 |
アラートは既に処理され、handleAndLearn 要求が受信されたときに学習されました。 アラートは、handledAndLearn 状態のままです。 |
200 |
アラートは既に処理されています (処理された)。 アラートに対して処理と学習 (handleAndLearn) が実行されました。 |
アラートは、handleAndLearn を する要求を受信したときに既に処理されています。 アラートは handleAndLearnになります。 |
200 |
アラートは既に処理され、学習されました (handleAndLearn)。 無視されたハンドル要求。 |
アラートを処理する要求が受信されたときに、アラートは既に handleAndLearn されました。 アラートは handleAndLearn維持されます。 |
500 |
無効なアクションです。 |
送信されたアクションは、アラートに対して実行する有効なアクションではありません。 |
500 |
予期しないエラーが発生しました。 |
予期しないエラーが発生しました。 この問題を解決するには、テクニカル サポートにお問い合わせください。 |
500 |
この UUID のアラートが見つからなかったため、要求を実行できませんでした。 |
指定されたアラート UUID がシステムで見つかりませんでした。 |
応答の例: 成功
{
"content": "Alert update request finished successfully"
}
応答の例: 失敗
{
"error": "Invalid action"
}
型: PUT
API:
curl -k -X PUT -d '{"action": "<ACTION>"}' -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/external/v1/alerts/<UUID>
例の:
curl -k -X PUT -d '{"action": "handle"}' -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/external/v1/alerts/1-1594550943000
maintenanceWindow (アラートの除外の作成)
アラートが送信されないメンテナンス期間を管理します。 この API を使用して、アラートをトリガーするときに除外する必要がある停止時刻と開始時刻、デバイス、またはサブネットを定義して更新するか、除外する必要がある Defender for IoT エンジンを定義して更新します。
たとえば、メンテナンス期間中に、重要なデバイス上のマルウェア アラートを除き、すべてのアラートのアラート配信を停止できます。
maintenanceWindow
API で定義されたメンテナンス期間は、オンプレミス管理コンソールの [アラートの除外] ウィンドウに読み取り専用の除外ルールとして表示され、Maintenance-{token name}-{ticket ID}
という構文で名前が付けられます。
大事な
この API は、メンテナンス目的でのみ、および限られた期間のためにサポートされており、アラート除外ルール代わりに使用されるものではありません。 この API は、1 回限り、一時的なメンテナンス操作にのみ使用します。
URI: /external/v1/maintenanceWindow
投稿
新しいメンテナンス期間を作成します。
Body パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
ticketId を する |
糸。 ユーザーのシステムのメンテナンス チケット ID を定義します。 チケット ID が既存の開いているウィンドウにリンクされていないことを確認します。 |
2987345p98234 |
必須 |
ttl を する |
正の整数。 TTL (有効期間) (メンテナンス期間の期間) を分単位で定義します。 定義された期間が完了すると、メンテナンス期間が終了し、システムは再び正常に動作します。 |
180 |
必須 |
エンジン |
文字列の JSON 配列。 メンテナンス期間中にアラートを抑制するエンジンを定義します。 使用可能な値:
- ANOMALY - MALWARE - OPERATIONAL - POLICY_VIOLATION - PROTOCOL_VIOLATION |
ANOMALY,OPERATIONAL |
随意 |
sensorIds を する |
文字列の JSON 配列。 メンテナンス期間中にアラートを抑制するセンサーを定義します。 これらのセンサー ID は、アプライアンス (OT センサー アプライアンスの管理) API から取得できます。 |
1,35,63 |
随意 |
サブネット を する |
文字列の JSON 配列。 メンテナンス期間中のアラートを抑制するサブネットを定義します。 各サブネットを CIDR 表記で定義します。 |
192.168.0.0/16,138.136.80.0/14,112.138.10.0/8 |
随意 |
状態コード |
メッセージ |
形容 |
201 (作成) |
- |
アクションが正常に完了しました。 |
400 (無効な要求) |
No TicketId |
API 要求に ticketId 値がありませんでした。 |
400 (無効な要求) |
無効な TTL |
API 要求には、正以外または数値以外の TTL 値が含まれていました。 |
400 (無効な要求) |
要求を解析できませんでした。 |
正しくないパラメーターや無効な値など、本文の解析に関する問題。 |
400 (無効な要求) |
同じパラメーターを持つメンテナンス期間が既に存在します。 |
同じ詳細を持つ既存のメンテナンス期間が既に存在する場合に表示されます。 |
404 (見つかりません) |
不明なセンサー ID |
要求に一覧表示されているセンサーの 1 つが存在しません。 |
409 (競合) |
チケット ID には既に開いているウィンドウがあります。 |
チケット ID は、開いている別のメンテナンス期間にリンクされます。 |
500 (内部サーバー エラー) |
- |
その他の予期しないエラー。 |
型: POST
API:
curl -k -X POST -d '{"ticketId": "<TICKET_ID>",ttl": <TIME_TO_LIVE>,"engines": [<ENGINE1, ENGINE2...ENGINEn>],"sensorIds": [<SENSOR_ID1, SENSOR_ID2...SENSOR_IDn>],"subnets": [<SUBNET1, SUBNET2....SUBNETn>]}' -H "Authorization: <AUTH_TOKEN>" https://<IP address>/external/v1/maintenanceWindow
例の:
curl -k -X POST -d '{"ticketId": "a5fe99c-d914-4bda-9332-307384fe40bf","ttl": "20","engines": ["ANOMALY"],"sensorIds": ["5","3"],"subnets": ["10.0.0.0/16"]}' -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/external/v1/maintenanceWindow
削除
既存のメンテナンス期間を閉じます。
クエリ パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
ticketId を する |
ユーザーのシステムのメンテナンス チケット ID を定義します。 チケット ID が既存の開いているウィンドウにリンクされていることを確認します。 |
2987345p98234 |
必須 |
エラー コード:
コード |
メッセージ |
形容 |
200 (OK) |
- |
アクションが正常に完了しました。 |
400 (無効な要求) |
No TicketId |
ticketId パラメーターが要求に含まれていない。 |
404 (見つかりません): |
メンテナンス期間が見つかりません。 |
チケット ID は、開いているメンテナンス期間にリンクされていません。 |
500 (内部サーバー エラー) |
- |
その他の予期しないエラー。 |
型: DELETE
API:
curl -k -X DELETE -d '{"ticketId": "<TICKET_ID>"}' -H "Authorization: <AUTH_TOKEN>" https://<IP address>/external/v1/maintenanceWindow
例の:
curl -k -X DELETE -d '{"ticketId": "a5fe99c-d914-4bda-9332-307384fe40bf"}' -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/external/v1/maintenanceWindow
取得
メンテナンス期間を処理するためにこの API を使用して実行されたすべての オープン (POST)、閉じる (DELETE)、および更新 (PUT) アクションのログを取得します。 T
クエリ パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
fromDate の |
定義済みの日付以降のログをフィルター処理します。 形式は YYYY-MM-DD です。 |
2022-08-10 |
随意 |
toDate を する |
定義済みの日付までログをフィルター処理します。 形式は YYYY-MM-DD です。 |
2022-08-10 |
随意 |
ticketId を する |
特定のチケット ID に関連するログをフィルター処理します。 |
9a5fe99c-d914-4bda-9332-307384fe40bf |
随意 |
tokenName |
特定のトークン名に関連するログをフィルター処理します。 |
quarterly-sanity-window |
随意 |
エラー コード:
コード |
メッセージ |
形容 |
200 |
わかりました |
アクションが正常に完了しました。 |
204: |
コンテンツなし |
表示するデータはありません。 |
400 |
無効な要求 |
日付形式が正しくありません。 |
500 |
内部サーバー エラー |
その他の予期しないエラー。 |
型: JSON
メンテナンス期間の操作を表す JSON オブジェクトの配列。
Response 構造体:
名前 |
種類 |
Null 許容/Null 許容ではない |
値の一覧 |
ID |
長整数 |
null 許容ではない |
現在のログの内部 ID |
dateTime を する |
糸 |
null 許容ではない |
アクティビティが発生した時刻 (例: 2022-04-23T18:25:43.511Z |
ticketId を する |
糸 |
null 許容ではない |
メンテナンス期間 ID。 例: 9a5fe99c-d914-4bda-9332-307384fe40bf |
tokenName |
糸 |
null 許容ではない |
メンテナンス期間のトークン名。 例: quarterly-sanity-window |
エンジン |
文字列の配列 |
許容 |
メンテナンス期間の作成時に提供される、メンテナンス期間が適用されるエンジン: Protocol Violation 、Policy Violation 、Malware 、Anomaly 、または Operational |
sensorIds を する |
文字列の配列 |
許容 |
メンテナンス期間の作成時に提供される、メンテナンス期間が適用されるセンサー。 |
サブネット を する |
文字列の配列 |
許容 |
メンテナンス期間の作成時に指定された、メンテナンス期間が適用されるサブネット。 |
ttl を する |
数値 |
許容 |
メンテナンス期間の作成時または更新時に提供されるメンテナンス期間の Time to Live (TTL)。 |
operationType の |
糸 |
null 許容ではない |
次のいずれかの値: OPEN 、UPDATE 、および CLOSE |
型: GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/external/v1/maintenanceWindow?fromDate=&toDate=&ticketId=&tokenName='
例の:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" 'https://127.0.0.1/external/v1/maintenanceWindow?fromDate=2020-01-01&toDate=2020-07-14&ticketId=a5fe99c-d914-4bda-9332-307384fe40bf&tokenName=a'
置く
ttl
パラメーターを変更して、メンテナンス プロセスを開始した後のメンテナンス期間を更新できます。 新しい期間定義は、前の期間をオーバーライドします。
この方法は、現在構成されている期間よりも長い期間を設定する場合に便利です。 たとえば、最初に 180 分を定義し、90 分が経過し、さらに 30 分を追加する場合は、ttl
を 120
分に更新して、期間数をリセットします。
クエリ パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
ticketId を する |
糸。 ユーザーのシステムのメンテナンス チケット ID を定義します。 |
2987345p98234 |
必須 |
ttl を する |
正の整数。 ウィンドウの期間を分単位で定義します。 |
210 |
必須 |
エラー コード:
コード |
メッセージ |
形容 |
200 (OK) |
- |
アクションが正常に完了しました。 |
400 (無効な要求) |
No TicketId |
要求に ticketId 値がありません。 |
400 (無効な要求) |
無効な TTL |
定義された TTL が数値ではないか、正の整数ではありません。 |
400 (無効な要求) |
要求を解析できませんでした |
要求に ttl パラメーター値がありません。 |
404 (見つかりません) |
メンテナンス期間が見つかりません |
チケット ID は、開いているメンテナンス期間にリンクされていません。 |
500 (内部サーバー エラー) |
- |
その他の予期しないエラー。 |
型: PUT
API:
curl -k -X PUT -d '{"ticketId": "<TICKET_ID>",ttl": "<TIME_TO_LIVE>"}' -H "Authorization: <AUTH_TOKEN>" https://<IP address>/external/v1/maintenanceWindow
例の:
curl -k -X PUT -d '{"ticketId": "a5fe99c-d914-4bda-9332-307384fe40bf","ttl": "20"}' -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/external/v1/maintenanceWindow
pcap (アラート PCAP の要求)
この API を使用して、アラートに関連する PCAP ファイルを要求します。
URI: /external/v2/alerts/
取得
クエリ パラメーター:
名前 |
形容 |
例 |
必須/省略可能 |
ID |
オンプレミス管理コンソールからのアラート ID |
/external/v2/alerts/pcap/<id> |
必須 |
型: JSON
操作の状態の詳細を含むメッセージ文字列:
状態コード |
メッセージ |
形容 |
200 (OK) |
- |
要求された PCAP ファイルに関するデータを含む JSON オブジェクト。 詳細については、「データ フィールド」を参照してください。 |
500 (内部サーバー エラー) |
アラートが見つかりません |
指定されたアラート ID がオンプレミスの管理コンソールに見つかりませんでした。 |
500 (内部サーバー エラー) |
xsense id <number> のトークンを取得中にエラーが発生しました |
指定したセンサー ID のセンサーのトークンを取得するときにエラーが発生しました |
500 (内部サーバー エラー) |
- |
その他の予期しないエラー。 |
データ フィールド
名前 |
種類 |
Null 許容/Null 許容ではない |
値の一覧 |
ID |
数値 |
null 許容ではない |
オンプレミス管理コンソールのアラート ID |
xsenseId を する |
数値 |
null 許容ではない |
センサー ID |
xsenseAlertId を する |
数値 |
null 許容ではない |
センサー コンソールのアラート ID |
downloadUrl を する |
糸 |
null 許容ではない |
PCAP ファイルのダウンロードに使用する URL |
トークン を する |
糸 |
null 許容ではない |
PCAP ファイルのダウンロード時に使用されるセンサーのトークン |
応答の例: 成功
{
"downloadUrl": "https://10.1.0.2/api/v2/alerts/pcap/1",
"xsenseId": 1,
"token": "d2791f58-2a88-34fd-ae5c-2651fe30a63c",
"id": 1,
"xsenseAlertId": 1
}
応答の例: エラー
{
"error": "alert not found"
}
型: GET
API
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/external/v2/alerts/pcap/<ID>'
*
例の:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" 'https://10.1.0.1/external/v2/alerts/pcap/1'
次の手順
詳細については、Defender for IoT API リファレンスの概要を参照してください。