Help us learn about your current experience with the documentation. Take the survey.
外部用户
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
外部用户对实例中的内部或私有群组和项目拥有有限的访问权限。与普通用户不同,外部用户必须被明确添加到群组或项目中。但是,和普通用户一样,外部用户会被分配一个成员角色,并获得所有相关的权限。
外部用户:
- 可以访问公开的群组、项目和代码片段。
- 可以访问他们作为成员的内部或私有群组和项目。
- 可以在他们作为成员的任何顶级群组中创建子群组、项目和代码片段。
- 不能在其个人命名空间中创建群组、项目或代码片段。
通常,当组织外部的用户需要访问某个特定项目时,我们会为其创建外部用户账户。在为外部用户分配角色时,您应该注意与该角色相关的项目可见性和权限。例如,如果为外部用户分配了私有项目的 Guest(访客)角色,他们将无法访问代码。
外部用户会被计为可计费用户,并占用一个许可证席位。
创建外部用户
要创建一个新的外部用户:
- 在左侧边栏的底部,选择 管理员。
- 选择 概览 > 用户。
- 选择 新建用户。
- 在 账户 部分,输入所需的账户信息。
- 可选。在 访问权限 部分,配置任何项目限制或用户类型设置。
- 选中 外部 复选框。
- 选择 创建用户。
您也可以通过以下方式创建外部用户:
默认将新用户设为外部用户
您可以配置您的实例,默认将所有新用户设为外部用户。您可以稍后修改这些用户账户,以移除外部用户标记。
配置此功能时,您还可以定义一个用于识别电子邮件地址的正则表达式。电子邮件地址匹配的新用户将被排除,不会被标记为外部用户。该正则表达式必须:
- 使用 Ruby 格式。
- 可转换为 JavaScript。
- 设置忽略大小写标志 (
/regex pattern/i)。
例如:
\.int@example\.com$: 匹配以.int@domain.com结尾的电子邮件地址。^(?:(?!\.ext@example\.com).)*$\r?: 匹配不包含.ext@example.com的电子邮件地址。
添加正则表达式可能会增加正则表达式拒绝服务 (ReDoS) 攻击的风险。
前提条件:
- 您必须是 GitLab Self-Managed 实例的管理员。
要默认将新用户设为外部用户:
- 在左侧边栏的底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 账户和限制 部分。
- 选中 默认将新用户设为外部用户 复选框。
- 可选。在 电子邮件排除模式 字段中,输入一个正则表达式。
- 选择 保存更改。