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.

Enumera los 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 aquellos que no analizaste, puedes archivar los incidentes que ya no requieren 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 realizas 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.

Archiva 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"

Filtra incidentes por estado de archivo

En el siguiente ejemplo, se filtran los resultados de una llamada para enumerar incidentes para 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.