Incidents API

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

您可以使用 Incidents API 查看與濫用行為偵測相關的安全事件統計資料。

範例 API 呼叫中的參數

下列各節提供使用 Incidents API 的 API 呼叫範例。API 呼叫包含下列變數參數:

  • ORG 是貴機構。
  • ENV 是您要計算分數的環境。
  • INCIDENT_UUID 是事件的 UUID。
  • $TOKENOAuth 存取權杖的環境變數。

列出事件並取得詳細資料

下列範例說明如何列出事件並取得詳細資料。

範例:列出環境的所有事件

如要列出環境的所有事件,請傳送下列要求:

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,會透過「namename 欄位傳回,如「範例:列出環境的所有事件」所示。

如需要求和回應的說明,請參閱 SecurityIncident參考頁面。

封存事件

為協助您區分已調查的事件和尚未調查的事件,您可以封存不再需要您注意的事件。封存事件會產生下列影響:

  • 在 Apigee 使用者介面中,封存的事件不會顯示在「環境詳細資料」>「事件」 清單中 (前提是未選取「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"}]}'

安全事件 API 的限制

Security Incidents API 有下列限制:

  • 事件最多可保留 14 個月。
  • ListIncidents 僅支援下列項目的篩選器:
    • first_detected_time
    • last_detected_time
    • apiproxy
  • 首次為機構啟用進階 API,或之後重新啟用時,系統會將事件叢集為事件,因此會有延遲。之後,系統會定期重新計算事件。