API Incidents

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

A API Incidents permite visualizar estatísticas de incidentes de segurança relacionados à detecção de abuso.

Parâmetros em chamadas de API de exemplo

As seções a seguir mostram exemplos de chamadas de API que usam a API Incidents. As chamadas de API contêm os seguintes parâmetros variáveis:

  • ORG é sua organização.
  • ENV é o ambiente em que você quer que as pontuações sejam calculadas.
  • INCIDENT_UUID é o UUID do incidente.
  • $TOKEN é a variável de ambiente de um token de acesso do OAuth.

Listar incidentes e receber os detalhes deles

Os exemplos a seguir mostram como listar incidentes e ver os detalhes deles.

Exemplo: listar todos os incidentes de um ambiente

Para listar todos os incidentes de um ambiente, envie a seguinte solicitação:

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

Consulte a página de referência SecurityIncident para conferir descrições da solicitação e da resposta.

Exemplo: receber os detalhes de um incidente específico

Para saber os detalhes de um incidente específico, envie uma solicitação como esta:

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

INCIDENT_UUID: o UUID do incidente, retornado no campo name pela chamada mostrada em Exemplo: liste todos os incidentes de um ambiente.

Consulte a página de referência SecurityIncident para conferir descrições da solicitação e da resposta.

Arquivamento de incidentes

Para ajudar a distinguir entre os incidentes investigados e aqueles que você não verificou, arquive aqueles que não exigem mais atenção. O arquivamento de incidentes tem os seguintes efeitos:

  • Na IU da Apigee, os incidentes arquivados não são exibidos no Detalhes do ambiente > Incidentes lista (desde que Incluir incidentes arquivados não está selecionada).
  • Na API, quando você faz uma chamada para listar todos os incidentes, os incidentes arquivados têm a seguinte linha:
    "observability": "ARCHIVED"

    Use o campo "observability" para filtrar incidentes arquivados de uma lista.

    Os valores possíveis para "observability" são:

    • ACTIVE
    • ARCHIVED

Os incidentes arquivados não são excluídos. Você pode desarquivá-los a qualquer momento, o que muda o "observability" do incidente para ACTIVE.

Os exemplos a seguir mostram como arquivar e desarquivar incidentes.

Arquivar um incidente

Para arquivar um incidente, envie uma solicitação como esta:

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

Isso retorna uma resposta como a seguinte:

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

A última linha, "observability": "ARCHIVED", mostra que o incidente foi arquivado.

Desarquivar um incidente

Para desarquivar um incidente, use a mesma chamada da seção anterior, mas com a linha

"observability": "ACTIVE"

Filtrar incidentes por status do arquivo

O próximo exemplo filtra os resultados de uma chamada para listar incidentes de modo que apenas os incidentes ativos sejam retornados.

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"

Isso retorna uma resposta como a seguinte:

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

Arquivar ou desarquivar vários incidentes de segurança

Para arquivar ou desarquivar mais de um incidente de segurança, digite um comando como este:

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

Limitações na API Security Incidents

A API Security Incidents tem as seguintes limitações:

  • Os incidentes são armazenados por até 14 meses.
  • ListIncidents oferece suporte a filtros somente para as seguintes opções:
    • first_detected_time
    • last_detected_time
    • apiproxy
  • Quando você ativar a API avançada para uma organização ou depois reativá-la, haverá um atraso enquanto os eventos forem agrupados em incidentes. Depois disso, os incidentes são recalculados periodicamente.