하위 그룹

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

GitLab 그룹을 하위 그룹으로 구성할 수 있습니다. 하위 그룹을 사용하여 다음과 같은 목적으로 그룹을 호스팅할 수 있습니다.

  • 내부 및 외부 콘텐츠 분리. 각 하위 그룹은 가시성 수준을 가질 수 있기 때문에 동일한 상위 그룹 하에 다른 목적을 위한 그룹을 호스팅할 수 있습니다.
  • 대규모 프로젝트 구성. 하위 그룹을 사용하여 소스 코드의 일부에 액세스할 수 있는 사용자를 관리할 수 있습니다.
  • 권한 관리. 사용자에게 그룹 멤버 권한을 부여할 수 있으며 사용자별로 역할을 지정할 수 있습니다.

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

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

예시:

graph TD subgraph "상위 그룹" subgraph "하위 그룹 A" subgraph "하위 그룹 A1" G["프로젝트 E"] end C["프로젝트 A"] D["프로젝트 B"] E["프로젝트 C"] end subgraph "하위 그룹 B" F["프로젝트 D"] end end

그룹의 하위 그룹 보기

전제 조건:

  • 비공개 중첩 하위 그룹을 보려면 해당 비공개 하위 그룹의 직접 또는 상속 멤버여야 합니다.

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

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. Subgroups and projects 탭을 선택합니다.
  3. 보고 싶은 하위 그룹을 선택합니다. 중첩 하위 그룹을 보려면 하위 그룹을 확장합니다 ().

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

계층 목록에서 비공개 하위 그룹이 있는 공개 그룹은 확장 옵션 ()이 있으며 이는 해당 그룹에 중첩된 하위 그룹이 있음을 나타냅니다. 확장 옵션 ()은 모든 사용자에게 표시되지만 비공개 그룹은 해당 비공개 하위 그룹의 직접 또는 상속 멤버에게만 표시됩니다.

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

하위 그룹 생성

전제 조건:

  • 최소한의 그룹 Maintainer 역할이 있어야 합니다.
  • 관리자에 의해 그룹 생성이 사용 중지되었더라도 이 역할을 지정한 사용자는 하위 그룹을 만들 수 있습니다.

참고: 최상위 도메인 이름으로 GitLab Pages 하위 그룹 웹사이트를 호스팅할 수 없습니다. 예를 들어 subgroupname.example.io와 같이 사용할 수 없습니다.

하위 그룹을 만들려면:

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하고 하위 그룹을 만들고자 하는 그룹을 찾습니다.
  2. 상위 그룹 개요 페이지에서 오른쪽 상단에서 새로운 하위 그룹을 선택합니다.
  3. 필드를 채웁니다. 예약된 이름을 확인하여 그룹 이름으로 사용할 수 없는 이름의 목록을 확인합니다.
  4. 하위 그룹 만들기를 선택합니다.

하위 그룹 생성 권한 변경

전제 조건:

  • 그룹에 최소한 Maintainer 역할이 있어야 합니다.

그룹에서 하위 그룹을 만들 수 있는 사용자를 변경하려면:

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

자세한 내용은 권한 테이블을 확인하세요.

하위 그룹 멤버십

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

하위 그룹 멤버는 다음과 같을 수 있습니다.

  1. 하위 그룹의 직접 멤버.
  2. 하위 그룹의 상위 그룹에서 상속된 멤버.
  3. 하위 그룹의 최상위 그룹과 공유된 그룹의 멤버.
flowchart RL 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. 관리 > 멤버를 선택합니다. 멤버의 상속 여부는 소스(Souce) 열에 표시됩니다.

예를 들어, 하위 그룹 _Four_의 멤버 목록:

그룹 멤버 페이지

위 스크린샷에서:

  • 다섯 명의 멤버가 그룹 _Four_에 액세스 할 수 있습니다.
  • 사용자 0은 그룹 _Four_에서 Reporter 역할을 하고, 권한을 상위 그룹 _One_에서 상속 받았습니다:
    • 사용자 0은 그룹 _One_의 직접적인 멤버입니다.
    • 그룹 _One_은 그룹 _Four_보다 상위에 위치합니다.
  • 사용자 1은 그룹 _Four_에서 Developer 역할을 하고, 권한을 상위 그룹 _Two_에서 상속받았습니다:
    • 사용자 1은 그룹 _Two_의 직접적인 멤버이며, 그룹 _Two_는 그룹 _One_의 하위 그룹입니다.
    • 그룹 _One / Two_는 그룹 _Four_보다 상위에 위치합니다.
  • 사용자 2는 그룹 _Four_에서 Developer 역할을 하고, 권한을 상위 그룹 _Three_에서 상속받았습니다:
    • 사용자 2는 그룹 _Three_의 직접적인 멤버이며, 그룹 _Three_은 그룹 _Two_의 하위 그룹입니다. 그룹 _Two_는 그룹 _One_의 하위 그룹입니다.
    • 그룹 _One / Two / Three_은 그룹 _Four_보다 상위에 위치합니다.
  • 사용자 3은 그룹 _Four_의 직접적인 멤버입니다. 이는 사용자 3이 그룹 _Four_에서 직접적으로 Maintainer 역할을 받는다는 것을 의미합니다.
  • Administrator는 그룹 _Four_에서 Owner 역할을 하고, 모든 하위 그룹의 멤버입니다. 이에 따라 사용자 3과 마찬가지로 소스(Source) 열에서 직접 멤버임을 나타냅니다.

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

선조 그룹 멤버십 재정의

하위 그룹에서 Owner 역할을 가진 사용자는 해당 그룹에 멤버를 추가할 수 있습니다.

사용자가 상위 그룹에서 가진 역할보다 낮은 역할을 하위 그룹에서 사용자에게 줄 수 없습니다. 사용자의 역할을 상위 그룹에서 재정의하려면 사용자를 더 높은 역할로 다시 하위 그룹에 추가하면 됩니다. 예를 들어:

  • 사용자 1이 Developer 역할로 그룹 _Two_에 추가되면, 사용자 1은 그룹 _Two_의 모든 하위 그룹에서 해당 역할을 상속받습니다.
  • 사용자 1에게 그룹 Four (One / Two / Three 하위)에서 Maintainer 역할을 부여하려면, 사용자 1을 Maintainer 역할로 다시 그룹 _Four_에 추가하면 됩니다.
  • 사용자 1이 그룹 _Four_에서 제거되면, 사용자의 역할은 다시 그룹 _Two_에서의 역할로 돌아갑니다. 사용자 1은 다시 그룹 _Four_에서 Developer 역할을 받습니다.

하위 그룹 언급

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