하위 그룹

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab 그룹을 하위 그룹으로 구성할 수 있습니다. 하위 그룹을 사용하여 다음을 수행할 수 있습니다:

  • 내부 및 외부 콘텐츠 분리. 각 하위 그룹에는 고유의 가시성 수준이 있으므로 동일한 상위 그룹 내에서 다른 목적의 그룹을 호스팅할 수 있습니다.
  • 대규모 프로젝트 조직화. 하위 그룹을 사용하여 소스 코드의 일부에 액세스할 수 있는 사용자를 관리할 수 있습니다.
  • 권한 관리. 사용자에게 역할을 할당하여 그들이 소속된 각 그룹마다 다른 역할을 가지도록 합니다.

하위 그룹은 다음을 수행할 수 있습니다:

  • 하나의 즉시 상위 그룹에 속합니다.
  • 많은 하위 그룹을 가질 수 있습니다.
  • 최대 20단계까지 중첩될 수 있습니다.
  • 상위 그룹에 등록된 런너를 사용합니다:
    • 상위 그룹에 구성된 비밀은 하위 그룹 작업에서 사용할 수 있습니다.
    • 하위 그룹에 속한 프로젝트의 적어도 Maintainer 역할을 가진 사용자는 상위 그룹에 등록된 러너의 세부 정보를 볼 수 있습니다.

예를들어:

%%{init: { "fontFamily": "GitLab Sans" }}%% graph TD accTitle: 상위 및 하위 그룹 중첩 accDescr: 상위 그룹, 하위 그룹 및 프로젝트가 어떻게 중첩되는지 보여줌. subgraph "상위 그룹" subgraph "하위 그룹 A" subgraph "하위 그룹 A1" G["프로젝트 E"] end C["프로젝트 A"] D["프로젝트 B"] E["프로젝트 C"] end subgraph "하위 그룹 B" F["프로젝트 D"] end end

그룹의 하위 그룹 보기

전제 조건:

  • 비공개 중첩 하위 그룹을 보려면 해당 비공개 하위 그룹의 직간접적인 멤버여야 합니다.

그룹의 하위 그룹을 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 해당 그룹을 찾습니다.
  2. 하위 그룹 및 프로젝트 탭을 선택합니다.
  3. 보려는 하위 그룹을 선택합니다. 중첩된 하위 그룹을 보려면 하위 그룹을 확장합니다 ().

공개 상위 그룹의 비공개 하위 그룹

계층 목록에서, 비공개 하위 그룹을 포함하는 공개 그룹은 확장 옵션()이 있으며, 이는 해당 그룹에 중첩된 하위 그룹이 있다는 것을 나타냅니다. 모든 사용자가 확장 옵션()을 볼 수 있지만, 비공개 하위 그룹의 직간접적인 멤버만 해당 비공개 그룹을 볼 수 있습니다.

만약 중첩된 하위 그룹의 존재 정보를 비공개로 유지하고 싶다면, 비공개 상위 그룹에만 비공개 하위 그룹을 추가해야 합니다.

하위 그룹 생성

전제 조건:

참고: 최상위 도메인 이름을 가진 GitLab Pages 하위 그룹 웹사이트를 호스트할 수 없습니다. 예: subgroupname.example.io.

하위 그룹을 생성하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 하위 그룹을 생성할 그룹을 찾습니다.
  2. 상위 그룹 전체 페이지에서 오른쪽 상단에 새로운 하위 그룹을 선택합니다.
  3. 필드를 작성합니다. 예약된 이름 목록을 보려면 클릭하세요.
  4. 하위 그룹 생성을 선택합니다.

하위 그룹 생성 권한 변경

전제 조건:

  • 그룹에서 적어도 Maintainer 역할을 해야 합니다.

그룹에서 하위 그룹을 생성할 수 있는 사용자 역할을 변경하려면:

  • 그룹의 소유자 역할을 가진 사용자로서:
    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 해당 그룹을 찾습니다.
    2. 설정 > 일반을 선택합니다.
    3. 권한 및 그룹 기능을 확장합니다.
    4. 하위 그룹 생성이 허용된 역할에서 옵션을 선택합니다.
    5. 변경 사항 저장을 선택합니다.
  • 관리자로서:
    1. 왼쪽 사이드바에서 맨 아래쪽에 있는 관리를 선택합니다.
    2. 왼쪽 사이드바에서 개요 > 그룹을 선택하고 해당 그룹을 찾습니다.
    3. 그룹 행에서 편집을 선택합니다.
    4. 하위 그룹 생성이 허용된 역할 드롭다운 목록에서 옵션을 선택합니다.
    5. 변경 사항 저장을 선택합니다.

자세한 정보는 권한 테이블을 참조하세요.

하위 그룹 멤버십

  • GitLab 16.10에서 Members 페이지의 Members 탭에서 초대된 그룹 멤버를 표시하도록 변경되었으며, webui_members_inherited_users라는 플래그가 함께 제공됩니다. 기본적으로 비활성화됩니다.
  • GitLab 17.0에서 GitLab.com 및 Self-managed에서 활성화되었습니다.
  • 기능 플래그 webui_members_inherited_usersGitLab 17.4에서 제거되었습니다. 초대된 그룹의 멤버는 기본적으로 표시됩니다.

그룹에 멤버를 추가하면 해당 멤버는 해당 그룹의 모든 하위 그룹에 추가됩니다. 멤버의 권한은 그룹에서 모든 하위 그룹으로 상속됩니다.

하위 그룹 멤버는 다음 중 하나일 수 있습니다:

  1. 하위 그룹의 직접 멤버.
  2. 하위 그룹에서 상속된 멤버.
  3. 상위 그룹이 최상위 그룹에 공유된 그룹의 멤버.
  4. 간접 멤버는 상속된 멤버 및 하위 그룹 또는 조상에 초대된 그룹의 멤버를 포함합니다.
%%{init: { "fontFamily": "GitLab Sans" }}%% flowchart RL accTitle: 하위 그룹 멤버십 accDescr: 사용자가 직접 멤버, 간접 멤버 또는 상속된 멤버로써 어떻게 하위 그룹의 멤버인지 보여줌. subgraph 그룹 A A(직접 멤버) B{{공유된 멤버}} subgraph 하위 그룹 A H(1. 직접 멤버) C{{2. 상속된 멤버}} D{{상속된 멤버}} E{{3. 공유된 멤버}} end A-->|그룹 A의 직접 멤버로\n하위 그룹 A의 상속된 멤버로|C end subgraph 그룹 C G(직접 멤버) end subgraph 그룹 B F(직접 멤버) end F-->|그룹 B가\n그룹 A와 공유함|B B-->|하위 그룹 A의 상속된 멤버로|D G-->|그룹 C가 하위 그룹 A와 공유함|E

멤버의 그룹 권한은 다음에서만 변경할 수 있습니다:

  • 그룹에서 소유자 역할을 가진 사용자.
  • 해당 멤버가 추가된 그룹의 구성 변경.

멤버십 상속 결정

멤버가 상위 그룹으로부터 권한을 상속 받았는지 확인하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 관리 > 멤버를 선택합니다. 멤버의 상속 여부는 소스(Source) 열에 표시됩니다.

예제 서브그룹 _Four_의 멤버 목록:

그룹 멤버 페이지

위의 스크린샷에서:

  • 다섯 명의 멤버가 그룹 _Four_에 액세스 권한을 갖고 있습니다.
  • 사용자 0은 그룹 _Four_에서 리포터(Role) 역할을 하며 해당 권한을 그룹 _One_에서 상속받았습니다:
    • 사용자 0은 그룹 _One_의 직접 멤버입니다.
    • 그룹 _One_은 그룹 _Four_보다 상위에 있습니다.
  • 사용자 1은 그룹 _Four_에서 개발자(Role) 역할을 하며 해당 권한을 그룹 _Two_에서 상속받았습니다:
    • 사용자 1은 그룹 _Two_의 직접 멤버이며, 이 그룹은 그룹 _One_의 하위 그룹입니다.
    • 그룹 _One / Two_는 그룹 _Four_보다 상위에 있습니다.
  • 사용자 2은 그룹 _Four_에서 개발자(Role) 역할을 하며 해당 권한을 그룹 _Three_에서 상속받았습니다:
    • 사용자 2은 그룹 _Three_의 직접 멤버이며, 이 그룹은 그룹 _Two_의 하위 그룹입니다. 그룹 _Two_는 그룹 _One_의 하위 그룹입니다.
    • 그룹 _One / Two / Three_는 그룹 _Four_보다 상위에 있습니다.
  • 사용자 3은 그룹 _Four_의 직접 멤버입니다. 이는 그룹 _Four_에서 직접 Maintainer 역할을 받는다는 것을 의미합니다.
  • 관리자는 그룹 _Four_에서 소유자(Role) 역할을 하며 모든 하위 그룹의 멤버입니다. 따라서 사용자 3과 마찬가지로 소스(Source) 열에서 직접 멤버임을 나타냅니다.

멤버는 상속 또는 직접 멤버십으로 필터링할 수 있습니다.

조상 그룹 멤버십 재정의

서브그룹에서 소유자(Role) 역할을 가진 사용자는 해당 그룹에 멤버를 추가할 수 있습니다.

사용자에게 부모 그룹에서 가진 권한보다 낮은 서브그룹에서의 역할을 지정할 수 없습니다. 사용자의 부모 그룹에서의 역할을 무시하려면 사용자를 더 높은 역할로 다시 서브그룹에 추가하면 됩니다. 예를 들어:

  • 사용자 1이 개발자(Role) 역할로 그룹 _Two_에 추가되면, 사용자 1은 그룹 _Two_의 모든 서브그룹에서 해당 역할을 상속합니다.
  • 사용자 1에게 그룹 _One / Two / Three_의 하위인 그룹 _Four_에서 Maintainer 역할을 부여하려면, 사용자 1을 Maintainer 역할로 다시 그룹 _Four_에 추가합니다.
  • 사용자 1이 그룹 _Four_에서 제거되면, 사용자의 역할은 그룹 _Two_에서의 역할로 다시 되돌아갑니다. 사용자 1은 다시 그룹 _Four_에서 개발자(Role) 역할을 가지게 됩니다.

서브그룹 언급

epic, 이슈, 커밋, 병합 요청에 서브그룹을 언급(@<subgroup_name>)하면 해당 그룹의 모든 직접 멤버에게 알림이 전송됩니다. 서브그룹의 상속 멤버는 멘션을 통해 알림을 받지 않습니다. 멘션은 프로젝트와 그룹에 대해 동일하게 작동하며, 알림을 받을 멤버의 그룹을 선택할 수 있습니다.