API Incidents

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

Consulta la documentación de Apigee Edge.

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

Parámetros en llamadas a la API de ejemplo

En las siguientes secciones se muestran ejemplos de llamadas a la API Incidents. Las llamadas a la API contienen los siguientes parámetros variables:

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

Listar incidentes y obtener sus detalles

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

Ejemplo: listar todos los incidentes de 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 ver las descripciones de la solicitud y la respuesta.

Ejemplo: Obtener detalles de un incidente específico

Para obtener los detalles de un incidente concreto, 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 devuelve en el campo name de la llamada que se muestra en Ejemplo: listar todos los incidentes de un entorno.

Consulta las descripciones de la solicitud y la respuesta en la página de referencia de SecurityIncident.

Archivar incidentes

Para ayudarte a distinguir entre los incidentes que ya has investigado y los que no, puedes archivar los incidentes que ya no requieran tu atención. Archivar incidencias tiene los siguientes efectos:

  • En la interfaz de usuario de Apigee, los incidentes archivados no se muestran en la lista Detalles del entorno > Incidentes (siempre que no se haya seleccionado la opción Incluir incidentes archivados).
  • En la API, cuando llamas a list all incidents (listar todos los incidentes), los incidentes archivados tienen la siguiente línea:
    "observability": "ARCHIVED"

    Puede 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 eliminan: siempre puedes desarchivarlos, lo que cambia el "observability" del incidente a ACTIVE.

En los siguientes ejemplos se muestra cómo archivar y restaurar incidencias.

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

Se devuelve una respuesta como la siguiente:

{
    "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 ha archivado.

Desarchivar un incidente

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

"observability": "ACTIVE"

Filtrar incidentes por estado de archivo

En el siguiente ejemplo se filtran los resultados de una llamada para enumerar las incidencias de forma que solo se devuelvan las incidencias activas.

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"

Se devuelve un resultado como el siguiente.

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

Archivar o desarchivar varios incidentes de seguridad

Para archivar o restaurar más de un incidente de seguridad, introduce 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 Security Incidents

La API Security Incidents 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 habilite la API Advanced para una organización o si la vuelve a habilitar más adelante, habrá un retraso mientras los eventos se agrupan en incidentes. Después, los incidentes se vuelven a calcular periódicamente.