- プロジェクトのデフォルト限度額
- 添付ファイルの最大サイズ
- 最大プッシュサイズ
- 最大エクスポートサイズ
- 最大インポートサイズ
- インポートの最大リモートファイルサイズ
- 直接転送によるインポートの最大ダウンロードファイルサイズ
- インポートアーカイブの最大解凍ファイルサイズ
- アーカイブファイルの解凍タイムアウト
- 個人アクセストークンプレフィックス
- リポジトリサイズ制限
- セッション期間
- SSHキーの有効期限の制限
- アクセストークンの有効期限の制限
- ユーザープロファイル名の変更の無効化
- 新規ユーザーがトップレベルのグループを作成できないようにします。
- 新規ユーザーのプロフィールをデフォルトで非公開に設定します。
- ユーザーがアカウントを削除できないようにします。
- トラブルシューティング
アカウントと限度額の設定
プロジェクトのデフォルト限度額
新規ユーザーが個人ネームスペースに作成できるプロジェクトの既定の最大数を設定できます。この制限は、設定を変更した後に作成された新規ユーザー・アカウントにのみ影響します。この設定は既存のユーザーには遡及しませんが、既存のユーザーのプロジェクト上限を別途編集できます。
新規ユーザーの個人ネームスペースのプロジェクトの最大数を設定するには
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- デフォルトプロジェクトの制限値を増減します。
Defaultprojects limitを 0 に設定すると、ユーザーは自分のユーザー・ネームスペースにプロジェクトを作成できなくなります。ただし、グループ内でプロジェクトを作成することはできます。
ユーザーのプロジェクト数制限
特定のユーザーを編集して、そのユーザーが個人ネームスペースに作成できるプロジェクトの最大数を変更できます:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 概要>ユーザーを選択します。
- ユーザーのリストから、ユーザーを選択します。
- 編集]を選択します。
- プロジェクトの制限値を増減します。
添付ファイルの最大サイズ
GitLab 15.7で10MBから100MBに変更されました。
GitLabのコメントや返信の添付ファイルの最大サイズは100MBです。添付ファイルの最大サイズを変更するには
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- 最大添付ファイルサイズ(MB) の値を変更して増減します。
Web サーバーの設定値より大きいサイズを選択すると、エラーが発生することがあります。詳細については、トラブルシューティングのセクションをお読みください。
GitLab.comリポジトリのサイズ制限については、アカウントと制限設定をお読みください。
最大プッシュサイズ
インスタンスの最大プッシュサイズを変更できます:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- 最大プッシュサイズ(MB) の値を変更して増減します。
GitLab.com のプッシュサイズ制限については、アカウントと制限設定をお読みください。
最大エクスポートサイズ
GitLab 15.0 で導入されました。
GitLabでエクスポートの最大ファイルサイズを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [一般] を選択し、[アカウントと制限] を展開します。
- 最大エクスポートサイズ(MB) の値を変更して増減します。
最大インポートサイズ
GitLab 13.8で50MBから無制限に変更されました。
GitLabでインポートの最大ファイルサイズを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- 最大インポートサイズ(MB) の値を変更して増減します。
この設定は、GitLabエクスポートファイルからインポートされたリポジトリにのみ適用されます。
ウェブサーバーの設定値よりも大きなサイズを選択した場合、エラーが発生する可能性があります。詳しくはトラブルシューティングをご覧ください。
GitLab.comリポジトリのサイズ制限については、アカウントと制限設定をお読みください。
インポートの最大リモートファイルサイズ
GitLab 16.3 で導入されました。
GitLabの外部オブジェクトストレージ(例えばAWS)からのインポートで、リモートファイルの最大サイズを変更することができます。
インポートの最大リモートファイルサイズを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
-
最大インポートリモートファイルサイズ(MB) の値を変更して増減します。ファイルサイズの制限を設 定しない場合は、
0
に設定します。
直接転送によるインポートの最大ダウンロードファイルサイズ
GitLab 16.3 で導入されました。
GitLabで直接転送によるインポートの最大ダウンロードファイルサイズを変更することができます。
直接転送によるインポートの最大ダウンロードファイルサイズを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
-
直接転送の最大ダウンロードファイルサイズ
0
の値を変更して増減します。ダウンロードファイルサイズの制限を設定しない場合は、0
に設定します。
インポートアーカイブの最大解凍ファイルサイズ
ファイルエクスポートや 直接転送を使ってプロジェクトをインポートする際、インポートしたアーカイブの最大解凍ファイルサイズを指定することができます。デフォルト値は25GBです。
圧縮ファイルをインポートする場合、解凍サイズが最大解凍ファイルサイズの制限を超えることはありません。解凍サイズが設定された制限を超えると、次のエラーが返されます:
Decompressed archive size validation failed.
GitLabでインポートの最大解凍ファイルサイズを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- インポートからのアーカイブの最大解凍ファイルサイズ(MiB)に別の値を設定します。
アーカイブファイルの解凍タイムアウト
GitLab 16.4で導入されました。
プロジェクトをインポートする際に、インポートしたアーカイブを解凍する最大タイムアウト時間を指定することができます。デフォルト値は210秒です。
GitLabでインポートの最大解凍ファイルサイズを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- アーカイブファイルの解凍のタイムアウト(秒)に別の値を設定します。
個人アクセストークンプレフィックス
個人用のアクセストークンにプレフィックスを指定することができます。トークンをより素早く見つけるためや、自動化ツールで使うためにプレフィックスを使うことがあります。
デフォルトのプレフィックスはglpat-
ですが、管理者は変更できます。
プロジェクトアクセストークンと グループアクセストークンもこの接頭辞を継承します。
プレフィックスの設定
デフォルトのグローバル接頭辞を変更するには
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」セクションを展開します。
- 個人アクセストークンのプレフィックスフィールドを入力します。
- 変更を保存を選択します。
設定 API を使用してプレフィックスを設定することもできます。
リポジトリサイズ制限
GitLab インスタンスのリポジトリは、特に LFS を使っている場合、急速に大きくなる可能性があります。そのサイズは指数関数的に大きくなり、利用可能なストレージを急速に消費します。これを防ぐために、リポジトリのサイズにハードリミットを設定することができます。この制限はグローバル、グループ、プロジェクトごとに設定でき、プロジェクトごとの制限が最も優先されます。
リポジトリサイズの制限を設定するユースケースは数多くあります。例えば、次のようなワークフローを考えてみましょう:
- あなたのチームでは、アプリケーション・リポジトリに大きなファイルを保存する必要があるアプリを開発しています。
- Git LFSをプロジェクトで有効にしていますが、ストレージはかなり大きくなっています。
- 使用可能なストレージを超える前に、リポジトリごとに 10 GB の制限を設定します。
どのように動作するか
GitLab管理者のみが制限を設定できます。制限を0
に設定すると、制限がないことを意味します。
これらの設定は
- 各プロジェクトの設定:
- プロジェクトのホームページから、「設定」>「一般」に移動します。
- 名前、トピック、アバター」セクションの「リポジトリサイズ制限」(MB)フィールドに入力します。
- 変更を保存を選択します。
- 各グループの設定:
- グループのホームページから、「設定」>「一般」と進みます。
- 命名、可視性セクションのリポジトリサイズ制限(MB)フィールドに入力します。
- 変更を保存を選択します。
- GitLab グローバル設定:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」セクションを展開します。
- リポジトリごとのサイズ制限(MB)フィールドに入力します。
- 変更を保存を選択します。
LFS オブジェクトを含む新規プロジェクトの最初のプッシュは、サイズがチェックされます。それらのサイズの合計が許容される最大リポジトリサイズを超える場合、プッシュは拒否されます。
手動でファイルをパージする方法については、Git を使ってリポジトリサイズを減らすをご覧ください。
セッション期間
デフォルトのセッション時間をカスタマイズ
ユーザーがアクティビティなしでサインインしたままにできる時間を変更できます。
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。設定期間はセッション時間(分)です。
Remember meが有効な場合、ユーザーのセッションは無期限にアクティブな状態を維持できます。
詳細については、サインインに使用されるクッキーを参照してください。
リメンバーミーのオン/オフ
GitLab16.0で導入された Remember me設定のオン/オフ機能。
ユーザーはサインイン時に “Remember me“チェックボックスを選択することで、特定のブラウザからアクセスした際にセッションが無期限で有効になります。セキュリティやコンプライアンスのためにセッションを失効させる必要がある場合は、この設定をオフにすることができます。この設定をオフにすると、セッションの継続時間をカスタマイズする際に設定した非アクティブの分数が経過した後、ユーザーのセッションは確実に失効します。
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- この設定をオンまたはオフにするには、[私を記憶]チェックボックスを選択またはオフにします。
2FA が有効な場合の Git オペレーションのセッション時間のカスタマイズ
- GitLab 13.9 で導入されました。
- フィーチャーフラグで有効・無効を切り替えることができ、デフォルトでは無効になっています。
フラグ: セルフマネジメントのGitLabでは、デフォルトではこの機能は利用できません。利用可能にするには、管理者がtwo_factor_for_cli
という機能フラグを有効にします。GitLab.comでは、この機能は利用できません。この機能はまだ本番環境では使用できません。この機能フラグは、Git over SSHオペレーションの2FAにも影響します。
GitLab管理者は、2FAが有効になっているときのGitオペレーションのセッション時間(分)をカスタマイズすることができます。デフォルトは15で、1~10080の間で設定できます。
セッションの有効時間に制限を設けるには
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」セクションを展開します。
- Session duration for Git operations when 2FA is enabled (minutes)] フィールドに入力します。
- 変更を保存を選択します。
SSHキーの有効期限の制限
- GitLab 14.6 で
ff_limit_ssh_key_lifetime
というフラグで導入されました。デフォルトでは無効になっています。- GitLab 14.6ではセルフマネージドで有効。
- GitLab 14.7で一般的に利用可能に。機能フラグ
ff_limit_ssh_key_lifetime
を削除しました。
ユーザーはSSHキーの有効期間をオプションで指定できます。この有効期限は必須ではなく、任意の日数を設定できます。
SSHキーはGitLabにアクセスするためのユーザー認証です。しかし、セキュリティの要求がある組織では、これらの鍵の定期的なローテーションを要求することで、保護を強化したいと思うかもしれません。
有効期間の設定
GitLab管理者だけがライフタイムを設定できます。空のままにしておくと、制限がないことを意味します。
SSHキーの有効期間を設定するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」セクションを展開します。
- SSH キーの最大有効期間 (日)] フィールドに入力します。
- 変更を保存を選択します。
SSHキーの有効期限が設定されると、GitLab:
- 新しいSSHキーの有効期限を設定する必要があります。
- 既存の SSH キーに有効期間の制限を適用します。有効期限がない鍵、または有効期限が最大値を超える鍵は直ちに無効になります。
アクセストークンの有効期限の制限
GitLab 12.6 で導入されました。
ユーザーは、個人、グループ、プロジェクトのアクセストークンを含むアクセストークンの最大有効期間をオプションで指定することができます。この有効期限は必須ではなく、0より大きく365以下の任意の値を設定できます。この設定を空白のままにした場合、アクセストークンのデフォルトの有効期間は 365 日です。
アクセストークンは、GitLabへのプログラムアクセスに必要な唯一のトークンです。しかし、セキュリティ要件がある組織では、これらのトークンの定期的なローテーションを要求することで、保護を強化したいと思うかもしれません。
有効期間の設定
GitLab管理者だけがライフタイムを設定できます。空のままにしておくと、制限がないことを意味します。
アクセストークンの有効期限を設定するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」セクションを展開します。
- アクセストークンの最大有効期間(日)フィールドに入力します。
- 変更を保存を選択します。
アクセストークンのライフタイムが設定されると、GitLab:
- 新しい個人アクセストークンに有効期限を適用し、ユーザーに有効期限と有効期限より後の日付の設定を要求します。
- 3時間後、有効期限のない古いトークン、または許可された有効期限より長い有効期限の古いトークンを失効させます。失効が行われる前に、管理者が許可された有効期間を変更したり、削除したりできるようにするために、3 時間が与えられています。
ユーザープロファイル名の変更の無効化
GitLab 12.7から導入されました。
監査イベントのユーザー詳細のメンテナーを維持するために、GitLab管理者はユーザーがプロフィール名を変更できないようにすることができます。
そのためには
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- ユーザーがプロフィール名を変更できないようにする]チェックボックスを選択します。
新規ユーザーがトップレベルのグループを作成できないようにします。
GitLab 15.5 で導入されました。
デフォルトでは、新規ユーザーはトップレベルグループを作成できます。GitLab管理者は新規ユーザーがトップレベルグループを作成できないようにすることができます:
- GitLab 15.5以降では、以下のどちらかを使ってください:
- GitLab UIでこのセクションの手順を使用します。
- アプリケーション設定 API。
- GitLab 15.4以前では設定ファイル。
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- 新規ユーザーによるトップレベルグループの作成を許可する] チェックボックスをオフにします。
新規ユーザーのプロフィールをデフォルトで非公開に設定します。
GitLab 15.8で導入されました。
デフォルトでは、新しく作成されたユーザーは公開プロフィールを持ちます。GitLab管理者は新規ユーザーをデフォルトで非公開プロフィールに設定することができます:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- 新規ユーザーのプロフィールをデフォルトで非公開にする]チェックボックスを選択します。
ユーザーがアカウントを削除できないようにします。
GitLab 16.1 で
deleting_account_disabled_for_users
というフラグで導入されました。デフォルトで有効。
デフォルトでは、ユーザーは自分のアカウントを削除することができます。GitLab管理者はユーザーが自分のアカウントを削除できないようにすることができます:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 設定] > [全般]を選択します。
- アカウントと制限」を展開します。
- ユーザーが自分のアカウントを削除できるようにする] チェックボックスをオフにします。
トラブルシューティング
413 リクエスト・エンティティが大きすぎる
GitLabでコメントや返信にファイルを添付すると、413 Request Entity Too Large
エラーが表示されます。これは、添付ファイルの最大サイズがウェブサーバーの許容値より大きい可能性があります。
Linux パッケージのインストールで添付ファイルの最大サイズを 200 MB にするには、添付ファイルの最大サイズを増やす前に/etc/gitlab/gitlab.rb
に以下の行を追加する必要があるかもしれません:
nginx['client_max_body_size'] = "200m"
このリポジトリはサイズ制限を超えました。
Railsの例外ログにこのようなプッシュエラーが断続的に表示される場合:
Your push has been rejected, because this repository has exceeded its size limit.
ハウスキーピングタスクがリポジトリサイズの増大を引き起こしている可能性があります。この問題を解決するには、短中期的には以下のいずれかのオプションが役立ちます:
- リポジトリサイズの上限を大きくします。
- リポジトリサイズを小さくします。