登录限制

您可以使用登录限制自定义 Web 界面以及基于 HTTP(S) 的 Git 的身份验证限制。

设置

要访问登录限制设置:

  1. 在顶部栏上,选择 菜单 > 管理员
  2. 在左侧边栏中,选择 设置 > 通用
  3. 展开 登录限制 部分。

启用密码验证

您可以通过 HTTP(S) 限制 Web 界面和 Git 的密码验证:

  • Web 界面:禁用此功能时,标准登录选项卡将被删除,并且必须使用外部身份验证提供程序。
  • Git over HTTP(S):禁用此功能时,必须使用个人访问令牌或 LDAP 密码进行身份验证。

如果外部身份验证提供程序中断,请使用 GitLab Rails 控制台,重新启用标准 Web 登录表单。

管理员模式

引入于 13.10 版本

启用此功能后,实例管理员被限制为普通用户。在此期间,他们无法访问所有项目、群组或 管理中心 菜单。

要访问具有潜在危险的资源,管理员可以通过以下方式激活管理模式:

  • 选择 启用管理模式 按钮
  • 尝试访问需要管理员访问权限的 UI 的任何部分,特别是那些调用 /admin 端点的部分。

主要用例允许管理员根据其成员身份,以普通用户的身份执行常规任务,而无需出于安全原因设置第二个帐户。

当管理员模式状态被禁用时,管理用户无法访问资源,除非他们被明确授予访问权限。例如,当管理员模式被禁用时,如果他们尝试打开私有群组或项目,则会收到 404 错误,除非他们是该群组或项目的成员。

应该为管理员启用 2FA,并且支持管理模式流程,OmniAuth provider 和 LDAP 身份验证也是如此。管理模式状态存储在活动用户会话中,并保持激活状态,直到被明确禁用(否则将在超时后自动禁用)。

管理员模式的限制

以下访问方法受管理模式保护:

  • Git 客户端访问(使用公钥的 SSH 或使用个人访问令牌的 HTTPS)。
  • 使用个人访问令牌的 API 访问。

也就是说,受管理员模式限制的管理员仍然可以使用 Git 客户端,并以管理员身份访问 RESTful API 端点,而无需额外的身份验证步骤。

管理员模式故障排查

如有必要,您可以使用以下两种方法之一,以管理员身份禁用 管理员模式

  • API

    curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab-url>/api/v4/application/settings?admin_mode=false"
    
  • Rails console

    ::Gitlab::CurrentSettings.update!(admin_mode: false)
    

双重验证

启用此功能后,所有用户都必须使用双重身份验证

双重身份验证配置为强制后,允许用户在可配置的宽限期(以小时为单位)内跳过强制配置双重身份验证。

Two-factor grace period

未知登录的电子邮件通知

启用后,极狐GitLab 会通知用户来自未知 IP 地址或设备的登录。有关详细信息,请参阅未知登录的电子邮件通知

Email notification for unknown sign-ins

登录信息

如果 value 不为空,则所有未登录的用户都将重定向到配置的 首页 URL 所代表的页面。

如果 value 不为空,则所有用户在注销后重定向到配置的 退出页面 URL 所代表的页面。

登录限制部分,滚动到登录文本字段。您可以为您的用户添加 Markdown 格式的自定义消息。

例如,您在注明的文本框中包含以下信息:

# Custom sign-in text

To access this text box:

1. On the top bar, select **Menu > Admin**.
1. On the left sidebar, select **Settings > General**, and expand the **Sign-in restrictions** section.

您的用户在导航到您的极狐GitLab 实例的登录屏幕时,会看到自定义登录文本