하위 그룹(Subgroups)

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

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

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

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

  • 하나의 즉시 상위 그룹에 속합니다.
  • 여러 개의 하위 그룹을 가질 수 있습니다.
  • 최대 20단계로 중첩될 수 있습니다.
  • 상위 그룹에 등록된 러너(runner)를 사용할 수 있습니다.
    • 상위 그룹에 구성된 시크릿은 하위 그룹 작업에서 사용할 수 있습니다.
    • 하위 그룹에 속한 프로젝트의 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. 하위 그룹 및 프로젝트 탭을 선택합니다.
  3. 보고 싶은 하위 그룹을 선택합니다. 중첩된 하위 그룹을 보려면 하위 그룹을 확장합니다 ().

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

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

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

하위 그룹 생성

전제 조건:

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

하위 그룹을 만들려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 하위 그룹을 만들 그룹을 찾습니다.
  2. 상위 그룹 개요 페이지에서 오른쪽 상단의 새로운 하위 그룹을 선택합니다.
  3. 필드를 채우세요. 예약된 이름 디렉터리을 보려면 선택하세요.
  4. 하위 그룹 생성을 선택하세요.

하위 그룹 생성 권한 변경

전제 조건:

  • 그룹에 Maintainer 역할 이상을 역할을 가져야 합니다.

그룹에서 하위 그룹을 생성할 수 있는 권한을 변경하려면:

  • 그룹의 Owner 역할을 가진 사용자로서:
    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
    2. 설정 > 일반을 선택합니다.
    3. 권한 및 그룹 기능을 확장합니다.
    4. 하위 그룹 생성이 허용된 역할에서 옵션을 선택하세요.
    5. 변경 사항 저장을 선택하세요.
  • 관리자로서:
    1. 왼쪽 사이드바에서 제일 하단에 있는 관리자 영역을 선택하세요.
    2. 왼쪽 사이드바에서 개요 > 그룹을 선택하고 그룹을 찾습니다.
    3. 그룹의 행에서 편집을 선택하세요.
    4. 하위 그룹 생성 허용 대상 드롭다운 디렉터리에서 옵션을 선택하세요.
    5. 변경 사항 저장을 선택하세요.

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

하위 그룹 멤버십

  • GitLab 16.10에서 GitLab 16.10 멤버 페이지의 Memers 탭에서 초대된 그룹 멤버를 표시하도록 변경되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 17.0에서 GitLab.com 및 Self-Managed에서 활성화되었습니다.
자체 호스트형 GitLab을 사용하는 경우, 기본적으로 이 기능을 사용할 수 있습니다. 특정 사용자로 하여금 이 기능을 비활성화하도록 관리자가 피처 플래그webui_members_inherited_users를 비활성화 할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 있습니다.

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

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

  1. 하위 그룹의 직접 멤버
  2. 하위 그룹의 상위 그룹에서 상속된 멤버
  3. 하위 그룹의 최상위 그룹과 공유된 그룹의 멤버
  4. 직간접 멤버상속된 멤버 및 최상위 그룹 또는 해당 조상에 초대된 그룹의 멤버를 포함합니다.
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

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

  • 그룹의 Owner 역할을 가진 사용자
  • 멤버가 추가된 그룹의 구성을 변경함으로써.

멤버십 상속 확인

멤버가 상위 그룹에서 권한을 상속했는지 확인하려면:

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

예시 하위 그룹 _Four_의 멤버 디렉터리:

그룹 멤버 페이지

위의 스크린샷에서:

  • 다섯 명의 멤버가 그룹 _Four_에 액세스 권한을 갖습니다.
  • 사용자 0은 그룹 _One_에서 Reporter 역할을 가지고 있으며, 해당 권한을 그룹 _Four_에 상속받았습니다:
    • 사용자 0은 그룹 _One_의 직접 멤버입니다.
    • 그룹 _One_이 그룹 _Four_보다 위에 있습니다.
  • 사용자 1은 그룹 _Two_에서 Developer 역할을 가지고 있으며, 해당 권한을 그룹 _Four_에 상속받았습니다:
    • 사용자 0은 그룹 _Two_의 직접 멤버로, 이 그룹은 그룹 _One_의 하위 그룹입니다.
    • 그룹 _One / Two_가 그룹 _Four_보다 위에 있습니다.
  • 사용자 2는 그룹 _Three_에서 Developer 역할을 가지고 있으며, 해당 권한을 그룹 _Four_에 상속받았습니다:
    • 사용자 0은 그룹 _Three_의 직접 멤버로, 이 그룹은 그룹 _One / Two_의 하위 그룹입니다.
    • 그룹 _One / Two / Three_가 그룹 _Four_보다 위에 있습니다.
  • 사용자 3은 그룹 _Four_의 직접 멤버입니다. 이는 그룹 _Four_에서 직접 Maintainer 역할을 받았음을 나타냅니다.
  • 관리자는 그룹 _Four_에서 Owner 역할을 가지며 모든 하위 그룹의 멤버입니다. 따라서 사용자 3과 마찬가지로 원본 열은 이 사용자가 직접 멤버임을 나타냅니다.

멤버는 상속되거나 직접적인 멤버십에 따라 필터링될 수 있습니다.

조상 그룹 멤버십 재정의

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

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

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

하위 그룹 언급

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