프로젝트 및 그룹 공유

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

초대를 통해 공유할 수 있습니다:

그룹과 함께 프로젝트 공유

그룹이 프로젝트에 액세스할 수 있도록 원할 때는 그룹을 프로젝트로 초대할 수 있습니다. 이를 통해 그룹의 직접 및 상속된 구성원이 프로젝트에 액세스하며 이는 공유된 프로젝트가 됩니다.

이 경우, 상속된 구성원은 공유된 그룹으로부터 상속된 구성원을 의미합니다. 공유된 그룹의 구성원만이 프로젝트에 액세스합니다. 그룹의 하위 그룹 구성원에게 프로젝트 액세스를 제공하려면 해당 하위 그룹을 공유해야 합니다.

다음 표는 공유된 프로젝트에 액세스하는 그룹 구성원을 개요로 제공합니다.

그룹 구성원 출처 공유된 프로젝트 액세스
공유된 그룹의 직접 구성원
공유된 그룹의 상속된 구성원
하위 그룹의 직접 구성원, 그러나 공유된 그룹의 구성원이 아님 아니요
하위 그룹의 상속된 구성원, 그러나 공유된 그룹의 구성원이 아님 아니요

초대 중인 그룹의 가시성 수준은 프로젝트의 것과 적어도 같아야 합니다. 예를 들어 다음을 초대할 수 있습니다:

  • 비공개 그룹을 비공개 프로젝트에.
  • 비공개 그룹을 내부 프로젝트에.
  • 비공개 그룹을 공개 프로젝트에.
  • 내부 그룹을 내부 프로젝트에.
  • 내부 그룹을 공개 프로젝트에.
  • 공개 그룹을 공개 프로젝트에.

프로젝트의 최상위 그룹이 계층 구조 외부로 프로젝트 공유를 허용하지 않는 경우, 초대된 그룹 또는 하위그룹은 프로젝트의 네임스페이스에 있어야 합니다.

프로젝트의 계층 구조에있는 그룹이 그룹과 프로젝트 공유를 허용하지 않는 경우, 그룹 초대 옵션이 사용 불가능합니다.

GitLab 16.6 및 그 이후 버전에서는 다음 중 하나에 해당될 때만 초대된 그룹의 이름과 멤버십 출처가 마스킹됩니다:

  • 초대된 그룹이 공개된 경우.
  • 현재 사용자가 초대된 그룹의 구성원인 경우.
  • 현재 사용자가 현재 그룹의 구성원인 경우.

구성원 액세스 및 역할

프로젝트를 공유하면 다음 구성원이 프로젝트에 액세스합니다:

추가로:

  • 그룹 페이지에서 프로젝트는 공유된 프로젝트 탭에 나열됩니다.
  • 프로젝트의 구성원 페이지에서 그룹은 그룹 탭에 나열됩니다.
  • 각 사용자에게 최대 역할이 할당됩니다.
  • 사용량 할당 페이지에서 프로젝트 초대 뱃지가 프로필 옆에 있는 구성원은 공유된 프로젝트의 최상위 그룹의 요금 청구 가능 구성원으로 집계됩니다.

예시

그룹/하위그룹01/프로젝트 네임스페이스의 프로젝트:

  • 그룹/하위그룹02 또는 그룹/하위그룹01/하위그룹03과 공유할 수 있습니다.
  • 프로젝트의 최상위 그룹이 계층 구조 외부로 프로젝트 공유를 허용하지 않는 경우 그룹_abc와 공유할 수 없습니다.

Group 1이 생성한 프로젝트의 경우:

  • Group 1의 구성원은 프로젝트에 액세스할 수 있습니다.
  • Group 1 소유자는 Group 2를 프로젝트로 초대할 수 있습니다. 이렇게 함으로써 Group 1Group 2의 구성원이 공유된 프로젝트에 액세스할 수 있습니다.

다른 그룹과 그룹을 공유

그룹에 그룹을 초대한 후:

  • 그룹 탭에 초대된 그룹이 나열됩니다. 이 목록은 공개 및 비공개 그룹을 모두 포함합니다. 초대된 그룹의 이름과 멤버십 출처는 초대된 그룹에 액세스 권한이 없는 구성원에게 마스킹됩니다.
  • 초대된 그룹의 직접 구성원은 초대한 그룹에 액세스할 수 있습니다. 초대된 그룹의 액세스와 초대한 그룹의 액세스 간에 가장 작은 액세스가 부여됩니다.
  • 초대된 그룹의 상속된 구성원은 초대한 그룹에 액세스하지 않습니다.
  • 사용량 할당 페이지에서 프로필 옆에 그룹 초대 뱃지가 있는 초대된 그룹의 직접 구성원은 초대한 그룹의 요금 청구 가능 구성원으로 집계됩니다.

예시

사용자 A그룹 1의 직접 멤버이며 해당 그룹에서 Maintainer 역할을 맡고 있습니다. 그룹 2는 Developer 역할로 그룹 1을 초대합니다. 사용자 A그룹 2에서 Developer 역할을 맡고 있습니다.

사용자 B그룹 1의 상속된 멤버입니다. 그러나 그룹 1이 초대될 때 그룹 2에 액세스할 수 없습니다.

협업을 위한 그룹 설정

그룹 내 프로젝트에서 외부 사용자와 협력할 계획이라면 다음과 같은 모범 사례를 고려해 보세요:

  • 조직의 요구에 따라 그룹과 하위 그룹을 논리적으로 구성해 보세요. 불필요한 그룹 생성을 피하세요.
  • 많은 사용자를 관리해야 하는 경우, 프로젝트를 구성하는 그룹과 분리된 사용자 그룹을 고려해 보세요. 이러한 사용자 그룹을 그룹 및 프로젝트에 공유하세요.
  • 프로젝트에 초대할 그룹을 신중하게 검토하세요. 액세스가 필요한 그룹만 초대하여 지나친 공유를 방지하고 보안을 유지하세요.
  • 그룹을 초대할 때:
    • 최대 역할을 적절하게 설정하세요. 기본적으로 가장 높은 역할을 할당하는 대신 필요한 최소한의 권한을 부여하는 것이 좋습니다.
    • 초대된 그룹의 하위 그룹에서 상속된 멤버도 프로젝트에 액세스할 수 있습니다. 이 경우 하위 그룹을 별도로 초대하는 것이 좋을 수 있습니다.
  • 프로젝트에 액세스할 수 있는 여러 그룹에 속한 사용자의 최대 역할을 확인하세요. 의도치 않은 고 권한을 방지하려면 사용자의 역할을 변경하는 것이 좋을 수 있습니다.
  • 공유 프로젝트에 대한 그룹 액세스를 정기적으로 검토하고 필요에 따라 업데이트하세요. 그룹이 더 이상 프로젝트에 액세스할 필요가 없다면 제거하세요.