Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Mit der Security Stats API können Sie die Statistiken zu Missbrauch und Bots in den letzten 14 Tagen ansehen. Es gibt zwei Arten von Sicherheitsstatistiken:
- Tabellarische Statistiken ohne Zeitdimension. Tabellarische Statistiken werden häufig mit einer Aggregationsfunktion berechnet, z. B.
sum for message_count
oderbot_traffic
. - Zeitreihenstatistiken mit Zeitdimension.
Parameter in Beispiel-API-Aufrufen
In den folgenden Abschnitten finden Sie Beispiele für API-Aufrufe, die die Security Stats API verwenden. Die API-Aufrufe enthalten die folgenden Variablenparameter:
- ORG: Meine Organisation.
- ENV: Ihre Umgebung.
- METRIC_i: Ein Messwert für die Statistik. Weitere Informationen finden Sie unter Messwerte und Aggregationsfunktionen.
- AGGREGATION_i: Eine Aggregationsfunktion für den Messwert. Siehe die folgende Tabelle.
- DIMENSION_i: Eine Dimension zum Gruppieren der Werte der Statistik.
- PAGE_SIZE: Maximale Anzahl von Unterkomponenten, die auf einer einzelnen Seite zurückgegeben werden.
time_range
: Der Zeitraum für die Statistiken im Format"time_range": { "start_time": START_TIME, "end_time": END_TIME }
Dabei gilt:
- START_TIME ist die Startzeit des Zeitraums.
- END_TIME ist die Endzeit des Zeitraums.
START_TIME und END_TIME haben das Format
"YYYY-MM-DDT00:00:00Z"
.Der Zeitraum darf maximal 14 Tage betragen und sowohl das Start- als auch das Enddatum müssen innerhalb der letzten 365 Tage liegen.
Beispiel: Tabellarische Sicherheitsstatistiken für eine Umgebung abfragen
Anfragen zum Abfragen tabellarischer Statistiken haben folgendes Format:
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 } }'
Siehe Parameter in Beispiel-API-Aufrufen.
Die maximale Anzahl an Messwerten, Aggregatfunktionen und Dimensionen, die in einer Anfrage enthalten sein können, finden Sie unter Einschränkungen für Sicherheitsstatistiken.
Das folgende Beispiel zeigt eine Anfrage zum Abfragen von Tabellenstatistiken:
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 } }'
Eine Beschreibung der Anfrage und Antwort finden Sie auf der Referenzseite zu queryTabularStats
.
Beispiel: Zeitreihensicherheitsstatistiken für eine Umgebung abfragen
Time Series APIs geben Zeitreihenstatistiken für die ausgewählten Messwerte zurück, gruppiert nach der ausgewählten Dimension.
Mit dem folgenden Aufruf werden Zeitreihenstatistiken für Bot-Traffic aufgerufen, gruppiert nach API-Proxy. Da es vier Proxys gibt, erhalten Sie vier Sequenzen von Zeitreihenpunkten. Die Reihenfolge der Punkte jeder Zeile entspricht dem jeweiligen Index im Spaltenfeld.
Ein Beispiel für eine Anfrage:
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 } }'
Siehe Parameter in Beispiel-API-Aufrufen.
Eine Beschreibung der Anfrage und Antwort finden Sie auf der Referenzseite zu queryTabularStats
.
Beispiel: Vorfalldetails für die Missbrauchserkennung abfragen
Im folgenden Beispiel werden die Details eines Vorfalls für die Missbrauchserkennung von Advanced API Security abgefragt. Der Aufruf gibt Details für die Bot-Anzahl für die Entwickler-App für einen bestimmten Vorfall zurück.
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 } }'
Siehe Parameter in Beispiel-API-Aufrufen.
Dies gibt eine Antwort wie die folgende zurück:
{ "values": [ [ "d897d1af-51ac-4b5d-a29e-d1059d922a05", "Developer2_App1", 18353 ], [ "d897d1af-51ac-4b5d-a29e-d1059d922a05", "Developer1_App1", 18082 ] ], "columns": [ "incident_id", "developer_app", "bot_traffic" ] }
Eine Beschreibung der Anfrage und Antwort finden Sie auf der Referenzseite zu queryTabularStats
.
Messwerte und Aggregationsfunktionen
In der folgenden Tabelle werden die Messwerte und Aggregationsfunktionen beschrieben, die in der SecurityStats API verfügbar sind:
Metric |
Beschreibung | Aggregation function |
---|---|---|
bot |
Die Anzahl unterschiedlicher IP-Adressen für erkannte Bots in Intervallen von einer Minute. | count_distinct |
bot_first_detected |
Datum und Uhrzeit der ersten Erkennung des Bots. Nur über die API verfügbar. | min |
bot_last_detected |
Datum und Uhrzeit der letzten Erkennung des Bots. Nur über die API verfügbar. | max |
bot_traffic |
Die Anzahl der Nachrichten von IP-Adressen erkannter Bots in Intervallen von einer Minute. | sum |
message_count |
Gesamtzahl der von Apigee in Intervallen von einer Minute verarbeiteten API-Aufrufe. Hinweis: |
sum |
response_size |
Größe der Antwort. | average , max , min , sum |
Dimensionen
Mit Dimensionen können Sie Messwerte anhand verwandter Teilmengen der Daten gruppieren. In der folgenden Tabelle werden die Dimensionen beschrieben, die für erweiterte API-Sicherheitsberichte spezifisch sind.
Dimension | Beschreibung |
---|---|
bot_reason |
Kann eine beliebige Kombination der Erkennungsregeln für die Sicherheit sein.
bot_reason besteht aus der Teilmenge der Erkennungsregeln, denen das Trafficmuster des Bots entspricht. |
incident_id (Vorschau) |
Die UUID für einen Sicherheitsvorfall, die durch einen Aufruf der Incidents API zurückgegeben wird. Siehe Beispiel: Details oder einen bestimmten Vorfall abrufen. |
security_action |
Die Sicherheitsaktion. Mögliche Werte sind ALLOW , DENY oder FLAG .
|
security_action_name |
Der Name der Sicherheitsaktion. |
security_action_headers |
Header, mit denen Sie eine Flag-Sicherheitsaktion abfragen können. |
Hinweis: bot_reason
und incident_id
funktionieren nur mit den folgenden Messwerten:
bot
bot_traffic
response_size
Zusätzlich zu den oben beschriebenen Dimensionen unterstützt die erweiterte API-Sicherheit auch die folgenden Dimensionen:
access_token
access_token
api_product
apiproxy
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
Einschränkungen für Sicherheitsstatistiken
Für die Security Stats API (tabellarisch und Zeitreihen) gelten folgende Limits:
- Maximale Seitengröße: 14400
- Maximal 10 Zeitreihendimensionen
- Maximal 15 Dimensionen für tabellarische Statistiken
- Maximal 5 Messwertaggregationen
- Maximal 5 Aggregationen von Zeitreihenmesswerten
- Zeitraum: Die Länge darf maximal 14 Tage betragen und sowohl das Start- als auch das Enddatum müssen innerhalb der letzten 365 Tage liegen.
- Die Dimensionen
incident_id
undbot_reason
können nicht mit den Messwertenmessage_count
oderresponse_size
verwendet werden.
Security Stats API und Security Reports API vergleichen
Sowohl die Security Stats API als auch die Security Reports API geben Missbrauchs- und Bot-bezogene Sicherheitsstatistiken zurück, unterscheiden sich jedoch in folgenden Punkten:
Die Security Stats API ist so konzipiert, dass Statistiken zum letzten API-Traffic angezeigt werden. Die Daten für die Security Stats API reichen nur 14 Tage zurück. Sie können die Statistiken jedoch sofort aufrufen, wenn Sie eine Anfrage senden.
Sicherheitsstatistiken werden auch in der Ansicht "Missbrauchsmesswerte" in der Apigee-Benutzeroberfläche angezeigt.
- Die Security Reports API dient zum Anzeigen von Statistiken für lang andauernde Vorgänge. Zur Verwendung der Security Scores API senden Sie einen Job und rufen die Ergebnisse erst auf, wenn der Job abgeschlossen ist. Die Daten für die Security Scores API reichen bis zu einem Jahr zurück.