事件 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,由“示例:列出环境的所有突发事件”中所示的调用在 name 字段中返回。

如需查看请求和响应的说明,请参阅 SecurityIncident 参考页面。

归档突发事件

为了帮助您区分已调查的突发事件和尚未调查的突发事件,您可以归档不再需要注意的突发事件。归档突发事件会产生以下影响:

  • 在 Apigee 界面中,归档的突发事件不会显示在环境详情 > 突发事件列表中(前提是未选择包括归档的突发事件)。
  • 在 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 的限制

安全事件 API 具有以下限制:

  • 事件最多可存储 14 个月。
  • ListIncidents 仅支持使用以下各项的过滤条件:
    • first_detected_time
    • last_detected_time
    • apiproxy
  • 当您首次为组织启用 Advanced API 或稍后重新启用该 API 时,活动分组到事件中会出现延迟。之后,事件会定期重新计算。