API de incidentes

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

La API de Incidentes te permite ver estadísticas de incidentes de seguridad relacionados con la detección de abuso.

Parámetros en llamadas a la API de ejemplo

En las siguientes secciones, se proporcionan ejemplos de llamadas a la API que usan la API de incidentes. Las llamadas a la API contienen los siguientes parámetros de variables:

  • ORG es tu organización.
  • ENV es el entorno en el que deseas que se calculen las puntuaciones.
  • INCIDENT_UUID es el UUID del incidente.
  • $TOKEN es la variable de entorno para un token de acceso de OAuth.

Genera una lista de incidentes y obtén sus detalles

En los siguientes ejemplos, se muestra cómo enumerar los incidentes y obtener sus detalles.

Ejemplo: Enumera todos los incidentes para un entorno

Para enumerar todos los incidentes de un entorno, envía la siguiente solicitud:

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

Consulta la página de referencia de SecurityIncident para obtener descripciones de la solicitud y la respuesta.

Ejemplo: Obtén detalles sobre un incidente específico

Para obtener los detalles de un incidente específico, envía una solicitud como la siguiente:

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

donde INCIDENT_UUID es el UUID del incidente, que se muestra en el campo name mediante la llamada que se muestra en Ejemplo: enumera todos los incidentes de un entorno.

Consulta la página de referencia de SecurityIncident para obtener descripciones de la solicitud y la respuesta.

Archiva incidentes

Para ayudarte a distinguir entre los incidentes que ya investigaste y los que no analizaste, puedes archivar los incidentes que ya no requieren tu atención. Archivar incidentes tiene los siguientes efectos:

  • En la IU de Apigee, los incidentes archivados no se muestran en la lista Detalles del entorno > Incidentes (siempre que se seleccionara Incluir incidentes archivados).
  • En la API, cuando haces una llamada para enumerar todos los incidentes, los incidentes archivados tienen la siguiente línea:
    "observability": "ARCHIVED"

    Puedes usar el campo "observability" para filtrar los incidentes archivados de una lista de incidentes.

    Los valores posibles de "observability" son los siguientes:

    • ACTIVE
    • ARCHIVED

Los incidentes archivados no se borran: siempre puedes desarchivarlos, lo que cambia el "observability" del incidente a ACTIVE.

En los siguientes ejemplos, se muestra cómo archivar y desarchivar incidentes.

Cómo archivar un incidente

Para archivar un incidente, envía una solicitud como la siguiente:

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

Esto devuelve una respuesta como la que se muestra a continuación:

{
    "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"
}

La última línea, "observability": "ARCHIVED", muestra que el incidente se archivó.

Desarchiva un incidente

Para desarchivar un incidente, usa la misma llamada que en la sección anterior, pero usa la línea

"observability": "ACTIVE"

Cómo filtrar incidentes por estado de archivo

En el siguiente ejemplo, se filtran los resultados de una llamada para enumerar los incidentes de modo que solo se muestren los incidentes activos.

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"

Esto devuelve un resultado como la que se muestra a continuación,

{
  "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"
}

Archiva o desarchiva varios incidentes de seguridad

Para archivar o desarchivar más de un incidente de seguridad, ingresa un comando como el siguiente:

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"}]}'

Limitaciones de la API de incidentes de seguridad

La API de incidentes de seguridad tiene las siguientes limitaciones:

  • Los incidentes se almacenan durante un máximo de 14 meses.
  • ListIncidents solo admite filtros para lo siguiente:
    • first_detected_time
    • last_detected_time
    • apiproxy
  • La primera vez que habilites la API avanzada para una organización, o si luego la vuelves a habilitar, habrá un retraso mientras los eventos se agrupan en clústeres en incidentes. Después de eso, los incidentes se vuelven a calcular de forma periódica.