共享组的角色继承
Role inheritance with shared groups
考虑使用自托管的 GitLab 实例(社区版 12.10.8)。
让我们假设以下组设置:
- 集团
- 子组 1
- 子组 1.1(管理员)
- 子组 1.2
- 项目 A
现在,子组 1.1 被邀请到子组 1,角色为 所有者。
这个想法是子组 1.1 中的用户成员充当子组 1 和所有其他子组的管理员。
使用此设置,子组 1.1 ("Admins") 的用户可以访问子组 1.2 及其项目 A。在添加组之前情况并非如此,即用户已成为成员!但是,我观察到:
- 添加的用户或添加的组没有出现在子组1.2的成员列表中。
- 尽管 "Admins" 由于继承关系现在应该是子组 1.2 和项目 A 的 所有者,但他们无法删除项目 A。
如果我另外将用户作为 所有者 添加到子组 1,他将在子组 1.2 中显示为所有者,并且他可以删除项目 A。
为什么直接添加用户或通过群组添加用户会有不同?
在 Documentation 中说:
Similarly to sharing a project with a group, you can share a group with another group to give direct group members access to the shared
group. This is not valid for inherited members.
To share a given group, for example, ‘Frontend’ with another group,
for example, ‘Engineering’:
- Navigate to your ‘Frontend’ group page and use the left navigation menu to go to your group Members.
- Select the Invite group tab.
- Add ‘Engineering’ with the maximum access level of your choice.
- Click Invite.
All the members of the ‘Engineering’ group will have been added to
‘Frontend’.
对我来说,这听起来像是添加的群组成员与直接添加的用户具有相同的功能。
只有句子“This is not valid for inherited members.”可能是解释,但我认为我需要进一步解释。
有没有人明白这背后的逻辑?
预先感谢您的帮助!
浏览 GitLab issues 后,我得出的结论是,上述两个问题都是(已知的)错误,并在 GitLab 的问题中进行了讨论:
- https://gitlab.com/gitlab-org/gitlab/-/issues/213546
- https://gitlab.com/gitlab-org/gitlab/-/issues/219230
我想这和我们现在来的一样好。希望这两个问题都能尽快解决。
考虑使用自托管的 GitLab 实例(社区版 12.10.8)。 让我们假设以下组设置:
- 集团
- 子组 1
- 子组 1.1(管理员)
- 子组 1.2
- 项目 A
现在,子组 1.1 被邀请到子组 1,角色为 所有者。 这个想法是子组 1.1 中的用户成员充当子组 1 和所有其他子组的管理员。
使用此设置,子组 1.1 ("Admins") 的用户可以访问子组 1.2 及其项目 A。在添加组之前情况并非如此,即用户已成为成员!但是,我观察到:
- 添加的用户或添加的组没有出现在子组1.2的成员列表中。
- 尽管 "Admins" 由于继承关系现在应该是子组 1.2 和项目 A 的 所有者,但他们无法删除项目 A。
如果我另外将用户作为 所有者 添加到子组 1,他将在子组 1.2 中显示为所有者,并且他可以删除项目 A。
为什么直接添加用户或通过群组添加用户会有不同?
在 Documentation 中说:
Similarly to sharing a project with a group, you can share a group with another group to give direct group members access to the shared group. This is not valid for inherited members.
To share a given group, for example, ‘Frontend’ with another group, for example, ‘Engineering’:
- Navigate to your ‘Frontend’ group page and use the left navigation menu to go to your group Members.
- Select the Invite group tab.
- Add ‘Engineering’ with the maximum access level of your choice.
- Click Invite.
All the members of the ‘Engineering’ group will have been added to ‘Frontend’.
对我来说,这听起来像是添加的群组成员与直接添加的用户具有相同的功能。 只有句子“This is not valid for inherited members.”可能是解释,但我认为我需要进一步解释。
有没有人明白这背后的逻辑? 预先感谢您的帮助!
浏览 GitLab issues 后,我得出的结论是,上述两个问题都是(已知的)错误,并在 GitLab 的问题中进行了讨论:
- https://gitlab.com/gitlab-org/gitlab/-/issues/213546
- https://gitlab.com/gitlab-org/gitlab/-/issues/219230
我想这和我们现在来的一样好。希望这两个问题都能尽快解决。