インシデント API

このページは ApigeeApigee ハイブリッドに適用されます。

Apigee Edge のドキュメントを表示します。

Incidents API では、不正行為の検出に関するセキュリティ インシデントの統計情報を表示できます。

API 呼び出しの例のパラメータ

以降のセクションでは、Incidents API を使用する API 呼び出しの例を示します。API 呼び出しには次の変数パラメータが含まれます。

  • ORG は、あなたの組織です。
  • ENV は、スコアを計算する環境です。
  • INCIDENT_UUID は、インシデントの UUID です。
  • $TOKEN は、OAuth アクセス トークンの環境変数です。

インシデントを一覧表示して詳細を取得する

次の例は、インシデントを一覧表示して詳細を取得する方法を示しています。

例: 環境のすべてのインシデントを一覧表示する

環境のすべてのインシデントを一覧表示するには、次のリクエストを送信します。

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents" \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

リクエストとレスポンスの説明については、SecurityIncident リファレンス ページをご覧ください。

例: 特定のインシデントの詳細を取得する

特定のインシデントの詳細を取得するには、次のようなリクエストを送信します。

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents/INCIDENT_UUID" \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

ここで、INCIDENT_UUID はインシデントの UUID です。これは、例: 環境のすべてのインシデントを一覧表示するに示す呼び出しによって name フィールドに返されます。

リクエストとレスポンスの説明については、SecurityIncident リファレンス ページをご覧ください。

インシデントのアーカイブ

調査済みのインシデントと未調査のインシデントを区別できるように、確認が不要になったインシデントをアーカイブできます。インシデントをアーカイブすると、次のような影響があります。

  • Apigee UI では、アーカイブされたインシデントは[環境の詳細] > [インシデント] のリストには表示されません([Include archived incidents] が選択されていない場合)。
  • API ですべてのインシデントを一覧表示する呼び出しを行うと、アーカイブ済みのインシデントに次の行が表示されます。
    "observability": "ARCHIVED"

    インシデントのリストからアーカイブ済みのインシデントを除外するには、"observability" フィールドを使用します。

    "observability" に指定できる値は次のとおりです。

    • ACTIVE
    • ARCHIVED

アーカイブ済みのインシデントは削除されません。いつでもアーカイブを解除できます。アーカイブを解除すると、インシデントの "observability"ACTIVE に変更されます。

次の例は、インシデントをアーカイブおよびアーカイブ解除する方法を示しています。

インシデントをアーカイブする

インシデントをアーカイブするには、次のようなリクエストを送信します。

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents/INCIDENT_UUID?updateMask=observability" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"name": "organizations/ORG/environments/ENV/securityIncidents/INCIDENT_UUID",
            "observability": "ARCHIVED"}' \
       -X PATCH

これにより、次のようなレスポンスが返されます。

{
    "name": "INCIDENT_UUID",
    "displayName": "Multi type attack from US",
    "firstDetectedTime": "2023-04-04T17:00:00Z",
    "lastDetectedTime": "2023-09-12T03:10:00Z",
    "detectionTypes": [
      "Advanced Anomaly Detection",
      "OAuth Abuser"
    ],
    "trafficCount": "4052130",
    "containsMlAbuses": false,
    "riskLevel": "MODERATE",
    "observability": "ARCHIVED"
}

最後の行の "observability": "ARCHIVED" は、インシデントがアーカイブされたことを示しています。

インシデントのアーカイブを解除する

インシデントのアーカイブを解除するには、前のセクションと同じ呼び出しを使用しますが、次の行を使用します。

"observability": "ACTIVE"

アーカイブ ステータスでインシデントをフィルタリングする

次の例では、インシデントを一覧表示する呼び出しの結果をフィルタリングして、アクティブなインシデントのみが返されるようにします。

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents?filter=observability=\"ACTIVE\"" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json"

これにより、次のような結果が返されます。

{
  "securityIncidents": [
    {
      "name": "1850fbb9-53a9-44e7-8893-f0b0c987d55e",
      "displayName": "Multi type attack from US",
      "firstDetectedTime": "2023-04-04T17:00:00Z",
      "lastDetectedTime": "2023-09-12T03:10:00Z",
      "detectionTypes": [
        "Advanced Anomaly Detection",
        "OAuth Abuser"
      ],
      "trafficCount": "4052130",
      "containsMlAbuses": false,
      "riskLevel": "MODERATE",
      "observability": "ACTIVE"
    }
  ],
  "nextPageToken": "ClAKAjUwEj1saXN0U2VjdXJpdHlJbmNpZGVudC9hcGlzZWN1cml0eS1tbHRlc3QtYXV0b3B1c2gvZGVmYXVsdC1wcm9kGgsI_KW1qQYQ6fqSDg"
}

複数のセキュリティ インシデントをアーカイブまたはアーカイブ解除する

複数のセキュリティ インシデントをアーカイブまたはアーカイブ解除するには、次のようなコマンドを入力します。

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents:batchUpdate" \
       -X POST \
       -d '{"requests": 
        [{"security_incident": {"name": "organizations/apisecurity-mltest-autopush/environments/default-prod/securityIncidents/INCIDENT_UUID1", "observability": "ARCHIVE"}, "update_mask": "observability"}, 
         {"security_incident": {"name": "organizations/apisecurity-mltest-autopush/environments/default-prod/securityIncidents/INCIDENT_UUID2", "observability": "ARCHIVE"}, "update_mask": "observability"}]}'

Security Incidents API に関する制限事項

Security Incidents API には次の制限があります。

  • インシデントの最大保存期間は 14 か月です。
  • ListIncidents は、以下についてのみフィルタをサポートしています。
    • first_detected_time
    • last_detected_time
    • apiproxy
  • 初めて組織の Advanced API を有効にするか、後で再度有効にすると、イベントがインシデントにクラスタ化される間、遅延が発生します。その後、インシデントは定期的に再計算されます。