하위 그룹
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
GitLab 그룹은 하위 그룹으로 구성할 수 있습니다. 하위 그룹의 특성은 다음과 같습니다. 그룹의 하위 그룹을 보려면 다음 단계를 따릅니다. 계층 목록에서 비공개 하위 그룹을 가진 공개 그룹에는 확장 옵션 ([chevron-down])이 표시되며, 이는 해당 그룹에 중첩된 하위 그룹이 있음을 나타냅니다.
GitLab 그룹은 하위 그룹으로 구성할 수 있습니다. 하위 그룹은 다음 용도로 사용합니다.
- 내부 콘텐츠와 외부 콘텐츠를 분리합니다. 모든 하위 그룹은 자체 공개 수준을 가질 수 있으므로, 목적이 다른 그룹을 같은 상위 그룹 아래에 둘 수 있습니다.
- 대규모 프로젝트를 조직합니다. 하위 그룹을 사용해 소스 코드의 일부에 누가 액세스할 수 있는지 관리할 수 있습니다.
- 권한을 관리합니다. 사용자가 멤버로 속한 각 그룹마다 서로 다른 권한을 부여합니다.
하위 그룹의 특성은 다음과 같습니다.
- 하나의 직접 상위 그룹에 속합니다.
- 여러 하위 그룹을 가질 수 있습니다.
- 최대 20단계까지 중첩할 수 있습니다. 성능 문제를 방지하려면 그룹을 최대 5단계 이하로 중첩합니다. 자세한 내용은 그룹 구조에 대한 권장 제한을 참고합니다.
- 상위 그룹에 등록된 러너를 사용합니다.
- 상위 그룹에 구성된 시크릿은 하위 그룹 job에서 사용할 수 있습니다.
- 하위 그룹에 속하는 프로젝트에서 Maintainer 또는 Owner 권한을 가진 사용자는 상위 그룹에 등록된 러너의 세부 정보를 볼 수 있습니다.
예시:
소스 코드 보기
%%{init: { "fontFamily": "GitLab Sans" }}%%
graph TD
accTitle: Parent and subgroup nesting
accDescr: How parent groups, subgroups, and projects nest.
subgraph "Parent group"
subgraph "Subgroup A"
subgraph "Subgroup A1"
G["Project E"]
end
C["Project A"]
D["Project B"]
E["Project C"]
end
subgraph "Subgroup B"
F["Project D"]
end
end</code></pre></details></div>
그룹의 하위 그룹 보기#
사전 요구 사항:
- 비공개 중첩 하위 그룹을 보려면 해당 비공개 하위 그룹의 직접 멤버이거나
상속된 멤버여야 합니다.
그룹의 하위 그룹을 보려면 다음 단계를 따릅니다.
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Subgroups and projects 탭을 선택합니다.
- 보려는 하위 그룹을 선택합니다.
중첩된 하위 그룹을 보려면 하위 그룹을 확장 ([chevron-down])합니다.
공개 상위 그룹의 비공개 하위 그룹#
계층 목록에서 비공개 하위 그룹을 가진 공개 그룹에는 확장 옵션 ([chevron-down])이 표시되며,
이는 해당 그룹에 중첩된 하위 그룹이 있음을 나타냅니다. 모든 사용자가 확장 옵션 ([chevron-down])을 볼 수 있지만, 비공개 하위 그룹의 직접 멤버나 상속된 멤버만 비공개 그룹을 볼 수 있습니다.
중첩된 하위 그룹의 존재 여부를 비공개로 유지하려면
비공개 하위 그룹은 비공개 상위 그룹에만 추가합니다.
하위 그룹 만들기#
사전 요구 사항:
- 다음 중 하나를 충족해야 합니다.
- 그룹에 대한 Maintainer 또는 Owner 권한
- 설정으로 지정된 권한. 이러한 사용자는 사용자 설정에서
관리자가 그룹 생성을 비활성화한 경우에도
하위 그룹을 만들 수 있습니다.
Note
GitLab Pages 하위 그룹 웹사이트는 최상위 도메인 이름으로 호스팅할 수 없습니다. 예를 들어 subgroupname.example.io는 사용할 수 없습니다.
하위 그룹을 만들려면 다음 단계를 따릅니다.
- 상단 바에서 Search or go to를 선택하고 하위 그룹을 만들려는 그룹을 찾습니다.
- 상위 그룹의 개요 페이지 오른쪽 위에서 New subgroup을 선택합니다.
- 필드를 입력합니다. 그룹 이름으로 사용할 수 없는 예약된 이름 목록을 확인합니다.
- Create subgroup을 선택합니다.
하위 그룹을 만들 수 있는 사용자 변경#
사전 요구 사항:
- 그룹 설정에 따라 그룹에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
그룹에서 하위 그룹을 만들 수 있는 사용자를 변경하려면 다음 단계를 따릅니다.
- 그룹에 대한 Owner 권한을 가진 사용자인 경우:
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- Settings > General을 선택합니다.
- Permissions and group features를 확장합니다.
- Roles allowed to create subgroups에서 옵션을 선택합니다.
- Save changes를 선택합니다.
- 관리자인 경우:
- 오른쪽 위에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Overview > Groups를 선택하고 그룹을 찾습니다.
- 해당 그룹 행에서 Edit를 선택합니다.
- Allowed to create subgroups 드롭다운 목록에서 옵션을 선택합니다.
- Save changes를 선택합니다.
자세한 내용은 권한 표를 참고합니다.
하위 그룹 멤버십#
히스토리
- GitLab 16.10에서
webui_members_inherited_users라는 기능 플래그와 함께 Members 페이지의 Members 탭에 초대된 그룹 멤버를 표시하도록 변경되었습니다. 기본적으로 비활성화되어 있습니다.
- GitLab 17.0에서 GitLab.com 및 GitLab Self-Managed에 활성화되었습니다.
- GitLab 17.4에서 기능 플래그
webui_members_inherited_users가 제거되었습니다. 초대된 그룹의 멤버가 기본적으로 표시됩니다.
그룹에 멤버를 추가하면 해당 멤버는 그 그룹의 모든 하위 그룹에도 추가됩니다.
멤버의 권한은 그룹에서 모든 하위 그룹으로 상속됩니다.
하위 그룹 멤버는 다음과 같이 구분됩니다.
- 하위 그룹의 직접 멤버.
- 하위 그룹의 상위 그룹에서 상속된 하위 그룹의 상속된 멤버.
- 하위 그룹의 최상위 그룹에 공유된 그룹의 멤버.
- 간접 멤버는 상속된 멤버와 하위 그룹 또는 그 상위 그룹에 초대된 그룹의 멤버를 포함합니다.
Mermaid 다이어그램 (25줄)소스 코드 보기
%%{init: { "fontFamily": "GitLab Sans" }}%%
flowchart RL
accTitle: Subgroup membership
accDescr: How users become members of a subgroup - through direct, indirect, or inherited membership.
subgraph Group A
A(Direct member)
B{{Shared member}}
subgraph Subgroup A
H(1#46; Direct member)
C{{2#46; Inherited member}}
D{{Inherited member}}
E{{3#46; Shared member}}
end
A-->|Direct membership of Group A\nInherited membership of Subgroup A|C
end
subgraph Group C
G(Direct member)
end
subgraph Group B
F(Direct member)
end
F-->|Group B\nshared with\nGroup A|B
B-->|Inherited membership of Subgroup A|D
G-->|Group C shared with Subgroup A|E
멤버의 그룹 권한은 다음 방법으로만 변경할 수 있습니다.
- 그룹에 대한 Owner 권한을 가진 사용자가 변경합니다.
- 멤버가 추가된 그룹의 구성을 변경합니다.
멤버십 상속 확인#
멤버가 상위 그룹에서 권한을 상속했는지 확인하려면 다음 단계를 따릅니다.
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Manage > Members를 선택합니다.
멤버의 상속 정보가 Source 칼럼에 표시됩니다.
예시 하위 그룹 Four의 멤버 목록:

위 스크린샷의 내용은 다음과 같습니다.
- 다섯 명의 멤버가 Four 그룹에 액세스할 수 있습니다.
- User 0은 Four 그룹에서 Reporter 권한을 가지며, One 그룹에서 권한을 상속했습니다.
- User 0은 One 그룹의 직접 멤버입니다.
- One 그룹은 계층에서 Four 그룹보다 상위에 있습니다.
- User 1은 Four 그룹에서 Developer 권한을 가지며, Two 그룹에서 권한을 상속했습니다.
- User 1은 One 그룹의 하위 그룹인 Two 그룹의 직접 멤버입니다.
- One / Two 그룹은 계층에서 Four 그룹보다 상위에 있습니다.
- User 2는 Four 그룹에서 Developer 권한을 가지며, Three 그룹에서 권한을 상속했습니다.
- User 2는 Two 그룹의 하위 그룹인 Three 그룹의 직접 멤버입니다. Two 그룹은
One 그룹의 하위 그룹입니다.
- One / Two / Three 그룹은 계층에서 Four 그룹보다 상위에 있습니다.
- User 3은 Four 그룹의 직접 멤버입니다. 따라서 Maintainer 권한을 Four 그룹에서 직접 받습니다.
- Administrator는 Four 그룹에서 Owner 권한을 가지며 모든 하위 그룹의 멤버입니다. 그래서 User 3과 마찬가지로
Source 칼럼에 직접 멤버로 표시됩니다.
멤버는 상속된 멤버십 또는 직접 멤버십으로 필터링할 수 있습니다.
상위 그룹 멤버십 재정의#
하위 그룹에서 Owner 권한을 가진 사용자는 해당 하위 그룹에 멤버를 추가할 수 있습니다.
사용자가 상위 그룹에서 가진 권한보다 낮은 권한을 하위 그룹에서 부여할 수는 없습니다.
상위 그룹에서의 권한을 재정의하려면 더 높은 권한으로 해당 사용자를 하위 그룹에 다시 추가합니다.
예를 들면 다음과 같습니다.
- User 1 이 Developer 권한으로 Two 그룹에 추가되면, User 1은 Two 그룹의 모든 하위 그룹에서 해당 권한을 상속합니다.
- One / Two / Three 아래의 Four 그룹에서 User 1에게 Maintainer 권한을 부여하려면, Maintainer 권한으로
User 1을 Four 그룹에 다시 추가합니다.
- User 1 이 Four 그룹에서 제거되면 해당 사용자의 권한은 Two 그룹에서의 권한으로 돌아갑니다. User 1은 Four 그룹에서
다시 Developer 권한을 가집니다.
하위 그룹 언급#
에픽, 이슈, 커밋, 머지 리퀘스트에서 하위 그룹을 언급(@<subgroup_name>)하면
해당 그룹의 모든 직접 멤버에게 알림이 전송됩니다. 하위 그룹의 상속된 멤버에게는 언급 알림이 전송되지 않습니다.
언급은 프로젝트 및 그룹에서와 동일하게 동작하며, 알림을 받을 멤버 그룹을 선택할 수 있습니다.