プロジェクトAPIのレート制限
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
GitLab 18.0以降にアップグレードすると、このAPIの設定可能なレート制限は0に設定されます。管理者は必要に応じてレート制限を調整できます。影響を受けるレート制限については、Projects、Groups、およびUsers 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分 |
前提条件:
- 管理者アクセス権。
レート制限を変更するには:
- 右上隅で、管理者を選択します。
- 左サイドバーで、設定 > ネットワークを選択します。
- プロジェクトのAPIレート制限を展開する。
- レート制限の値を変更するか、またはレート制限を
0に設定して無効にします。 - 変更を保存を選択します。
レート制限:
- 各認証済みユーザーに適用されます。リクエストが認証されていない場合、レート制限はIPアドレスに適用されます。
レート制限を超えるリクエストは、auth.logファイルにログが記録されます。
たとえば、GET /projects/:idに400の制限を設定した場合、1分あたり400リクエストのレートを超えるAPIエンドポイントへのリクエストはブロックされます。1分後にエンドポイントへのアクセスが復元されます。
プロジェクトAPIエンドポイントの詳細については、projects APIを参照してください。
プロジェクトメンバーの削除に関するレート制限を設定する
メンバー削除エンドポイントへのリクエストについて、各プロジェクトとユーザーのレート制限を設定します。
前提条件:
- 管理者アクセス権。
レート制限を変更するには:
- 右上隅で、管理者を選択します。
- 左サイドバーで、設定 > ネットワークを選択します。
- Members API rate limitを展開する。
- グループまたはプロジェクトあたりの一分あたりの最大リクエスト数テキストボックスに値を入力します。
- 変更を保存を選択します。
レート制限:
- 毎分60リクエストがデフォルトです。
- 各プロジェクトとユーザーに適用されます。
- レート制限を無効にするには
0に設定できます。
レート制限を超えるリクエストは、auth.logファイルにログが記録されます。
例えば、60の制限を設定した場合、毎分60リクエストを超えるリクエストを送信するAPIエンドポイントはブロックされます。1分後にエンドポイントへのアクセスが再開されます。
プロジェクトメンバーのリスト表示に関するレート制限を設定する
プロジェクトメンバーリストエンドポイントへのリクエストのレート制限を設定します。
GET /projects/:id/members/allとGET /groups/:id/members/allのAPIエンドポイントは、同じレート制限設定を共有します。プロジェクトエンドポイントにレート制限を設定すると、そのレート制限はグループエンドポイントにも適用されます。
前提条件:
- 管理者アクセス権。
レート制限を変更するには:
- 右上隅で、管理者を選択します。
- 左サイドバーで、設定 > ネットワークを選択します。
- プロジェクトのAPIレート制限を展開する。
- Maximum requests to the
GET /projects/:id/members/allAPI per minute per user or IP addressテキストボックスに値を入力します。 - 変更を保存を選択します。
レート制限:
- 毎分200リクエストがデフォルトです。
- 各プロジェクトとユーザーに適用されます。
- レート制限を無効にするには、
0に設定できます。
レート制限を超えるリクエストは、auth.logファイルにログが記録されます。
たとえば、200の制限を設定した場合、1分あたり200リクエストのレートを超えるAPIエンドポイントへのリクエストはブロックされます。1分後にエンドポイントへのアクセスが再開されます。