プロジェクトのAPIレート制限
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
GitLab 18.0以降にアップグレードすると、このAPIの構成可能なレート制限は0に設定されます。管理者は必要に応じてレート制限を調整できます。影響を受けるレート制限に関する情報については、プロジェクト、グループ、ユーザーAPIのレート制限に関する発表を参照してください。
プロジェクトのAPIレート制限を設定する
以下のプロジェクトAPIエンドポイントへのリクエストに対し、各IPアドレスとユーザーのレート制限を設定します:
| 制限 | デフォルト | 間隔 |
|---|---|---|
GET /projects(未認証のリクエスト) | 400 | 10分 |
GET /projects(認証済みリクエスト) | 2000 | 10分 |
GET /projects/:id | 400 | 1分 |
GET /users/:user_id/projects | 300 | 1分 |
GET /users/:user_id/contributed_projects | 100 | 1分 |
GET /users/:user_id/starred_projects | 100 | 1分 |
POST /projects | 200 | 1日 |
前提条件:
- 管理者アクセス権。
レート制限を変更するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、設定 > ネットワークを選択します。
- プロジェクトのAPIレート制限を展開します。
- レート制限の値を変更するか、
0に設定してレート制限を無効にします。 - 変更を保存を選択します。
レート制限:
- 各認証済みユーザーに適用されます。リクエストが認証されていない場合、レート制限はIPアドレスに適用されます。
レート制限を超過したリクエストは、auth.logファイルにログが記録されます。
例えば、GET /projects/:idに対して400の制限を設定した場合、1分あたり400リクエストを超えるAPIエンドポイントへのリクエストはブロックされます。エンドポイントへのアクセスは1分後に復元されます。
プロジェクトAPIエンドポイントの詳細については、プロジェクトAPIを参照してください。
プロジェクトメンバーの削除に関するレート制限を設定する
メンバー削除エンドポイントへのリクエストについて、各プロジェクトとユーザーのレート制限を設定します。
前提条件:
- 管理者アクセス権。
レート制限を変更するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、設定 > ネットワークを選択します。
- メンバーAPIレート制限を展開します。
- グループまたはプロジェクトあたりの一分あたりの最大リクエスト数テキストボックスに値を入力します。
- 変更を保存を選択します。
レート制限:
- デフォルトは毎分60リクエストです。
- 各プロジェクトとユーザーに適用されます。
- レート制限を無効にするには、
0に設定できます。
レート制限を超過したリクエストは、auth.logファイルにログが記録されます。
例えば、60の制限を設定した場合、1分あたり60リクエストを超えるAPIエンドポイントへのリクエストはブロックされます。エンドポイントへのアクセスは1分後に再開されます。
プロジェクトメンバーのリスト表示に関するレート制限を設定する
プロジェクトメンバーリストエンドポイントへのリクエストのレート制限を設定します。
GET /projects/:id/members/allとGET /groups/:id/members/allのAPIエンドポイントは、同じレート制限設定を共有します。プロジェクトエンドポイントにレート制限を設定した場合、そのレート制限はグループエンドポイントにも適用されます。
前提条件:
- 管理者アクセス権。
レート制限を変更するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、設定 > ネットワークを選択します。
- プロジェクトのAPIレート制限を展開します。
- ユーザーまたはIPアドレスごとの、1分あたりの
GET /projects/:id/members/allAPIへの最大リクエスト数テキストボックスに値を入力します。 - 変更を保存を選択します。
レート制限:
- デフォルトは毎分200リクエストです。
- 各認証済みユーザーに適用されます。リクエストが認証されていない場合、レート制限はIPアドレスに適用されます。
- レート制限を無効にするには、
0に設定できます。
レート制限を超過したリクエストは、auth.logファイルにログが記録されます。
例えば、200の制限を設定した場合、1分あたり200リクエストを超えるAPIエンドポイントへのリクエストはブロックされます。エンドポイントへのアクセスは1分後に再開されます。