Help us learn about your current experience with the documentation. Take the survey.

GitLab Pages 访问控制

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

如果您的管理员已在您的 GitLab 实例上启用了访问控制功能,您可以在您的项目上启用 Pages 访问控制。启用后,默认情况下只有经过认证的项目成员(至少是 Guest)可以访问您的网站:

演示视频请查看 Pages 访问控制

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。

  2. 选择 设置 > 常规

  3. 展开 可见性、项目功能、权限

  4. 切换 Pages 按钮以启用访问控制。如果您没有看到切换按钮,这意味着它尚未启用。请要求您的管理员启用它

  5. Pages 访问控制下拉列表允许您根据项目的可见性设置谁可以查看使用 GitLab Pages 托管的页面:

    • 如果您的项目是私有的:
      • 仅项目成员:只有项目成员可以浏览网站。
      • 所有人:无论是否登录 GitLab,无论项目成员身份,所有人都可以浏览网站。
    • 如果您的项目是内部的:
      • 仅项目成员:只有项目成员可以浏览网站。
      • 有访问权限的用户:无论项目成员身份,所有登录 GitLab 的用户都可以浏览网站。外部用户只有在拥有项目成员身份时才能访问网站。
      • 所有人:无论是否登录 GitLab,无论项目成员身份,所有人都可以浏览网站。
    • 如果您的项目是公开的:
      • 仅项目成员:只有项目成员可以浏览网站。
      • 有访问权限的用户:无论是否登录 GitLab,无论项目成员身份,所有人都可以浏览网站。
  6. 选择 保存更改。您的更改可能不会立即生效。GitLab Pages 使用缓存机制以提高效率。您的更改可能需要等到缓存失效才会生效,这通常需要不到一分钟的时间。

当下次有人尝试访问您的网站且访问控制已启用时,他们会看到一个登录 GitLab 的页面,以验证他们可以访问该网站。

当为关联组配置了 SAML SSO 且访问控制已启用时,用户在访问网站之前必须使用 SSO 进行身份验证。

限制组和子组的项目成员访问 Pages

您可以为组配置一个设置,将 Pages 访问限制为仅项目成员。启用后,组及其子组中的所有项目仅对成员可见。

先决条件

操作步骤:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的组。
  2. 选择 设置 > 常规
  3. 展开 权限和组功能
  4. Pages 访问控制 下,选择 限制所有组项目仅项目成员访问
  5. 选择 保存更改

GitLab Pages 使用缓存以提高效率。访问设置的更改通常在缓存更新后一分钟内生效。

使用访问令牌进行身份验证

要对受限制的 GitLab Pages 站点进行身份验证,您可以在 Authorization 头中提供访问令牌。

先决条件:

例如,使用符合 OAuth 标准的标头使用访问令牌:

curl --header "Authorization: Bearer <your_access_token>" <published_pages_url>

对于无效或未授权的访问令牌,返回 404

终止 Pages 会话

要退出您的 GitLab Pages 网站,请撤销 GitLab Pages 的应用程序访问令牌:

  1. 在左侧边栏,选择您的头像。
  2. 选择 编辑个人资料
  3. 选择 应用程序
  4. 已授权的应用程序 部分,找到 GitLab Pages 条目,然后选择 撤销