프로젝트 멤버
Offering: GitLab.com, Self-managed, GitLab Dedicated
멤버는 당신의 프로젝트에 액세스 권한을 가진 사용자 및 그룹들을 의미합니다.
각 멤버는 프로젝트 내에서 수행할 수 있는 작업을 결정하는 역할을 부여받습니다.
멤버십 유형
사용자는 멤버십 유형을 정의하는 다양한 방법으로 그룹 또는 프로젝트의 멤버가 될 수 있습니다.
멤버십 유형 | 멤버십 프로세스 |
---|---|
직접 | 사용자가 현재 그룹이나 프로젝트에 직접 추가됩니다. |
상속 | 사용자가 현재 그룹이나 프로젝트를 포함하는 상위 그룹의 멤버입니다. |
직접 공유 | 사용자가 현재 그룹이나 프로젝트로 공유된 그룹 또는 프로젝트의 멤버입니다. |
상속된 공유 | 사용자가 현재 그룹이나 프로젝트로 공유된 그룹 또는 프로젝트의 상위 멤버입니다. |
프로젝트에 사용자 추가
프로젝트에 사용자를 추가하여 그들이 직접 멤버가 되고 작업을 수행할 수 있도록 권한을 부여합니다.
전제 조건:
- 소유자 또는 유지 보수자 역할이 있어야 합니다.
- 그룹 멤버십 잠금이 비활성화되어 있어야 합니다.
- 가입 비활성화되어 있는 경우, 관리자는 먼저 사용자의 이메일을 통해 사용자를 추가해야 합니다.
프로젝트에 사용자를 추가하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 멤버를 선택합니다.
- 멤버 초대를 선택합니다.
-
사용자:
- GitLab 계정이 있는 경우, 사용자 이름을 입력합니다.
- GitLab 계정이 없는 경우, 이메일 주소를 입력합니다.
- 기본 역할 또는 사용자 정의 역할을 선택합니다.
-
선택 사항. 액세스 만료 날짜를 선택합니다. 해당 날짜부터 사용자는 프로젝트에 더 이상 액세스할 수 없습니다.
액세스 만료 날짜를 선택한 경우, 프로젝트 멤버는 액세스 만료 7일 전에 이메일 알림을 받습니다.
멤버에게 유지 보수자 역할을 부여하고 만료 날짜를 선택하면 해당 멤버는 담당 기간 동안 모든 권한을 갖습니다. 이는 해당 멤버가 자신의 유지 보수자 역할을 연장할 수 있는 능력을 포함합니다. -
초대를 선택합니다. 사용자를 다음과 같은 방법으로 초대한 경우:
- GitLab 사용자 이름으로 초대했을 경우, 그들이 멤버 디렉터리에 추가됩니다.
- 이메일 주소로 초대했을 경우, 초대장이 이메일 주소로 전송되며, 사용자는 계정을 만들도록 안내받게 됩니다. 초대가 수락되지 않으면, GitLab은 2일, 5일, 10일 후에 알림 이메일을 보냅니다. 수락되지 않은 초대장은 90일 후에 자동으로 삭제됩니다.
할당할 수 있는 역할
할당할 수 있는 최대 역할은 그룹에 대해 소유자 또는 유지 보수자 역할이 있는지에 따라 달라집니다. 예를 들어, 할당할 수 있는 최대 역할은 다음과 같습니다:
- 프로젝트에 대해 소유자(
50
) 역할을 가지고 있는 경우. - 프로젝트에 대해 유지 보수자(
40
) 역할을 가지고 있는 경우.
GitLab 14.8 이전에는 프로젝트의 직접 멤버들은 최대로 유지 보수자 역할을 할당받았습니다. 소유자 역할은 그룹에만 추가할 수 있습니다.
상속된 멤버십
당신의 프로젝트가 그룹에 속해 있는 경우, 프로젝트 멤버는 그룹에서 역할을 상속받습니다.
이 예시에서:
- 세 명의 멤버가 프로젝트에 액세스 권한을 가지고 있습니다.
- 사용자 0은 보고자이며, demo 그룹을 포함한 프로젝트에서 역할을 상속받았습니다.
- 사용자 1은 프로젝트에 직접 추가되었습니다. 원본 열에서는 직접 멤버로 나열되어 있습니다.
- 관리자는 소유자이며 모든 그룹의 멤버입니다. 그들은 demo 그룹에서 프로젝트로 역할을 상속받았습니다.
사용자가:
- 프로젝트의 직접 멤버이면, 만료 및 최대 역할 필드를 프로젝트에서 직접 업데이트할 수 있습니다.
- 상위 그룹에서 상속된 멤버이면, 만료 및 최대 역할 필드를 원본 그룹에서 업데이트해야 합니다.
프로젝트에 그룹 추가
- 변경됨 GitLab 13.11에서 양식에서 모달 창 플래그와 함께로 변경. 기본 설정에서 비활성화됨.
- 모달 창은 GitLab 14.8에서 GitLab.com 및 Self-managed된 GitLab에서 사용 가능 상태로 변경됨.
- GitLab 14.9에서 일반 사용 가능. 피처 플래그 ‘invite_members_group_modal’ 삭제됨.
프로젝트에 그룹을 추가하면 모든 그룹 멤버(직접 또는 상속된)가 프로젝트에 액세스합니다. 각 멤버의 액세스 권한은 다음을 기반으로 합니다:
- 그룹에서 할당된 역할.
- 그룹을 초대할 때 선택한 최대 역할.
그룹 멤버 중 그룹 역할에 대해 보다 적은 권한을 가진 경우, 해당 멤버는 프로젝트 역할의 권한만 유지합니다. 예를 들어, 최대 역할이 유지 보수자인 프로젝트에 게스트 역할을 가진 멤버를 추가하는 경우, 해당 멤버는 프로젝트에서 게스트 역할의 권한만 가집니다.
전제 조건:
- 소유자 또는 유지 보수자 역할이 있어야 합니다.
- 다른 그룹과 프로젝트를 공유하는 것이 방지되어 있어야 합니다.
프로젝트에 그룹을 추가하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 멤버를 선택합니다.
- 그룹 초대를 선택합니다.
- 그룹을 선택합니다.
- 그룹의 사용자를 위한 최고 역할을 선택합니다.
- 선택 사항. 액세스 만료 날짜를 선택합니다. 해당 날짜부터 그룹은 더 이상 프로젝트에 액세스할 수 없습니다.
- 초대를 선택합니다.
초대된 그룹은 그룹 탭에 표시됩니다. 비인가된 사용자에게는 비공개 그룹이 표시되지 않습니다. 비공개 그룹은 보호된 브랜치, 보호된 태그 및 보호된 환경의 프로젝트 설정에 표시됩니다. 초대된 그룹의 멤버는 멤버 탭에 표시되지 않습니다. 멤버 탭에는 다음이 표시됩니다:
- 프로젝트에 직접 추가된 멤버.
- 프로젝트가 추가된 네임스페이스의 상속된 멤버.
프로젝트를 그룹과 공유하기
사용자를 하나씩 추가하는 대신 전체 그룹과 프로젝트를 공유할 수 있습니다.
다른 프로젝트에서 회원 가져오기
다른 프로젝트의 직접적 회원을 여러분의 프로젝트로 가져올 수 있습니다. 가져온 프로젝트 회원은 가져온 프로젝트와 동일한 권한을 유지합니다.
전제 조건:
- Maintainer 또는 Owner 역할이어야 합니다.
대상 프로젝트에서 가져온 회원의 역할이:
- Maintainer인 경우, 소스 프로젝트에서 Owner 역할인 회원이 Maintainer 역할로 가져옵니다.
- Owner인 경우, 소스 프로젝트에서 Owner 역할인 회원은 Owner 역할로 가져옵니다.
프로젝트 회원 가져오기:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 회원을 선택합니다.
- 프로젝트에서 가져오기를 선택합니다.
- 프로젝트를 선택합니다. 유지관리자인 경우에만 볼 수 있는 프로젝트를 볼 수 있습니다.
- 프로젝트 회원 가져오기를 선택합니다.
가져오기가 성공하면 성공 메시지가 표시됩니다. 회원 탭에서 가져온 회원을 보려면 페이지를 새로 고칩니다.
프로젝트에서 회원 제거하기
사용자가:
- 프로젝트의 직접적 멤버인 경우, 해당 프로젝트에서 직접 제거할 수 있습니다.
- 상위 그룹에서 상속받은 멤버인 경우, 해당 사용자는 해당 상위 그룹에서만 제거할 수 있습니다.
전제 조건:
- 다음 역할을 가진 직접적 멤버를 제거하려면:
- Maintainer, Developer, Reporter, 또는 Guest 역할을 가진 경우 Maintainer 역할이어야 합니다.
- Owner 역할을 가진 경우 Owner 역할이어야 합니다.
- 선택 사항입니다. 해당 멤버가 할당된 모든 이슈와 Merge Request에서 할당을 해제합니다.
프로젝트에서 회원을 제거하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 회원을 선택합니다.
- 제거할 프로젝트 회원 옆에서 회원 제거를 선택합니다.
- 선택 사항입니다. 확인 대화 상자에서 해당 사용자를 관련된 이슈 및 Merge Request에서도 할당 해제합니다 확인란을 선택합니다.
- 개인 프로젝트의 민감한 정보 유출을 방지하려면 해당 회원이 개인 리포지터리에서 포크를 생성하지 않았거나 웹훅을 만들지 않았는지 확인합니다. 기존 포크는 상위 프로젝트에서 계속해서 변경을 받고, 웹훅은 계속해서 업데이트를 받습니다. 또한 여러분의 프로젝트를 그룹 외부에서 포크하지 못하도록 프로젝트를 구성할 수도 있습니다. (그룹 내에서 프로젝트가 그룹 외부에서 포크되는 것을 방지)합니다.
- 회원 제거를 선택합니다.
제거된 사용자가 스스로 다시 초대받지 못하도록 보장하기
Maintainer 또는 Owner 역할을 가진 악의적인 사용자가 스스로를 GitLab 관리자가 해당 사용자를 제거한 그룹 또는 프로젝트에 다시 초대할 수 있는 경쟁 조건을 악용할 수 있습니다.
이 문제를 방지하려면 GitLab 관리자는 다음을 할 수 있습니다:
- GitLab Rails 콘솔에서 악의적인 사용자 세션 제거
- 악의적인 사용자를 통해:
- 프로젝트에서 사용자 제거
- GitLab에서 사용자 로그아웃
- 악의적인 사용자 계정 차단
- 악의적인 사용자 계정 제거
- 악의적인 사용자 계정의 비밀번호 변경
프로젝트 회원 필터링 및 정렬
- GitLab 12.6에서 도입됨.
- GitLab 13.9에서 개선됨.
- GitLab 13.10에서 피처 플래그 제거됨.
프로젝트의 회원을 필터링하고 정렬할 수 있습니다.
직접 회원 표시
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 회원을 선택합니다.
-
회원 필터링 상자에서
멤버십
=
직접
을 선택합니다. - Enter를 누릅니다.
상속받은 회원 표시
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 회원을 선택합니다.
-
회원 필터링 상자에서
멤버십
=
상속받음
을 선택합니다. - Enter를 누릅니다.
프로젝트에서 회원 검색
프로젝트 회원을 검색하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 회원을 선택합니다.
- 검색 상자에 회원의 이름, 사용자 이름 또는 이메일을 입력합니다.
- Enter를 누릅니다.
프로젝트 회원 정렬
회원을 오름차순 또는 내림차순으로 정렬할 수 있습니다:
- 계정 이름
- 부여된 액세스 날짜
- 그룹에서 회원이 가진 최대 역할
- 사용자 생성 날짜
- 마지막 활동 날짜
- 마지막 로그인 날짜
회원 정렬하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 관리 > 회원을 선택합니다.
- 회원 디렉터리 상단에서 드롭다운 디렉터리에서 원하는 항목을 선택합니다.
프로젝트에 액세스 요청
GitLab 사용자는 프로젝트의 멤버가 되도록 요청할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 멤버가 되길 원하는 프로젝트를 찾습니다.
- 프로젝트 이름 옆에 액세스 요청을 선택합니다.
가장 최근에 활동한 프로젝트 유지관리자 또는 소유자에게 이메일이 전송됩니다. 최대 열명의 프로젝트 유지관리자 또는 소유자에게 알림이 전송됩니다. 프로젝트 소유자 또는 유지관리자는 요청을 승인하거나 거절할 수 있습니다. 프로젝트 유지관리자는 Owner 역할 액세스 요청을 승인할 수 없습니다.
프로젝트에 대한 직접적인 소유자나 유지관리자가 없는 경우, 알림이 해당 프로젝트의 상위 그룹의 가장 최근에 활동한 소유자에게 전송됩니다.
프로젝트에 대한 액세스 요청 철회하기
요청이 승인되기 전에 프로젝트에 대한 액세스 요청을 철회할 수 있습니다. 액세스 요청을 철회하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 액세스 요청한 프로젝트를 찾습니다.
- 프로젝트 이름 옆에 액세스 요청 철회를 선택합니다.
프로젝트 액세스 요청 차단
프로젝트로의 액세스 요청을 방지할 수 있습니다.
전제 조건:
- 프로젝트에 대한 소유자 역할이 있어야 합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트 기능, 권한을 확장합니다.
- 프로젝트 가시성 아래에서 사용자가 액세스 요청을 할 수 있음을 선택합니다.
- 변경 사항 저장을 선택합니다.
멤버십 및 가시성 권한
그룹 또는 프로젝트의 멤버십 유형에 따라 다양한 가시성 수준과 권한이 부여됩니다.
다음 표는 프로젝트 구성원의 멤버십 및 가시성 권한을 나열합니다.
동작 | 직접 프로젝트 구성원 | 상속된 프로젝트 구성원 | 직접 공유된 프로젝트 구성원 | 상속된 공유된 프로젝트 구성원 |
---|---|---|---|---|
보드 생성 | 가능 | 가능 | 가능 | 가능 |
상위 그룹 이슈 보기 1 | 가능 | 가능 | 가능 | 가능 |
상위 그룹 레이블 보기 | 가능 | 가능 | 가능 | 가능 |
상위 그룹 마일스톤 보기 | 가능 | 가능 | 가능 | 가능 |
다른 그룹으로 공유 | 가능 | 불가능 | 불가능 | 불가능 |
다른 프로젝트로 가져오기 | 가능 | 불가능 | 불가능 | 불가능 |
프로젝트를 다른 구성원과 공유 | 가능 | 가능 | 가능 | 가능 |
다음 표는 그룹 구성원의 멤버십 및 가시성 권한을 나열합니다.
동작 | 직접 그룹 구성원 | 상속된 그룹 구성원 | 직접 공유된 그룹 구성원 | 상속된 공유된 그룹 구성원 |
---|---|---|---|---|
보드 생성 | 가능 | 가능 | 가능 | 가능 |
상위 그룹 이슈 보기 | 가능 | 가능 | 가능 | 가능 |
상위 그룹 레이블 보기 | 가능 | 가능 | 가능 | 가능 |
상위 그룹 마일스톤 보기 | 가능 | 가능 | 가능 | 가능 |
- 사용자는 액세스 권한이 있는 프로젝트의 이슈만 볼 수 있습니다.
다음 예제에서 User
는 다음과 같습니다:
-
subgroup
의 직접 구성원입니다. -
subsubgroup
의 상속된 구성원입니다. -
subgroup-2
및subgroup-3
의 간접 구성원입니다. -
subsubgroup-2
및subsubgroup-3
의 간접 상속된 구성원입니다.