Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
A API Security Stats permite-lhe ver estatísticas relacionadas com abusos e bots nos últimos 14 dias. Existem dois tipos de estatísticas de segurança:
- Estatísticas tabulares, que não têm uma dimensão de tempo. As estatísticas tabulares são frequentemente
calculadas através de uma função de agregação, por exemplo,
sum for message_count
oubot_traffic
. - Estatísticas de séries cronológicas, que têm uma dimensão de tempo.
Parâmetros em exemplos de chamadas API
As secções seguintes dão exemplos de chamadas da API que usam a API security stats. As chamadas da API contêm os seguintes parâmetros:
- ORG: a sua organização.
- ENV: o seu ambiente.
- METRIC_i: uma métrica para a estatística. Consulte as métricas e as funções de agregação.
- AGGREGATION_i: uma função de agregação para a métrica. Consulte a tabela abaixo.
- DIMENSION_i: uma dimensão para agrupar os valores da estatística.
- PAGE_SIZE: número máximo de subcomponentes devolvidos numa única página.
time_range
: o intervalo de tempo das estatísticas no formulário"time_range": { "start_time": START_TIME, "end_time": END_TIME }
where:
- START_TIME é a hora de início do intervalo de tempo.
- END_TIME é a hora de fim do intervalo de tempo.
START_TIME e END_TIME têm o formato
"YYYY-MM-DDT00:00:00Z"
.O intervalo de tempo pode ter, no máximo, 14 dias, e a data de início e a data de fim têm de estar nos últimos 365 dias.
Exemplo: consultar estatísticas de segurança tabulares para um ambiente
Um pedido que consulta estatísticas tabulares tem o seguinte formato:
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTabularStats" \ -H 'Content-type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d \ '{ "metrics": [{"metric": "METRIC_1", "aggregation": "AGGREGATION_1", {"metric": "METRIC_2", "aggregation": "AGGREGATION_2"}], "dimensions": ["DIMENSION_1", "DIMENSION_2"], "page_size": PAGE_SIZE, "time_range": { "start_time": START_TIME, "end_time": END_TIME } }'
Consulte Parâmetros em exemplos de chamadas da API.
Consulte as Limitações nas estatísticas de segurança para ver os números máximos de métricas, funções de agregação e dimensões que podem ser incluídos num pedido.
Segue-se um exemplo de um pedido que consulta estatísticas tabulares:
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTabularStats" \ -H 'Content-type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d \ '{ "metrics": [{"metric": "bot", "aggregation": "count_distinct"}, {"metric": "bot_traffic", "aggregation": "sum"}, {"metric": "bot_first_detected", "aggregation": "min"}, {"metric": "bot_last_detected", "aggregation": "max"}], "dimensions": ["apiproxy", "bot_reason", "ax_resolved_client_ip", "ax_geo_city", "ax_geo_country", "client_id", "proxy_basepath", "proxy_pathsuffix"], "page_size": 1, "time_range": { "start_time": START_TIME, "end_time": END_TIME } }'
Consulte a página de referência para ver descrições do pedido e da resposta.queryTabularStats
Exemplo: consultar estatísticas de segurança de séries cronológicas para um ambiente
As APIs de séries cronológicas devolvem estatísticas de séries cronológicas para as métricas escolhidas, agrupadas pela dimensão escolhida.
A seguinte chamada invoca estatísticas de séries cronológicas para o tráfego de bots agrupado por proxy de API. Como existem 4 proxies, isto gera 4 sequências de pontos de séries cronológicas. A ordem dos pontos de cada linha corresponde ao índice correspondente no campo das colunas.
Segue-se um pedido de exemplo:
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTimeSeriesStats" \ -H 'Content-type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d \ '{ "metrics": [{"metric": "METRIC_1", "aggregation": "AGGREGATION_1", "order": "ORDER"}], "dimensions": ["DIMENSION_1"], "window_size": "WINDOW_SIZE", "page_size": PAGE_SIZE, "time_range": { "start_time": START_TIME, "end_time": END_TIME } }'
Consulte Parâmetros em exemplos de chamadas da API.
Consulte a página de referência para ver descrições do pedido e da resposta.queryTabularStats
Exemplo: consultar detalhes de incidentes para deteção de abuso
O exemplo seguinte consulta os detalhes de um incidente para a deteção de abuso da API Advanced Security. A chamada devolve detalhes sobre a quantidade de bots para a app do programador para um determinado incidente.
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTabularStats" \ -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" -X POST -d \ '{"metrics": [{"metric": "bot_traffic", "aggregation": "sum"}], "dimensions": ["incident_id", "developer_app"], "filter": "incident_id eq '\''d897d1af-51ac-4b5d-a29e-d1059d922a05'\''", "page_size": 100, "time_range": { "start_time": START_TIME, "end_time": END_TIME } }'
Consulte Parâmetros em exemplos de chamadas da API.
Isto devolve uma resposta semelhante à seguinte:
{ "values": [ [ "d897d1af-51ac-4b5d-a29e-d1059d922a05", "Developer2_App1", 18353 ], [ "d897d1af-51ac-4b5d-a29e-d1059d922a05", "Developer1_App1", 18082 ] ], "columns": [ "incident_id", "developer_app", "bot_traffic" ] }
Consulte a página de referência para ver descrições do pedido e da resposta.queryTabularStats
Métricas e funções de agregação
A tabela seguinte descreve as métricas e as funções de agregação disponíveis na API de estatísticas de segurança:
Metric |
Descrição | Aggregation function |
---|---|---|
bot |
O número de endereços IP distintos para bots detetados em intervalos de 1 minuto. | count_distinct |
bot_first_detected |
Data e hora em que o bot foi detetado pela primeira vez. Disponível apenas através da API. | min |
bot_last_detected |
Data e hora da última deteção do bot. Disponível apenas através da API. | max |
bot_traffic |
O número de mensagens de endereços IP de bots detetados em intervalos de um minuto. | sum |
message_count |
O número total de chamadas de API processadas pelo Apigee em intervalos de um minuto. Nota: |
sum |
response_size |
Tamanho da resposta. | average , max , min , sum |
Dimensões
As dimensões permitem agrupar valores de métricas com base em subconjuntos de dados relacionados. A tabela seguinte descreve as dimensões específicas dos relatórios de segurança avançada da API:
Dimensão | Descrição |
---|---|
bot_reason |
Pode ser qualquer combinação das regras de deteção de segurança.
bot_reason consiste no subconjunto das regras de deteção que corresponderam ao padrão de tráfego do bot. |
incident_id (pré-visualização) |
O UUID de um incidente de segurança, que é devolvido por uma chamada à API Incidents. Consulte Exemplo: obter detalhes ou um incidente específico. |
security_action |
A ação de segurança. Os valores possíveis são ALLOW , DENY ou
FLAG .
|
security_action_name |
O nome da ação de segurança. |
security_action_headers |
Cabeçalhos que pode usar para consultar uma ação de segurança de flag. |
Nota: bot_reason
e incident_id
só funcionam com as seguintes métricas:
bot
bot_traffic
response_size
Além das dimensões descritas acima, a segurança avançada da API também suporta as seguintes dimensões:
access_token
api_product
apiproxy
app_group_app
app_group_name
ax_edge_execution_fault_code
ax_geo_city
ax_geo_continent
ax_geo_country
ax_geo_region
ax_isp
ax_resolved_client_ip
ax_ua_agent_version
client_id
developer
developer_app
developer_email
environment
proxy_basepath
proxy_pathsuffix
request_uri
response_status_code
target_url
useragent
Limitações nas estatísticas de segurança
A API de estatísticas de segurança (tabular e de séries cronológicas) tem os seguintes limites:
- Tamanho máximo da página: 14400
- Máximo de 10 dimensões de séries cronológicas
- Máximo de 15 dimensões de estatísticas tabulares
- Máximo de 5 agregações de métricas.
- Máximo de 5 agregações de métricas de intervalos temporais
- Intervalo de tempo: a duração pode ser de, no máximo, 14 dias, e a data de início e a data de fim têm de estar nos últimos 365 dias.
- Não é possível usar as dimensões
incident_id
ebot_reason
com as métricasmessage_count
ouresponse_size
.
Comparar a API de estatísticas de segurança e a API de relatórios de segurança
Tanto a API de estatísticas de segurança como a API de relatórios de segurança devolvem estatísticas de segurança relacionadas com abusos e bots, mas têm as seguintes diferenças:
A API de estatísticas de segurança foi concebida para ver estatísticas sobre o tráfego recente da API. Os dados da API de estatísticas de segurança só remontam a 14 dias, mas pode ver as estatísticas imediatamente quando envia um pedido.
As estatísticas de segurança também são apresentadas na vista Métricas de abuso na IU do Apigee.
- A API de relatórios de segurança foi concebida para ver estatísticas de operações de longa duração. Para usar a API de classificações de segurança, envia uma tarefa e vê os resultados apenas quando a tarefa estiver concluída. Os dados da API de pontuações de segurança remontam a um ano.