Den Angriffsmodus-Status abrufen
GET /v1/attack-protection/attack-mode · Berechtigung attack-protection:read
Gibt zurück, ob sich die Umgebung im Angriffsmodus befindet, sowie die Zeiträume des Angriffsmodus, die in den letzten 90 Tagen begonnen haben oder noch offen sind, neueste zuerst (höchstens 100; more zeigt an, dass ältere Zeiträume in diesem Fenster existieren).
Solange sich die Umgebung im Angriffsmodus befindet, wird bei jedem Schritt mit Passwort und Einmalcode eine strengere Bot-Prüfung verlangt, unabhängig davon, was bot_protection.mode vorgibt. Passkey- und Social-Anmeldung werden nicht geprüft. Ein Zeitraum beginnt auf einem von drei Wegen:
auto: Fehlgeschlagene Anmeldungen in einem 5-Minuten-Fenster haben den Auslöseschwellenwert überschritten (der größere Wert aus 50 und dem Zehnfachen des Medians der Umgebung). Imlog-Modus voncredential_stuffingwird der Zeitraum mitwould_have: trueaufgezeichnet und nichts erzwungen, es sei denn, das Fenster überschreitet das Dreifache des Schwellenwerts.manual_customer: Sie haben ihn mitactivateeingeschaltet.manual_platform: Der KeenAuth-Betrieb hat ihn eingeschaltet.
active ist nur dann true, wenn ein erzwungener Zeitraum (would_have: false) die gesamte Umgebung abdeckt; active_until ist dann das späteste Ende dieser Zeiträume. Ein Zeitraum, dessen Ende bereits vergangen ist, den die Bereinigung aber noch nicht geschlossen hat, wird als bei ends_at beendet angezeigt. Wer einen manuellen Zeitraum geöffnet hat, steht im Verwaltungs-Audit-Log, nicht in dieser Antwort.
Antwort
200 OK
| Feld | Typ | Beschreibung |
|---|---|---|
active |
boolean | Die Umgebung befindet sich jetzt im Angriffsmodus. |
active_until |
string (date-time) oder null | Wann der aktuelle Angriffsmodus endet, sofern ein automatischer Zeitraum nicht verlängert wird; null, wenn active false ist. |
periods[] |
array | Zeiträume, neueste zuerst. |
periods[].id |
string | Zeitraum-ID, mit dem Präfix atm_. |
periods[].scope |
string | environment oder org_domain. |
periods[].org_domain |
string oder null | Die E-Mail-Domain der Organisation eines org_domain-Zeitraums. |
periods[].trigger |
string | auto, manual_customer oder manual_platform. |
periods[].would_have |
boolean | true: im log-Modus aufgezeichnet, nicht erzwungen. |
periods[].trigger_value |
integer oder null | Fehlgeschlagene Versuche im 5-Minuten-Fenster, die einen auto-Zeitraum ausgelöst haben; null bei manuellen Zeiträumen. |
periods[].threshold |
integer oder null | Der Schwellenwert, den dieses Fenster überschritten hat; null bei manuellen Zeiträumen. |
periods[].started_at |
string (date-time) | Wann der Zeitraum begonnen hat. |
periods[].ends_at |
string (date-time) | Wann der Zeitraum von selbst endet. Ein auto-Zeitraum wird verlängert, solange der Angriff andauert. |
periods[].ended_at |
string (date-time) oder null | Wann der Zeitraum beendet wurde; null, solange er offen ist. |
more |
boolean | Es gibt ältere Zeiträume in den letzten 90 Tagen. |
{
"active": true,
"active_until": "2026-10-20T10:00:00Z",
"periods": [
{
"id": "atm_01jaz8m5c3f6t9w2y4b7d0g3k6",
"scope": "environment",
"org_domain": null,
"trigger": "manual_customer",
"would_have": false,
"trigger_value": null,
"threshold": null,
"started_at": "2026-10-20T09:00:00Z",
"ends_at": "2026-10-20T10:00:00Z",
"ended_at": null
}
],
"more": false
}
Fehler
Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.
| HTTP | code |
Wann |
|---|---|---|
| 401 | unauthenticated |
Der API-Schlüssel fehlt, ist ungültig oder wurde widerrufen. |
| 403 | insufficient_permissions |
Dem Schlüssel fehlt die Berechtigung attack-protection:read. |
| 429 | rate_limited |
Das Ratenlimit wurde überschritten; beachten Sie Retry-After. |
| 503 | service_unavailable |
Eine Abhängigkeit ist vorübergehend nicht verfügbar; versuchen Sie es später erneut. |
Beispiel
curl https://api.eu.keenauth.com/v1/attack-protection/attack-mode \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth attack-protection attack-mode get