API Incidents

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

A API Incidents permite-lhe ver estatísticas de incidentes de segurança relacionados com a deteção de abusos.

Parâmetros em exemplos de chamadas API

As secções seguintes dão exemplos de chamadas API que usam a API Incidents. As chamadas da API contêm os seguintes parâmetros variáveis:

  • ORG é a sua organização.
  • ENV é o ambiente no qual quer que as pontuações sejam calculadas.
  • INCIDENT_UUID é o UUID do incidente.
  • $TOKEN é a variável de ambiente para uma chave de acesso OAuth.

Listar incidentes e obter os respetivos detalhes

Os exemplos seguintes mostram como listar incidentes e obter os respetivos detalhes.

Exemplo: liste todos os incidentes de um ambiente

Para apresentar uma lista de todos os incidentes de um ambiente, envie o seguinte pedido:

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 ver descrições do pedido e da resposta.

Exemplo: obtenha detalhes de um incidente específico

Para obter os detalhes de um incidente específico, envie um pedido como o seguinte:

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

onde INCIDENT_UUID é o UUID do incidente, que é devolvido no campo name pela chamada apresentada em Exemplo: liste todos os incidentes de um ambiente.

Consulte a página de referência para ver descrições do pedido e da resposta.SecurityIncident

Arquivar incidentes

Para ajudar a distinguir os incidentes que já investigou dos que ainda não investigou, pode arquivar os incidentes que já não requerem a sua atenção. O arquivo de incidentes tem os seguintes efeitos:

  • Na IU do Apigee, os incidentes arquivados não são apresentados na lista Detalhes do ambiente > Incidentes (desde que Incluir incidentes arquivados não esteja selecionado).
  • Na API, quando faz uma chamada para listar todos os incidentes, os incidentes arquivados têm a seguinte linha:
    "observability": "ARCHIVED"

    Pode usar o campo "observability" para filtrar e excluir incidentes arquivados de uma lista de incidentes.

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

    • ACTIVE
    • ARCHIVED

Os incidentes arquivados não são eliminados: pode sempre desarquivá-los, o que altera o estado do incidente de "observability" para ACTIVE.

Os exemplos seguintes mostram como arquivar e retirar do arquivo incidentes.

Arquive um incidente

Para arquivar um incidente, envie um pedido como o seguinte:

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

Isto devolve uma resposta semelhante à 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.

Retire um incidente do arquivo

Para desarquivar um incidente, use a mesma chamada que na secção anterior, mas use a linha

"observability": "ACTIVE"

Filtre incidentes por estado de arquivo

O exemplo seguinte filtra os resultados de uma chamada para listar incidentes, de modo que apenas sejam devolvidos incidentes ativos.

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"

Isto devolve um resultado semelhante ao 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"
}

Arquive ou retire do arquivo vários incidentes de segurança

Para arquivar ou desarquivar mais do que um incidente de segurança, introduza um comando como o seguinte:

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 durante um máximo de 14 meses.
  • O ListIncidents suporta filtros apenas para o seguinte:
    • first_detected_time
    • last_detected_time
    • apiproxy
  • Quando ativa pela primeira vez a API Advanced para uma organização ou a reativa mais tarde, existe um atraso enquanto os eventos são agrupados em incidentes. Depois disso, os incidentes são recalculados periodicamente.