- 默认项目限制
- 最大附件大小
- 最大推送大小
- 个人访问令牌前缀
- 实例令牌前缀
- 存储库大小限制
- 会话持续时间
- 要求新的访问令牌的过期日期
- 允许顶级群组所有者创建服务账户
- 限制 SSH 密钥的生命周期
- 限制访问令牌的生命周期
- 用户 OAuth 应用设置
- OAuth 授权
- 禁止用户更改个人资料名称
- 阻止用户创建组织
- 阻止新用户创建顶级群组
- 阻止非成员创建项目和群组
- 阻止用户将个人资料设为私密
- 默认情况下将新用户的个人资料设为私密
- 阻止用户删除他们的账户
- 故障排除
{{< details >}}
- Tier: 基础版,专业版,旗舰版
- Offering: 私有化部署
{{< /details >}}
默认项目限制
您可以配置新用户在个人命名空间中可以创建的默认最大项目数。此限制仅影响您更改设置后创建的新用户账户。此设置不适用于现有用户,但您可以单独编辑现有用户的项目限制。
要为新用户配置个人命名空间中的最大项目数:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 增加或减少 默认项目限制 值。
如果您将 默认项目限制 设置为 0,则不允许用户在其个人命名空间中创建项目。但是,项目仍可以在群组中创建。
用户项目限制
您可以编辑特定用户,并更改此用户在其个人命名空间中可以创建的最大项目数:
- 在左侧边栏底部,选择 管理员。
- 选择 概览 > 用户。
- 从用户列表中选择一个用户。
- 选择 编辑。
- 增加或减少 项目限制 值。
最大附件大小
{{< history >}}
- 在极狐GitLab 15.7 中从 10 MB 更改到 100 MB。
{{< /history >}}
极狐GitLab 评论和回复中的附件最大文件大小为 100 MB。要更改最大附件大小:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 通过更改 最大附件大小 (MiB) 中的值增加或减少。
如果您选择的大小大于为 Web 服务器配置的值,您可能会收到错误。有关更多信息,请参阅 故障排除部分。
有关 JihuLab.com 存储库大小限制,请参阅 账户和限制设置。
最大推送大小
您可以更改实例的最大推送大小:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 通过更改 最大推送大小 (MiB) 中的值增加或减少。
有关 JihuLab.com 推送大小限制,请参阅 账户和限制设置。
{{< alert type=”note” >}}
当您通过 Web UI 向存储库添加文件 时,最大 附件 大小是限制因素。这是因为 Web 服务器 必须接收文件,然后极狐GitLab 才能生成提交。使用 Git LFS 向存储库添加大文件。此设置不适用于推送 Git LFS 对象。
{{< /alert >}}
个人访问令牌前缀
您可以为个人访问令牌指定一个前缀。您可能会使用前缀来更快地找到令牌,或者与自动化工具一起使用。
默认前缀是 glpat-
,但管理员可以更改它。
默认情况下,密钥推送保护 和 流水线密钥检测 不会检测自定义前缀。自定义前缀可能导致误报增加。
设置前缀
要更改默认全局前缀:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 填写 个人访问令牌前缀 字段。
- 选择 保存更改。
您也可以使用 设置 API 配置前缀。
实例令牌前缀
{{< history >}}
- 引入于极狐GitLab 17.10,使用名为
custom_prefix_for_all_token_types
的功能标志。默认禁用。
{{< /history >}}
{{< alert type=”flag” >}}
此功能的可用性由一个功能标志控制。有关更多信息,请参阅历史记录。此功能可用于测试,但尚未准备好用于生产环境。
{{< /alert >}}
您可以为实例上生成的所有令牌设置自定义前缀。默认情况下,极狐GitLab 使用 gl
作为实例前缀。
自定义令牌前缀仅适用于以下令牌:
先决条件:
- 您必须拥有实例的管理员访问权限。
设置自定义令牌前缀:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 在 实例令牌前缀 字段中输入您的自定义前缀。
- 选择 保存更改。
{{< alert type=”note” >}}
默认情况下,密钥推送保护、客户端密钥检测 和 流水线密钥检测 不会检测自定义实例令牌前缀。这可能导致误报增加。
{{< /alert >}}
令牌前缀的好处
使用自定义令牌前缀提供以下好处:
- 使您的令牌独特且易于识别。
- 帮助在安全扫描中识别泄漏的令牌。
- 减少不同实例之间令牌混淆的风险。
存储库大小限制
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed
{{< /details >}}
您极狐GitLab 实例中的存储库可以快速增长,尤其是如果您使用 LFS。其大小可以呈指数增长,快速消耗可用存储空间。为防止这种情况发生,您可以设置存储库大小的硬性限制。此限制可以全局设置、按群组设置或按项目设置,以项目限制为最高优先级。
存储库大小限制适用于私有和公共项目。它包括存储库文件和 LFS,但不包括:
- 产物
- 容器
- 软件包
- 代码片段
- 上传
- 维基
有许多使用案例可能需要设置存储库大小限制。例如,请考虑以下工作流程:
- 您的团队开发的应用程序需要在应用程序存储库中存储大文件。
- 虽然您已经为项目启用了 Git LFS,但存储增长显著。
- 在超过可用存储之前,您为每个存储库设置 10 GB 的限制。
在极狐GitLab 私有化部署中,只有极狐GitLab 管理员可以设置这些限制。将限制设置为 0
表示没有限制。有关 JihuLab.com 存储库大小限制,请参阅 账户和限制设置。
这些设置可以在以下位置找到:
- 每个项目的设置:
- 从项目主页,转到 设置 > 常规。
- 在 命名、主题、头像 部分填写 存储库大小限制 (MiB) 字段。
- 选择 保存更改。
- 每个群组的设置:
- 从群组主页,转到 设置 > 常规。
- 在 命名、可见性 部分填写 存储库大小限制 (MiB) 字段。
- 选择 保存更改。
- 极狐GitLab 全局设置:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 填写 每个存储库的大小限制 (MiB) 字段。
- 选择 保存更改。
新的项目的首次推送,包括 LFS 对象,会检查大小。如果它们的大小总和超过最大允许存储库大小,推送将被拒绝。
有关手动清除文件的详细信息,请参阅 使用 Git 减少存储库大小。
会话持续时间
自定义默认会话持续时间
您可以更改用户在无活动情况下保持登录的时间。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 填写 会话持续时间 (分钟) 字段。
- 选择 保存更改。
-
重新启动极狐GitLab 以应用更改。
{{< alert type=”warning” >}}
将 会话持续时间 (分钟) 设置为
0
会破坏您的极狐GitLab 实例。{{< /alert >}}
如果启用了 记住我,用户的会话可以保持活动状态不受时间限制。
有关详细信息,请参阅 用于登录的 Cookie。
设置会话从创建日期过期
{{< history >}}
- 引入于极狐GitLab 17.11,使用名为
session_expire_from_init
的功能标志。默认禁用。
{{< /history >}}
{{< alert type=”flag” >}}
会话从创建日期过期的可用性由一个功能标志控制。有关更多信息,请参阅历史记录。
{{< /alert >}}
默认情况下,会话在会话变得不活动后的一段时间后过期。相反,您可以配置会话在创建后的一段时间后过期。
当会话持续时间达到时,会话结束,用户被签出,即使:
- 用户仍在积极使用会话。
- 用户在登录时选择了 记住我。
- 在左侧边栏底部,选择 管理员区域。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 选择 从创建日期过期会话 复选框。
会话结束后,会提示用户重新登录。
打开或关闭 记住我
{{< history >}}
- 启用和禁用 记住我 设置引入于极狐GitLab 16.0。
{{< /history >}}
用户可以在登录时选择 记住我 复选框。他们的会话在从特定浏览器访问时保持活动状态不受时间限制。关闭此设置以过期会话,以便出于安全或合规目的。关闭此设置可确保用户的会话在您 自定义会话持续时间 设置的非活动分钟数后过期。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 选择或清除 记住我 复选框以打开或关闭此设置。
自定义 Git 操作启用 2FA 时的会话持续时间
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 13.9,使用名为
two_factor_for_cli
的功能标志。默认禁用。此功能标志也影响 通过 SSH 对 Git 进行操作的 2FA。
{{< /history >}}
{{< alert type=”flag” >}}
此功能的可用性由一个功能标志控制。有关更多信息,请参阅历史记录。此功能尚未准备好用于生产环境。
{{< /alert >}}
极狐GitLab 管理员可以选择自定义启用 2FA 时 Git 操作的会话持续时间(以分钟为单位)。默认值为 15,可以设置为 1 到 10080 之间的值。
要设置这些会话的有效时间限制:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 填写 启用 2FA 时 Git 操作的会话持续时间 (分钟) 字段。
- 选择 保存更改。
要求新的访问令牌的过期日期
{{< details >}}
- Tier: Free, Premium, Ultimate
- Offering: JihuLab.com, GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 17.3。
{{< /history >}}
先决条件:
- 您必须是管理员。
您可以要求所有新的访问令牌具有过期日期。此设置默认开启并适用于:
- 项目访问令牌。
- 群组访问令牌。
- 非服务账户用户的个人访问令牌。
对于服务账户的个人访问令牌,使用 应用程序设置 API 中的 service_access_tokens_expiration_enforced
设置。
要求新的访问令牌的过期日期:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 选择 个人 / 项目 / 群组访问令牌过期 复选框。
- 选择 保存更改。
当您要求新的访问令牌的过期日期时:
- 用户必须设置不超过允许的令牌生命周期的过期日期。
- 要控制最大访问令牌生命周期,请使用 限制访问令牌的生命周期 设置。
允许顶级群组所有者创建服务账户
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 17.5,为私有化部署使用名为
allow_top_level_group_owners_to_create_service_accounts
的功能标志。默认禁用。 - 在极狐GitLab 17.6 中 GA。功能标志
allow_top_level_group_owners_to_create_service_accounts
已移除。
{{< /history >}}
默认情况下,在极狐GitLab 私有化部署中,顶级群组所有者不能创建服务账户。极狐GitLab 管理员可以允许顶级群组所有者创建服务账户。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 在 服务账户创建 下,选择 允许顶级群组所有者创建服务账户 复选框。
- 选择 保存更改。
限制 SSH 密钥的生命周期
{{< details >}}
- Tier: Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
- 在极狐GitLab 17.6 中,最大允许生命周期限制增加到 400 天,使用名为
buffered_token_expiration_limit
的功能标志。默认禁用。
{{< /history >}}
{{< alert type=”flag” >}}
扩展的最大允许生命周期限制的可用性由一个功能标志控制。有关更多信息,请参阅历史记录。此功能标志在极狐GitLab 专用版本上不可用。
{{< /alert >}}
用户可以选择指定 SSH 密钥的生命周期 SSH keys。此生命周期不是必需的,可以设置为任意天数。
SSH 密钥是用户访问极狐GitLab 的凭据。但是,具有安全要求的组织可能希望通过要求定期轮换这些密钥来实施更多保护。
设置生命周期
只有极狐GitLab 管理员可以设置生命周期。将其留空表示没有限制。
要设置 SSH 密钥的有效时间限制:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 填写 SSH 密钥的最大允许生命周期 (天) 字段。
- 选择 保存更改。
设置 SSH 密钥的生命周期后,极狐GitLab:
- 要求用户在新的 SSH 密钥上设置不超过允许生命周期的过期日期。最大允许生命周期是:
- 默认情况下为 365 天。
- 400 天,如果您启用了
buffered_token_expiration_limit
功能标志。 此扩展限制在极狐GitLab 专用版本上不可用。
- 将生命周期限制应用于现有 SSH 密钥。没有到期或生命周期超过最大值的密钥立即变得无效。
{{< alert type=”note” >}}
当用户的 SSH 密钥变得无效时,他们可以删除并重新添加相同的密钥。
{{< /alert >}}
限制访问令牌的生命周期
{{< details >}}
- Tier: Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
- 在极狐GitLab 17.6 中,最大允许生命周期限制增加到 400 天,使用名为
buffered_token_expiration_limit
的功能标志。默认禁用。
{{< /history >}}
{{< alert type=”flag” >}}
扩展的最大允许生命周期限制的可用性由一个功能标志控制。有关更多信息,请参阅历史记录。此功能标志在极狐GitLab 专用版本上不可用。
{{< /alert >}}
用户可以选择指定访问令牌的最大生命周期(以天为单位),包括 个人、群组、和 项目 访问令牌。此生命周期不是必需的,可以设置为大于 0 且小于或等于的任意值:
- 默认情况下为 365 天。
- 400 天,如果您启用了
buffered_token_expiration_limit
功能标志。 此扩展限制在极狐GitLab 专用版本上不可用。
如果此设置为空白,访问令牌的默认允许生命周期是:
- 默认情况下为 365 天。
- 400 天,如果您启用了
buffered_token_expiration_limit
功能标志。 此扩展限制在极狐GitLab 专用版本上不可用。
访问令牌是访问极狐GitLab 所需的唯一令牌。但是,具有安全要求的组织可能希望通过要求定期轮换这些令牌来实施更多保护。
设置生命周期
只有极狐GitLab 管理员可以设置生命周期。将其留空表示没有限制。
要设置访问令牌的有效时间限制:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 填写 访问令牌的最大允许生命周期 (天) 字段。
- 选择 保存更改。
设置访问令牌的生命周期后,极狐GitLab:
- 将生命周期应用于新的个人访问令牌,并要求用户设置过期日期和不晚于允许的生命周期的日期。
- 在三个小时后,撤销没有过期日期或生命周期超过允许的生命周期的旧令牌。三个小时是为了让管理员在撤销发生之前更改允许的生命周期或移除它。
用户 OAuth 应用设置
{{< details >}}
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
{{< /details >}}
先决条件:
- 您必须是管理员。
用户 OAuth 应用 设置控制用户是否可以注册应用以使用极狐GitLab 作为 OAuth 提供商。此设置影响用户拥有的 OAuth 应用,但不影响群组拥有的 OAuth 应用。
要打开或关闭 用户 OAuth 应用 设置:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制 部分。
- 选择或清除 用户 OAuth 应用 复选框。
- 选择 保存更改。
OAuth 授权
{{< details >}}
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 17.8。
{{< /history >}}
先决条件:
- 您必须是管理员。
OAuth 授权 设置控制用户是否可以使用 OAuth 资源所有者密码凭据流在没有客户端凭据的情况下授权自己。
要打开或关闭此设置:
- 在左侧边栏下,选择 设置,选择 管理员区域。
- 选择 OAuth。
- 选择 OAuth 授权。
- 选择或清除 允许用户使用资源所有者密码凭据流而无需 OAuth 客户端凭据 复选框。
- 选择 保存更改。
禁止用户更改个人资料名称
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed
{{< /details >}}
为了维护 审核事件 中用户详细信息的完整性,极狐GitLab 管理员可以阻止用户更改其个人资料名称。
要执行此操作:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 选择 阻止用户更改其个人资料名称。
选定后,极狐GitLab 管理员仍可以在 管理员 区域 或 API 中更新用户名。
阻止用户创建组织
{{< details >}}
- 状态:实验
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 16.7,使用名为
ui_for_organizations
的功能标志。默认禁用。
{{< /history >}}
{{< alert type=”flag” >}}
在极狐GitLab 私有化部署中,默认情况下此功能不可用。要使其可用,管理员可以 启用功能标志 名为 ui_for_organizations
。在 JihuLab.com 和极狐GitLab 专用版本中,此功能不可用。此功能尚未准备好用于生产环境。
{{< /alert >}}
默认情况下,用户可以创建组织。极狐GitLab 管理员可以阻止用户创建组织。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 清除 允许用户创建组织 复选框。
阻止新用户创建顶级群组
{{< history >}}
- 引入于极狐GitLab 15.5。
{{< /history >}}
默认情况下,新用户可以创建顶级群组。极狐GitLab 管理员可以阻止新用户创建顶级群组:
- 在极狐GitLab 15.5 及更高版本中,使用以下任一方法:
- 使用本节中的步骤通过极狐GitLab UI。
- 应用程序设置 API。
- 在极狐GitLab 15.4 及更早版本中,修改 配置文件。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 清除 允许新用户创建顶级群组 复选框。
阻止非成员创建项目和群组
{{< history >}}
- 引入于极狐GitLab 16.8。
{{< /history >}}
默认情况下,具有访客角色的用户可以创建项目和群组。极狐GitLab 管理员可以阻止这种行为:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 清除 允许具有访客角色的用户创建群组和个人项目 复选框。
- 选择 保存更改。
阻止用户将个人资料设为私密
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 17.1,使用名为
disallow_private_profiles
的功能标志。默认禁用。 - 在极狐GitLab 17.9 中 GA。功能标志
disallow_private_profiles
已移除。
{{< /history >}}
默认情况下,用户可以将个人资料设为私密。极狐GitLab 管理员可以禁用此设置以要求所有用户个人资料为公共。这一设置不影响 内部用户(有时称为“机器人”)。
要阻止用户将个人资料设为私密:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 清除 允许用户将个人资料设为私密 复选框。
- 选择 保存更改。
关闭此设置时:
- 所有私密用户个人资料将变为公共。
- 默认情况下将新用户的个人资料设为私密 的选项也将关闭。
重新启用此设置时,用户的 先前设置的个人资料可见性 将被选定。
默认情况下将新用户的个人资料设为私密
{{< history >}}
- 引入于极狐GitLab 15.8。
{{< /history >}}
默认情况下,新创建的用户具有公共个人资料。极狐GitLab 管理员可以将新用户默认设为私密个人资料:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 选择 默认情况下将新用户的个人资料设为私密 复选框。
- 选择 保存更改。
{{< alert type=”note” >}}
如果 允许用户将个人资料设为私密 被禁用,此设置也会被禁用。
{{< /alert >}}
阻止用户删除他们的账户
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 16.1,使用名为
deleting_account_disabled_for_users
的功能标志。默认启用。
{{< /history >}}
默认情况下,用户可以删除自己的账户。极狐GitLab 管理员可以阻止用户删除自己的账户:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 常规。
- 展开 账户和限制。
- 清除 允许用户删除自己的账户 复选框。
故障排除
413 请求实体过大
在极狐GitLab 中将文件附加到评论或回复时,最大附件大小 可能大于 Web 服务器允许的值。
要在 Linux 软件包 安装中将最大附件大小增加到 200 MB:
-
将此行添加到
/etc/gitlab/gitlab.rb
中:nginx['client_max_body_size'] = "200m"
-
增加最大附件大小。
此存储库已超过其大小限制
如果您在 Rails 异常日志 中收到间歇性推送错误,如下所示:
您的推送无法完成,因为此存储库已超过为您的项目分配的存储空间。
维护 任务可能导致存储库大小增长。要解决此问题,以下选项之一可以在短期到中期内有所帮助: