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 访问控制。
-
在左侧边栏,选择 搜索或跳转 并找到您的项目。
-
选择 设置 > 常规。
-
展开 可见性、项目功能、权限。
-
切换 Pages 按钮以启用访问控制。如果您没有看到切换按钮,这意味着它尚未启用。请要求您的管理员启用它。
-
Pages 访问控制下拉列表允许您根据项目的可见性设置谁可以查看使用 GitLab Pages 托管的页面:
- 如果您的项目是私有的:
- 仅项目成员:只有项目成员可以浏览网站。
- 所有人:无论是否登录 GitLab,无论项目成员身份,所有人都可以浏览网站。
- 如果您的项目是内部的:
- 仅项目成员:只有项目成员可以浏览网站。
- 有访问权限的用户:无论项目成员身份,所有登录 GitLab 的用户都可以浏览网站。外部用户只有在拥有项目成员身份时才能访问网站。
- 所有人:无论是否登录 GitLab,无论项目成员身份,所有人都可以浏览网站。
- 如果您的项目是公开的:
- 仅项目成员:只有项目成员可以浏览网站。
- 有访问权限的用户:无论是否登录 GitLab,无论项目成员身份,所有人都可以浏览网站。
- 如果您的项目是私有的:
-
选择 保存更改。您的更改可能不会立即生效。GitLab Pages 使用缓存机制以提高效率。您的更改可能需要等到缓存失效才会生效,这通常需要不到一分钟的时间。
当下次有人尝试访问您的网站且访问控制已启用时,他们会看到一个登录 GitLab 的页面,以验证他们可以访问该网站。
当为关联组配置了 SAML SSO 且访问控制已启用时,用户在访问网站之前必须使用 SSO 进行身份验证。
限制组和子组的项目成员访问 Pages
您可以为组配置一个设置,将 Pages 访问限制为仅项目成员。启用后,组及其子组中的所有项目仅对成员可见。
先决条件
- 必须未在实例级别禁用 Pages 的公共访问。
- 您必须拥有该组的 Owner 角色。
操作步骤:
- 在左侧边栏,选择 搜索或跳转 并找到您的组。
- 选择 设置 > 常规。
- 展开 权限和组功能。
- 在 Pages 访问控制 下,选择 限制所有组项目仅项目成员访问。
- 选择 保存更改。
GitLab Pages 使用缓存以提高效率。访问设置的更改通常在缓存更新后一分钟内生效。
使用访问令牌进行身份验证
要对受限制的 GitLab Pages 站点进行身份验证,您可以在 Authorization 头中提供访问令牌。
先决条件:
- 您必须拥有具有
read_api范围的以下访问令牌之一:
例如,使用符合 OAuth 标准的标头使用访问令牌:
curl --header "Authorization: Bearer <your_access_token>" <published_pages_url>对于无效或未授权的访问令牌,返回 404。
终止 Pages 会话
要退出您的 GitLab Pages 网站,请撤销 GitLab Pages 的应用程序访问令牌:
- 在左侧边栏,选择您的头像。
- 选择 编辑个人资料。
- 选择 应用程序。
- 在 已授权的应用程序 部分,找到 GitLab Pages 条目,然后选择 撤销。