Git不正使用率制限

GitLab 15.2 でlimit_unique_project_downloads_per_namespace_userというフラグで導入されました。デフォルトでは無効です。

フラグ: セルフマネジメントのGitLabでは、デフォルトではこの機能は利用できません。利用可能にするには、管理者がlimit_unique_project_downloads_per_namespace_userという機能フラグを有効にします。GitLab.comでは、この機能は利用可能です。

これはグループレベルのドキュメントです。セルフマネージドインスタンスについては、管理用ドキュメントをご覧ください。

Git 乱用率制限とは、指定された時間内にグループのリポジトリを指定された数以上ダウンロード、クローン、プル、フェッチ、フォークしたユーザーを自動的に禁止する機能です。禁止されたユーザーは、HTTP や SSH 経由でトップレベルグループやその非公開サブグループにアクセスできなくなります。レート制限は、個人またはグループのアクセストークンで認証したユーザーにも適用されます。関連性のないグループへのアクセスは影響を受けません。

Git の不正使用率制限は、最上位グループのオーナー、デプロイトークンデプロイ鍵には適用されません。

GitLabがどのようにユーザーのレート制限を決定するかは、現在開発中です。GitLabチームメンバーは、この極秘エピックでより詳細な情報を見ることができます:https://gitlab.com/groups/gitlab-org/modelops/anti-abuse/-/epics/14

自動BAN通知

limit_unique_project_downloads_per_namespace_user 機能フラグが有効な場合、ユーザーが禁止されそうになると、選択したユーザーにメールが送信されます。

自動禁止が無効になっている場合、ユーザーが制限を超えたときに自動的に禁止されることはありません。ただし、通知は送信されます。この設定を使用して、自動禁止を有効にする前に、レート制限設定の正しい値を決定できます。

自動禁止を有効にすると、ユーザーが禁止されそうになると電子メール通知が送信され、そのユーザーはグループとそのサブグループから自動的に禁止されます。

Git不正使用率制限の設定

  1. 左側のサイドバーで、[設定] > [レポーター]を選択します。
  2. Git 乱用率制限の設定を更新します:
    1. Number of repositories(リポジトリ数)」フィールドに、0 以上、10,000以下の数値を入力します。この数値は、ユーザーが禁止される前に指定された期間内にダウンロードできる一意のリポジトリの最大量を指定します。0に設定すると、Git の不正使用率制限が無効になります。
    2. 報告期間(秒)]フィールドに、0 以上、86,400 (10 日)以下の数値を入力します。この数値は、ユーザーが禁止される前に最大量のリポジトリをダウンロードできる時間を秒単位で指定します。0に設定すると、Git の不正使用率制限が無効になります。
    3. オプション。Excluded usersフィールドにユーザーを追加して、100 まで除外します。除外されたユーザーは自動的に禁止されません。
    4. 通知を送信する] フィールドに最大100 ユーザーを追加します。少なくとも1人のユーザーを選択する必要があります。デフォルトでは、メイングループのオーナーロールを持つすべてのユーザーが選択されます。
    5. オプション。指定された制限を超えると、ユーザをこのネームスペースから自動的に追放する] トグルをオンにし て、自動追放を有効にします。
  3. 変更を保存を選択します。