攻撃保護の設定を取得

GET /v1/attack-protection · 権限 attack-protection:read

環境の攻撃保護オブジェクトを返します。ブルートフォース、疑わしいIPの制限、認証情報スタッフィング、ボット保護、漏えいしたパスワード、サインアップ保護、SMS保護、リスクポリシーが含まれます。各セクションには2つのビューがあります。configured は書き込んだ値、effective は既定値、セキュリティの下限、プランを適用した後の有効な値です。一度も書き込んでいないセクションは configured: {} になります。ETag レスポンスヘッダーはオブジェクトの内容を識別し、PUT と PATCH では If-Match として送信します。

リクエスト

この操作にはパス、クエリ、ボディのフィールドはありません。環境は認証情報から決まります。

レスポンス

オブジェクトと ETag ヘッダーを含む 200 OK です。

{
  "schema_version": 1,
  "brute_force": {
    "configured": {"max_failures": 10},
    "effective": {"mode": "enforce", "max_failures": 10, "window_minutes": 15, "lock_minutes": 15, "notify_user": true}
  },
  "risk_policy": {
    "configured": {"mode": "enforce"},
    "effective": {"mode": "log", "challenge_threshold": 4, "block_threshold": null, "notify_user_on_new_device": true}
  },
  "bot_protection": {
    "configured": {},
    "effective": {"mode": "risk_based", "provider": "altcha"}
  }
}

例は短縮されています。すべてのレスポンスには8つのセクション(brute_force、suspicious_ip_throttling、credential_stuffing、bot_protection、breached_password、signup_protection、sms_protection、risk_policy)がすべて含まれます。この例では、プランにリスクの適用が含まれなくなったため、設定された enforce は残りますが log と表示されます。

フィールド

フィールド 型 範囲または値 既定値 下限
brute_force.mode 文字列 log、enforce enforce
brute_force.max_failures 整数 5-100 20 100 以下
brute_force.window_minutes 整数 5-60 15
brute_force.lock_minutes 整数 5-60 15 5 以上
brute_force.notify_user 真偽値 true
suspicious_ip_throttling.mode 文字列 log、enforce enforce
suspicious_ip_throttling.login_failures_per_ip_per_day 整数 10-10000 100
suspicious_ip_throttling.signups_per_ip_per_hour 整数 1-20 20 20 以下
suspicious_ip_throttling.allowlist 文字列の配列 CIDR プレフィックスは最大100件。IPv4 は /8 より、IPv6 は /32 より広くできない []
credential_stuffing.mode 文字列 log、enforce enforce
credential_stuffing.attack_mode_auto 真偽値 true
credential_stuffing.attack_mode_duration_minutes 整数 15-240 30
bot_protection.mode 文字列 off、risk_based、always risk_based
bot_protection.provider 文字列 altcha altcha
breached_password.on_signup 文字列 block block block
breached_password.on_password_change 文字列 block block block
breached_password.on_login 文字列 require_reset、notify require_reset
breached_password.notify_user 真偽値 true
signup_protection.block_disposable_email 真偽値 true
signup_protection.block_email_subaddress 真偽値 false
signup_protection.max_signups_per_device_30d 整数 1-50 3
sms_protection.allowed_countries 文字列の配列 ISO 3166-1 alpha-2 コードは最大250件 [](プランの既定値)
sms_protection.daily_cap 整数 | null 1-1000000。null はプランの値 null
sms_protection.conversion_breaker 真偽値 true true
risk_policy.mode 文字列 log、enforce(enforce には Startup 以上のプランが必要) log
risk_policy.challenge_threshold 整数 3-8 4
risk_policy.block_threshold 整数 | null 6-12。challenge_threshold より大きいこと。null は無効 null
risk_policy.notify_user_on_new_device 真偽値 true

エラー

HTTP コード 発生条件
401 unauthenticated 認証情報がない、無効、または失効している。
403 insufficient_permissions 認証情報に必要な権限がない。
429 rate_limited レート制限を超えました。Retry-After の時間が経過してから再試行してください。
503 service_unavailable 依存先が一時的に利用できません。Retry-After の時間が経過してから再試行してください。

例

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