攻撃保護の設定を取得
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"