Incidents API

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

您可以使用「事件」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,會透過 示例:列出環境的所有事件 中顯示的呼叫,在 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
  • 首次為機構啟用進階 API,或日後重新啟用時,事件會延遲一段時間才會聚合為事件。之後,系統會定期重新計算事件。