공격 모드 상태 조회

GET /v1/attack-protection/attack-mode · 권한 attack-protection:read

환경이 공격 모드인지 여부와, 지난 90일 안에 시작되었거나 아직 열려 있는 공격 모드 기간을 최신순으로 반환합니다(최대 100개). more는 해당 기간 안에 더 오래된 기간이 있는지를 알려 줍니다.

환경이 공격 모드인 동안에는 bot_protection.mode 값과 관계없이 모든 비밀번호 및 일회용 코드 단계에서 더 강력한 봇 검증을 요구합니다. 패스키와 소셜 로그인은 검증 대상이 아닙니다. 기간은 다음 세 가지 방식 중 하나로 열립니다.

active는 적용되는(would_have: false) 기간이 환경 전체를 덮고 있는 동안에만 true입니다. 이때 active_until은 해당 기간들의 가장 늦은 종료 시각입니다. 종료 시각이 지났지만 정리 작업이 아직 닫지 않은 기간은 ends_at에 종료된 것으로 표시됩니다. 수동 기간을 누가 열었는지는 이 응답이 아니라 관리 감사 로그에서 확인할 수 있습니다.

응답

200 OK

필드 타입 설명
active boolean 지금 환경이 공격 모드인지 여부입니다.
active_until string (date-time) 또는 null 자동 기간이 연장되지 않는 한 현재 공격 모드가 끝나는 시각입니다. active가 false이면 null입니다.
periods[] array 기간 목록(최신순)입니다.
periods[].id string 기간 ID이며 atm_ 접두사가 붙습니다.
periods[].scope string environment 또는 org_domain입니다.
periods[].org_domain string 또는 null org_domain 기간의 조직 이메일 도메인입니다.
periods[].trigger string auto, manual_customer 또는 manual_platform입니다.
periods[].would_have boolean true이면 log 모드에서 기록만 되고 적용되지 않은 기간입니다.
periods[].trigger_value integer 또는 null auto 기간을 연 5분 창 안의 실패 횟수입니다. 수동 기간이면 null입니다.
periods[].threshold integer 또는 null 그 창이 넘은 임계값입니다. 수동 기간이면 null입니다.
periods[].started_at string (date-time) 기간이 시작된 시각입니다.
periods[].ends_at string (date-time) 기간이 자체적으로 끝나는 시각입니다. auto 기간은 공격이 계속되는 동안 연장됩니다.
periods[].ended_at string (date-time) 또는 null 기간이 실제로 끝난 시각입니다. 열려 있는 동안에는 null입니다.
more boolean 지난 90일 안에 더 오래된 기간이 있는지 여부입니다.
{
  "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
}

오류

모든 오류는 안정적인 code를 포함한 application/problem+json 본문으로 반환됩니다.

HTTP code 발생 조건
401 unauthenticated API 키가 없거나, 잘못되었거나, 폐기되었습니다.
403 insufficient_permissions 키에 attack-protection:read 권한이 없습니다.
429 rate_limited 속도 제한을 초과했습니다. Retry-After를 따르십시오.
503 service_unavailable 종속 서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하십시오.

예제

curl https://api.eu.keenauth.com/v1/attack-protection/attack-mode \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

CLI: keenauth attack-protection attack-mode get