用户组(User Groups)
用户组提供了一种可复用的层级化授权方式。管理员无需将相同的用户逐个添加到每个团队或仓库,只需定义一次用户组、添加成员,再将用户组分配给组织团队或仓库即可。
用户组自 Gitea Enterprise v26 起提供,仓库协作者用户组于 Gitea Enterprise v27 中新增。
- 打开
Site Administration > User Groups。 - 勾选 启用用户组(Enable user groups)。
- 保存设置。
启用后,系统会显示用户组管理页面、LDAP 用户组同步设置、团队用户组区块以及仓库协作者控制项。关闭该功能后,所有用户组相关的界面和路由都会被隐藏。
创建和管理用户组
Section titled “创建和管理用户组”- 打开
Site Administration > User Groups。 - 点击 新建用户组(New User Group)。
- 输入 名称(Name),并可选择填写 描述(Description)。
- 可选择 父级(Parent) 用户组来构建层级关系。一个用户组可以有多个父级:在用户组的编辑页面中,通过 同时属于(Also a child of) 添加其他父级(在那里选择另一个父级会替换该组的所有父级)。
- 将 Slug 留空即可从名称派生;也可以输入一个稳定的小写标识符,仅使用字母、数字、点、下划线和连字符。
- 点击 创建用户组(Create Group)。
在用户组的编辑页面中,您可以:
- 添加或移除单个成员
- 创建或查看子用户组
- 查看哪些组织团队和仓库正在使用该用户组或其祖先用户组(使用祖先用户组的团队、使用祖先用户组的仓库)
用户组名称在保存时会被规范化,因此仅大小写或首尾空格不同的名称指向同一个用户组。
层级关系与有效成员
Section titled “层级关系与有效成员”用户组可以嵌套。子用户组既包含自己的直接成员,也包含从所有父用户组继承而来的有效成员。有多个父级时,任一父级的成员都是该子组的有效成员。将用户组分配给团队或仓库后,该用户组的所有有效成员都会获得相应的访问权限。
将用户组分配给组织团队
Section titled “将用户组分配给组织团队”- 打开组织的
Teams页面,并选择一个团队。 - 打开 用户组(User Groups) 区块。
- 点击 添加用户组(Add User Group),并选择一个或多个用户组。
通过子用户组继承的成员也会被纳入团队。从源用户组移除成员后,通过该团队授予的访问权限也会被移除。
将用户组分配给仓库
Section titled “将用户组分配给仓库”从 Gitea Enterprise v27 开始,仓库管理员可以将用户组作为仓库协作者:
- 打开
Repository > Settings > Collaborators。 - 在 用户组(User Groups) 区块中搜索并添加用户组。
- 选择访问模式:读取、写入或管理员。
该用户组的有效成员会获得对应的仓库访问权限,同一页面还可以显示协作者用户组背后的用户列表。您可以在同一页面修改或移除仓库用户组。站点管理员也可以打开团队的用户组页面。
将 LDAP 组同步到用户组
Section titled “将 LDAP 组同步到用户组”用户组可以从 LDAP 认证源同步:
- 打开
Site Administration > Identity & Access > Authentication Sources,并编辑 LDAP 认证源。 - 将 LDAP 组同步模式(LDAP Group Synchronization Mode) 设置为 同步组到用户组(Synchronize groups to user groups)。
- 配置组的唯一 ID、名称、描述、父级检测策略和同步间隔。
- 保存认证源,然后选择 立即同步 LDAP 用户组(Sync LDAP User Groups Now) 执行一次初始同步。
同步会从目录中创建并更新用户组及其成员。认证源页面会显示最近一次同步状态。
Agents
Section titled “Agents”当 Agent 限制谁可以向它发出命令时,名单除用户和组织团队外还支持用户组。
从 Gitea Enterprise v27.3.8 开始,用户组成员的解析和更新可以扩展到大型实例:组织成员按批更新,涉及大量用户组或用户的查询不再触及数据库绑定参数上限,LDAP 同步也会读取大型 Active Directory 组的所有成员。
用户组于 Gitea Enterprise v26 中引入,仓库协作者用户组于 Gitea Enterprise v27 中新增。