For the complete documentation index, see llms.txt. This page is also available as Markdown.

ルートのレート制限を設定する

はじめに

Aikido の Zen Firewall では、 ルートにレート制限を設定できます アプリケーションを不正利用から保護するために、過剰なパスワードリセット要求の防止などができます。レート制限は、Web ページ、REST API ルート、GraphQL API に対しても設定できます。

対応機能

  • 特定のルートにレート制限を設定する

  • ワイルドカード* ルートを追加して、複数のルートにレート制限を設定する

  • IP アドレスまたは ユーザー ID、または カスタムグループ ID (例: B2B SaaS の会社 ID)

  • アプリ全体の保護を無効にする代わりに、特定のルートの保護を無効にします。

  • localhost または 127.0.0.1 はレート制限されません

レート制限は、個々の IP アドレスまたは ユーザー識別情報。 たとえば、制限が 1 分あたり 10 リクエストの場合:

  • ❌ ブロック: 1 つの IP から 11 件のリクエストが送信されると、

  • ✅ 許可: 11 個の異なる IP がそれぞれ 1 回ずつリクエストする

これにより、複数のユーザーからの通常のトラフィックを許可しつつ、不正利用を防げます。

レート制限の設定方法

ステップ 1: 対象のアプリに移動し、[ルート]タブを開きます

ステップ 2: レート制限を適用したい特定のルートのアクションメニューを開きます。[レート制限を設定]をクリックするとモーダルが開きます。

メソッド、ルート、アプリ名、レート制限、ステータスを表示する API ルート管理インターフェース。

ステップ 3: レート制限を有効にする そして、時間枠ごとに許可するリクエスト数を指定します。ルートを更新して保存します。

PATCH リクエスト(/api/v2/posts/:number 宛て)のレート制限を有効化し、設定します。

設定変更が反映されるまで最大 1 分かかる場合があります。

複数のルートに一度にレート制限を設定する

ワイルドカードルートを追加することで、複数のルートに一度にレート制限を設定できます。

手順 1. ルートページで、 [ルートを追加]をクリックします。

ルート、アプリ名、レート制限、保護ステータスを表示する API ルートの表。

手順 2. 次を追加してワイルドカードルートを追加します。 * ルート内に。

Aikido Firewall の設定で、レート制限付きの API ルートを追加します。

手順 3. これで一覧にワイルドカードが表示されます。上記と同じ方法でレート制限を設定してください。

POST /auth/* ルート: デモアプリ、10 リクエスト/分、保護済みステータス。

仕組み

処理順序

Aikido Zen は、次の優先順位でレート制限を適用します:

  1. グループレベル

  2. ユーザーレベル

  3. IP レベル

上位レベル(例: グループ)でリクエストにレート制限がかかると、下位レベル(ユーザーまたは IP)は評価されません。

スライディングウィンドウ

連続して前方に移動する可変の時間枠を使ってイベントを追跡します。特定の時刻でリセットされる固定ウィンドウとは異なり、スライディングウィンドウでは直近の期間(例: 過去 60 秒)の累積数を維持します。これにより、短時間のトラフィック急増がウィンドウ境界で制限を回避してしまうような例外を防げます。

ルート選択(ワイルドカード)

Zen はまず、レート制限を適用するために完全一致のルート(ワイルドカードなし)を選択します。完全一致のルートが見つからない場合は、最も低い制限に基づいてワイルドカード一致が適用されます。いずれの時点でも適用される制限は 1 つだけで、1 回のリクエストが複数の制限に同時にかかることはありません。

グループベースのレート制限

ユーザーグループのリクエスト数を制限するには、 setRateLimitGroup 関数を使用できます。これは、チームや会社ごとにリクエスト数を制限したい場合に便利です。レート制限グループが設定されている場合、設定されたレート制限はそのグループにのみ適用され、個々のユーザーや IP アドレスには適用されないことにご注意ください。

利用可能対象:

例外

最終更新

役に立ちましたか?