帐户和限制设置

默认项目限制

您可以配置新用户能在其个人命名空间中创建的默认最大项目数。此限制仅影响更改设置后创建的新用户帐户。此设置对现有用户不具有追溯性,但您可以单独编辑现有用户的项目限制

为新用户配置个人命名空间中的最大项目数:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 增加或减少 默认项目限制 值。

如果您将 默认项目限制 设置为 0,则不允许用户在其用户个人命名空间中创建项目。但是,仍然可以在群组中创建项目。

针对用户的项目限制

您可以编辑特定用户,并更改此用户可以在其个人命名空间中创建的最大项目数:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏中,选择 概览 > 用户
  3. 从用户列表中选择一个用户。
  4. 选择 编辑
  5. 增加或减少 项目限制 值。

最大附件大小

评论和回复中附件的最大文件大小为 10 MB。 更改最大附件大小:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 通过更改 最大附件大小(MB) 中的值来增加或减少。

如果您选择的大小大于为 Web 服务器配置的值,您可能会收到错误消息。阅读故障排查部分了解更多详情。

最大推送大小

您可以更改实例的最大推送大小:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 通过更改 最大推送大小(MB) 中的值来增加或减少。

对于 SaaS 版的限制,查看极狐GitLab 应用限制

note当您通过 Web UI 将文件添加到仓库时,附件大小是限制因素,因为 web 服务器必须在极狐GitLab 生成提交之前接收文件。 使用 Git LFS 向仓库添加大型文件。

最大导出大小

引入于 15.0 版本。

在极狐GitLab 中修改导出的最大文件大小:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 增加或减少 最大导出大小(MB) 中的值。

最大导入大小

于 13.8 版本,从 50 MB 修改为无限制。

在极狐GitLab 中修改导入的最大文件大小:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 通过更改 最大导入大小(MB) 中的值来增加或减少。

如果您选择的大小大于为 Web 服务器配置的值,您可能会收到错误消息。阅读故障排查部分了解更多详情。

个人访问令牌前缀

  • 引入于 13.7 版本。
  • 默认前缀引入于 14.5 版本。

您可以为个人访问令牌指定前缀。您可以使用前缀来更快地找到令牌,或者与自动化工具一起使用。

默认前缀是 glpat-,但管理员可以更改它。

项目访问令牌也继承此前缀。

设置前缀

更改默认全局前缀:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏中,选择 设置 > 通用
  3. 展开 帐户和限制 部分。
  4. 填写 个人访问令牌前缀 字段。
  5. 单击 保存更改

仓库大小限制

极狐GitLab 实例中的仓库可以快速增长,尤其是在您使用 LFS 时,它们的大小可以成倍增长,迅速消耗可用存储。 为防止这种情况发生,您可以为仓库的大小设置硬限制。 您可以全局、按群组或按项目设置此限制,每个项目的限制具有最高优先级。

有许多用例可以设置仓库大小的限制。 例如,考虑以下工作流程:

  1. 您的团队开发的应用程序需要将大文件存储在应用程序仓库中。
  2. 尽管您已在项目中启用 Git LFS,但您的存储量已显着增长。
  3. 在超出可用存储空间之前,您设置了每个存储库 10 GB 的限制。

工作原理

只有极狐GitLab 管理员可以设置这些限制。将限制设置为 0 意味着没有限制。

这些设置可以在以下位置找到:

  • 每个项目的设置:
    1. 在项目的主页上,导航到 设置 > 通用
    2. 填写 命名、主题、头像 部分中的 仓库大小限制 (MB) 字段。
    3. 单击 保存更改
  • 每个群组的设置:
    1. 在群组主页,导航至 设置 > 通用
    2. 名称与可见性 部分中填写 仓库大小限制(MB) 字段。
    3. 单击 保存更改
  • 全局设置:
    1. 在顶部栏上,选择 主菜单 > 管理员
    2. 在左侧边栏中,选择 设置 > 通用
    3. 展开 帐户和限制 部分。
    4. 填写 每个仓库的大小限制 (MB) 字段。
    5. 单击 保存更改

新项目的第一次推送,包括 LFS 对象,会检查大小。 如果它们的大小总和超过允许的最大仓库大小,则拒绝推送。

note仓库大小限制包括仓库文件和 LFS,但不包括产物、上传文件、wiki、软件包或代码片段。仓库大小限制适用于私有和公共项目。

有关手动清除文件的详细信息,查看使用 Git 减少仓库大小

启用 2FA 时自定义 Git 操作的会话持续时间

在私有化部署实例,此功能默认不可用。要启用,询问管理员启用名为 two_factor_for_cli功能标志。在 SaaS 上,此功能不可用。此功能尚未准备好用于生产用途。此功能标志同时影响 Git over SSH 操作的 2FA

当启用 2FA 时,极狐GitLab 管理员可以选择自定义 Git 操作的会话持续时间(以分钟为单位)。默认值为 15,可以设置为 1 到 10080 之间的值。

要设置这些会话的有效时间限制:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏中,选择 设置 > 通用
  3. 展开 帐户和限制 部分。
  4. 填写 启用 2FA 时 Git 操作的会话持续时间(分钟)字段。
  5. 单击 保存修改

限制 SSH 密钥的有效期

  • 引入于 14.6 版本,功能标志名为 ff_limit_ssh_key_lifetime。默认禁用。
  • 适用于自助管理版于 14.6 版本。
  • 于 14.7 版本移除了功能标志。

用户可以选择指定 SSH 密钥的有效期。 有效期不是必需的,可以设置为任意天数。

SSH 密钥是访问极狐GitLab 的用户凭据。 但是,具有安全要求的组织可能希望通过要求定期轮换这些密钥来实施更多保护。

设置有效期

只有极狐GitLab 管理员可以设置有效期。留空意味着没有限制。

设置 SSH 密钥的有效期,请执行以下操作:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏中,选择 设置 > 通用
  3. 展开 帐户和限制 部分。
  4. 填写 SSH 密钥的的最长有效期(天) 字段。
  5. 单击 保存修改

一旦设置了 SSH 密钥的有效期:

  • 要求用户设置一个不迟于新 SSH 密钥允许使用期限的到期日期。
  • 对现有 SSH 密钥应用有效期限制。没有有效期,或有效期大于最大值的密钥立即变为无效。
note当用户的 SSH 密钥失效时,他们可以删除并重新添加相同的密钥。

限制访问令牌的有效期

用户可以选择指定访问令牌的生命周期,包括个人群组项目访问令牌。 有效期不是必需的,可以设置为任意天数。

访问令牌是对极狐GitLab 进行编程访问所需的唯一令牌。 但是,具有安全要求的组织可能希望通过要求定期轮换这些令牌来实施更多保护。

设置有效期

只有极狐GitLab 管理员可以设置有效期。留空表示没有限制。

要设置访问令牌的有效期,请执行以下操作:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏中,选择设置 > 通用
  3. 展开 帐户和限制 部分。
  4. 填写 访问令牌的最长有效期(天) 字段。
  5. 单击 保存修改

一旦设置了访问令牌的有效期:

  • 为新的访问令牌应用有效期,并要求用户设置到期日期,不迟于允许的有效期。
  • 三小时后,撤销没有到期日期,或超过允许有效期的旧令牌。三个小时的时间允许管理员在撤销之前,更改或删除有效期。

允许使用过期的个人访问令牌(已删除)

  • 引入于 13.1 版本。
  • 功能标志移除于 13.9 版本。
  • 废弃于 14.8 版本。
  • 删除于 15.0 版本。
caution此功能废弃于 14.8 版本。此功能删除于 15.0 版本。

禁用用户个人资料名称更改

为了保持审计事件中用户详细信息的完整性,极狐GitLab 管理员可以选择禁用用户更改其个人资料名称的能力。

操作步骤:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 选中 禁止用户更改个人资料名称 复选框。

阻止新用户创建顶级群组

引入于 15.5 版本。

默认情况下,新用户可以创建顶级群组。极狐GitLab 管理员可以阻止新用户创建顶级群组:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > 通用,然后展开 帐户和限制
  3. 清除 允许新用户创建顶级群组 复选框。

密码过期策略

引入于 15.7 版本。功能标志为 password_expiration,默认禁用。

在私有化部署版上,此功能不可用。要使其可用,询问管理员启用功能标志 password_expiration。在 SaaS 版上,此功能不可用。

默认情况下,用户的密码永不过期。管理员可以通过启用密码过期策略功能,使用户密码在特定天数后过期,强制用户更改密码。

要启用密码过期策略:

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏中,选择 设置 > 通用
  3. 展开 帐户和限制
  4. 选中 启用密码过期策略 复选框。
  5. 密码有效天数 框中,输入用户密码在多少天后过期。单位为天,有效范围为 14 到 400 之间的整数,默认值为 90。有效期起始时间为用户最后一次更新密码的时间。
  6. 设置到期前的提前通知天数 框中,输入在密码到期前,提前通知用户的天数。单位为天,有效范围为 1 到 30 之间的整数,且不大于密码有效天数,默认值为 7。
  7. 选择 保存更改

在达到设置到期前的提前通知天数后,系统将通过邮件形式通知用户,用户可以根据邮件内容指引更改密码。

如果用户在密码过期后登录,在登录成功后,将自动跳转到设置新密码页面,必须根据页面指引设置新密码。

故障排查

413 Request Entity Too Large

将文件附加到评论或回复时显示 413 Request Entity Too Large 错误,最大附件大小可能大于 Web 服务器的允许值。

要将 Omnibus GitLab 安装中的最大附件大小增加到 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.

例行维护任务可能会导致您的仓库大小增加。 为了解决这个问题,考虑中短期的使用,执行以下操作之一: