项目成员

成员是有权访问您的项目的用户和群组。

每个成员都有一个角色,这决定了他们在项目中可以做什么。

成员关系类型

  • 在极狐GitLab 16.10 中更改为在成员页面的成员选项卡上显示被邀请的群组成员,使用名为 webui_members_inherited_users 的功能标志。默认禁用。
  • 功能标志 webui_members_inherited_users 在极狐GitLab 17.0 中为私有化部署和 JihuLab.com 启用。
  • 功能标志 webui_members_inherited_users 在极狐GitLab 被移除。被邀请的群组成员默认展示。

用户可以直接/非直接变为群组或项目的成员。非直接成员可以是继承的、共享的或继承共享的。

成员关系类型 成员关系流程
直接 用户被直接添加到当前的群组或项目。
继承 用户是包含当前群组或项目的父群组的成员。
共享 成员是邀请到当前群组或项目中的群组成员。
继承共享 用户是被邀请到当前群组或项目祖先中的群组成员。
非直接 一个用于指代继承成员、共享成员或继承的共享成员的统称 。 .
%%{init: { "fontFamily": "GitLab Sans" }}%% flowchart RL accTitle: Membership types accDescr: Describes membership types and their inheritance subgraph Group A A(Direct member) B{{Shared member}} subgraph Project X H(Direct member) C{{Inherited member}} D{{Inherited shared member}} E{{Shared member}} end A-->|Inherited membership in Project X\nDirect membership in Group A|C end subgraph Group C G(Direct member) end subgraph Group B F(Direct member) end F-->|Group B\ninvited to\nGroup A|B B-->|Inherited membership in Project X\nIndirect membership in Group A|D G-->|Group C invited to Project X|E

Project members page

在上面的例子中:

  • Administrator 是从 demo 群组继承过来的成员。
  • User 0 是从 demo 群组继承过来的成员。
  • User 1 是从 Acme 群组邀请到当前项目中的成员。
  • User 2 是从 Toolbox 群组邀请到 demo 群组中的成员。
  • User 3 是直接添加到当前项目中的成员。

将用户添加到项目

  • 过期访问邮件通知引入于极狐GitLab 16.2。
  • 在极狐GitLab 17.4 中,直接成员的访问过期时间被移除。

将用户添加到项目中,以便他们成为成员并有权执行操作。

先决条件:

要将用户添加到项目:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 管理 > 成员
  3. 选择 邀请成员
  4. 如果用户:

    • 有极狐GitLab 账号,输入用户名。
    • 没有极狐GitLab 账号,输入电子邮件地址。
  5. 选择默认角色自定义角色
  6. 可选。选择 访问过期时间。从那天起,用户将无法访问项目。

    如果您选择了访问过期时间,项目成员将收到访问过期前七天的通知。

    注意: 维护者在角色过期前享有完整权限,包括延长自己的访问过期时间。

  7. 选择 邀请。如果您使用的是:

    • 极狐GitLab 账号,用户将被添加到成员列表中。
    • 电子邮件地址,用户将收到一封邀请邮件,提示他们创建账户。如果邀请未被接受,极狐GitLab 会在两天、五天和十天后发送提醒邮件。未接受的邀请将在 90 天后自动删除。

    如果用户没有极狐GitLab 账号,系统会提示他们使用发送邀请的电子邮件地址创建一个账户。

您可以分配哪些角色

您可以分配的最大角色取决于您是否具有该群组的所有者或维护者角色。例如,您可以设置的最大角色是:

  • 所有者 (50),如果您具有项目的所有者角色。
  • 维护者 (40),如果您具有项目的维护者角色。

只能为群组添加所有者角色

查看等待提升的用户

如果启用了管理员审核角色提升功能,那么将现有用户提升到付费角色的请求需要管理员审批。

要查看等待提升的用户:

  1. 在左侧导航栏,选择 搜索或前往 并找到您的项目。
  2. 选择 管理 > 成员
  3. 选择 角色提升 选项卡。

如果 角色提升 选项卡未显示,表示项目没有等待提升的用户。

更新过期日时间和角色

如果用户是:

  • 直接项目成员,过期时间角色字段可以在项目上直接更新。
  • 继承、共享或继承共享成员,过期时间角色字段必须在成员所属的群组上更新。

和群组共享项目

相比于一个个添加用户,您可以共享整个群组到项目

从另一个项目导入成员

您可以将其他项目的直接成员导入到您自己的项目中。导入的项目成员会保留它们在原来项目中的权限。

note 只能导入直接成员,继承、共享或继承共享成员不会被导入。

先决条件:

  • 您必须是管理员或所有者角色。

如果导入到目标项目中的成员角色是:

  • 维护者,那么源项目中的所有者角色将被导入为维护者。
  • 所有者,那么源项目中的所有者角色将被导入为所有者。

要导入项目的成员:

  1. 在左侧导航栏,选择 搜索或转到,然后找到您的项目。
  2. 选择 管理 > 成员
  3. 选择 从项目导入
  4. 选择您要导入的项目。您只能查看您是维护者的项目。
  5. 选择 导入项目成员

如果导入成功,将显示成功消息。要想在 成员 选项卡中查看新成员,您需要刷新页面。

从项目中删除成员

如果用户是:

  • 项目的直接成员,您可以从项目中将其删除。
  • 如果成员资格是从父组继承的,则只能从父组本身删除该成员。

先决条件:

  • 删除具有以下角色的直接成员:
    • 删除维护者、开发者、报告者或访客角色,您必须具有维护者角色。
    • 删除所有者角色,您必须具有所有者角色。
  • (可选)从分配给他们的所有议题和合并请求中取消指派成员。

要从项目中删除成员:

  1. 在左侧导航栏,选择 搜索或转到,然后找到您的项目。
  2. 选择 管理 > 成员
  3. 在您想要删除的成员旁边,选择 移除成员
  4. (可选)在确认框中,选择 同时从相关的议题和合并请求中取消指派此用户 复选框。
  5. 为防止私有项目泄露敏感信息,请确认用户没有派生私有仓库。现有派生继续从上游项目接收更改。您可能还想配置您的项目,以防止群组中的项目从群组外派生
  6. 选择 删除成员

确保删除的用户无法邀请自己回来

具有维护者或所有者角色的恶意用户可以利用有利条件,邀请自己回到极狐GitLab 管理员已将他们从中删除的群组或项目。

为了避免这个问题,极狐GitLab 管理员可以:

  • Rails 控制台中删除恶意用户会话。
  • 模拟恶意用户:
    • 从项目中删除用户。
    • 将用户从极狐GitLab 中注销。
  • 禁用恶意用户账户。
  • 删除恶意用户账户。
  • 更改恶意用户账户的密码。

过滤和排序成员

您可以过滤和排序项目中的成员。

显示直接成员

  1. 在左侧导航栏,选择 搜索或转到,然后找到您的项目。
  2. 选择 管理 > 成员
  3. 筛选成员 框中,选择 成员 = 直接
  4. Enter

显示继承的成员

  1. 在左侧导航栏,选择 搜索或转到,然后找到您的项目。
  2. 选择 管理 > 成员
  3. 筛选成员 框中,选择 成员 = 继承
  4. Enter

在项目中搜索成员

要在项目成员中进行搜索:

  1. 在左侧导航栏,选择 搜索或转到,然后找到您的项目。
  2. 选择 管理 > 成员
  3. 在搜索框中输入成员的姓名、用户名或电子邮件。
  4. Enter

在项目中排序成员

您可以通过如下方式来对成员进行升序或降序:

  • 账号 名称
  • 访问授予 日期
  • 在项目中的角色
  • 用户创建 日期
  • 最后活动 日期
  • 最后登录 日期

要排序成员:

  1. 在左侧导航栏,选择 搜索或转到,然后找到您的项目。
  2. 选择 管理 > 成员
  3. 在成员列表顶部,从下拉列表中选择您想要排序的项目。

请求访问项目

极狐GitLab 用户可以请求来成为项目的成员。

  1. 在左侧导航栏,选择 搜索或前往 并找到您想要成为成员的项目。
  2. 在顶部右侧,选择 ( ) 并选择 请求访问

一封电子邮件将发送给最近活跃的项目维护者。最多通知十名项目维护者。任何项目所有者或维护者都可以批准或拒绝请求。项目维护者不能批准所有者角色的访问请求。

如果项目没有任何直接所有者或维护者,通知将发送给项目组的最近活跃的所有者。

取消项目的访问请求

在请求被批准前,您可以取消访问请求。要取消的话:

  1. 在左侧导航栏,选择 搜素或前往 并找到您请求访问的项目。
  2. 在项目名称附近,选择 取消访问请求

阻止用户请求访问项目

您可以阻止用户请求访问项目。

先决条件:

  • 您必须是项目所有者
  • 项目必须是公开的
  1. 在左侧导航栏,选择 搜素或前往 并找到您的项目。
  2. 选择 设置 > 通用
  3. 展开 可见性,项目功能,权限 部分。
  4. 项目可见性 下,选择 用户可以请求访问
  5. 选择 保存修改

成员关系和可见性权限

取决于成员关系的类型,群组或项目成员会被授予不同的可见性级别和相关权限。

下表列出了项目成员的成员关系和可见性权限。

操作 直接项目成员 继承的项目成员 直接共享的项目成员 继承的共享项目成员
生成看板 Yes Yes Yes Yes
查看父群组的议题 1 Yes Yes Yes Yes
查看父群组的标记 Yes Yes Yes Yes
查看父群组的里程碑 Yes Yes Yes Yes
被共享到其他群组 Yes No No No
被导入到其他群组 Yes No No No
和其他成员共享项目 Yes Yes Yes Yes

脚注:

  1. 用户仅能够访问他们有权限访问的项目议题。

下表列出了群组成员的成员关系和可见性权限。

操作 直接群组成员 继承的群组成员 直接共享的群组成员 集成的共享群组成员
生成看板 Yes Yes Yes Yes
查看父群组议题 Yes Yes Yes Yes
查看父群组标记 Yes Yes Yes Yes
查看父群组里程碑 Yes Yes Yes Yes

在下面的例子中,User 是一个:

  • subgroup 的直接成员。
  • subsubgroup 的继承成员。
  • subgroup-2subgroup-3 非直接成员。
  • subsubgroup-2subsubgroup-3 的非直接继承成员。
%%{init: { "fontFamily": "GitLab Sans" }}%% graph TD accTitle: Diagram of group inheritance accDescr: User inheritance, both direct and indirect through subgroups classDef user stroke:green,color:green; root --> subgroup --> subsubgroup root-2 --> subgroup-2 --> subsubgroup-2 root-3 --> subgroup-3 --> subsubgroup-3 subgroup -. shared .-> subgroup-2 -. shared .-> subgroup-3 User-. member .- subgroup class User user