멤버와 권한 관리
GitLab의 그룹과 프로젝트에 사용자를 초대하고 권한을 부여할 수 있습니다. 사용자는 특정 그룹이나 프로젝트에서 가지고 있는 액세스 수준에 따라 다른 능력을 갖습니다. GitLab에서는 Guest
, Reporter
, Developer
, Maintainer
, Owner
로 역할을 구분하여 접근 권한을 부여합니다.
역할 권한
Owner
기본적으로 그룹이나 프로젝트를 생성한 사람이 가지며, 그룹에서는 추가적으로 구성원에게도 부여할 수 있습니다. 그룹 또는 프로젝트에서 모든 권한을 가집니다. 일반적으로 팀장이나 PM 등 프로젝트 및 제품을 관리하는 사람에게 부여합니다.
Maintainer
그룹 또는 프로젝트 수정/삭제, 그룹 회원 관리 등 일부 기능을 제외하고 Owner
의 대부분 권한을 가집니다. Master에 Push 하고 Production으로 배포할 수 있습니다. 주로 업무를 배정하고 Merge Request를 승인하는 PL이나 시니어 엔지니어에게 부여합니다. 코드 리뷰를 하며 제품 및 코드베이스(codebase)를 알고 있어야 합니다.
Developer
개발 또는 유지보수를 담당하는 개발자에게 부여합니다. 기본적으로 Master 브랜치, 추가적으로 설정한 Develop 브랜치와 같은 Protected 브랜치에는 Push 할 수 없습니다. 할당된 업무를 진행하기 위해 Feature 브랜치를 생성하고, 신규 기능 개발 또는 기존 기능 수정이 완료되면 소스를 Feature 브랜치에 Push 후 워크플로우에 따라 Merge Request를 작성하여 승인을 요청합니다.
Reporter
리포지터리(Repository)에 쓸 수는 없지만, 이슈를 할당하거나 이슈 가중치를 설정하는 등의 이슈 관리와 Merge Request를 만들 수 있습니다.
Guest
프로젝트에 적극적인 기여자는 아니지만, 이슈를 만들거나 코멘트(댓글)를 남김으로써 협업에 기여할 수 있습니다.
프로젝트 구성원 권한
아래 표는 프로젝트의 다양한 사용자 권한 수준을 보여줍니다.
Action | Guest | Reporter | Developer | Maintainer | Owner |
---|---|---|---|---|---|
프로젝트 다운로드 | ✓(1) | ✓ | ✓ | ✓ | ✓ |
코멘트(댓글) 남기기 | ✓ | ✓ | ✓ | ✓ | ✓ |
허용 및 거부된 라이선스(licenses) 보기 (ULTIMATE) | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
라이선스 준수 보고서 보기 (ULTIMATE) | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
보안 보고서 보기 (ULTIMATE) | ✓ (3) | ✓ | ✓ | ✓ | ✓ |
의존성 목록 보기 (ULTIMATE) | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
라이선스 목록 보기 (ULTIMATE) | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
의존성 목록에서 라이선스 보기 (ULTIMATE) | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
Design Management 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ |
프로젝트 코드 보기 | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
프로젝트 코드 가져오기(Pull) | ✓ (1) | ✓ | ✓ | ✓ | ✓ |
액세스 제어로 보호되는 GitLab Pages 보기 | ✓ | ✓ | ✓ | ✓ | ✓ |
위키(wiki) 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ |
작업(Job) 목록 보기 | ✓ (3) | ✓ | ✓ | ✓ | ✓ |
작업(Job) 로그 보기 | ✓ (3) | ✓ | ✓ | ✓ | ✓ |
작업 아티팩트(artifacts) 다운로드 및 찾아보기 | ✓ (3) | ✓ | ✓ | ✓ | ✓ |
새로운 이슈 만들기 | ✓ | ✓ | ✓ | ✓ | ✓ |
관련 이슈 보기 | ✓ | ✓ | ✓ | ✓ | ✓ |
기밀(confidential) 이슈 만들기 | ✓ | ✓ | ✓ | ✓ | ✓ |
기밀 이슈 보기 | (2) | ✓ | ✓ | ✓ | ✓ |
릴리즈 보기 | ✓ (6) | ✓ | ✓ | ✓ | ✓ |
요구사항(requirements) 보기 (ULTIMATE) | ✓ | ✓ | ✓ | ✓ | ✓ |
사용자 별표 매트릭스(metrics) 대시보드 관리 (7) | ✓ | ✓ | ✓ | ✓ | ✓ |
이슈 할당 | ✓ | ✓ | ✓ | ✓ | |
이슈 레이블(label) 붙이기 | ✓ | ✓ | ✓ | ✓ | |
이슈 가중치 설정 | ✓ | ✓ | ✓ | ✓ | |
이슈 스레드(threads) 잠그기 | ✓ | ✓ | ✓ | ✓ | |
이슈 트래커 관리 | ✓ | ✓ | ✓ | ✓ | |
관련 이슈 관리 | ✓ | ✓ | ✓ | ✓ | |
레이블(labels) 관리 | ✓ | ✓ | ✓ | ✓ | |
코드 스니펫(snippets) 만들기 | ✓ | ✓ | ✓ | ✓ | |
커밋(commit) 상태 보기 | ✓ | ✓ | ✓ | ✓ | |
컨테이너 레지스트리(container registry) 보기 | ✓ | ✓ | ✓ | ✓ | |
환경(environments) 보기 | ✓ | ✓ | ✓ | ✓ | |
병합 요청(merge requests) 목록 보기 | ✓ | ✓ | ✓ | ✓ | |
프로젝트 통계 보기 | ✓ | ✓ | ✓ | ||
오류 추적 목록 보기 | ✓ | ✓ | ✓ | ✓ | |
새 병합 요청 만들기 | ✓ | ✓ | ✓ | ✓ | |
매트릭스 대시보드 어노테이션(annotations) 보기 | ✓ | ✓ | ✓ | ✓ | |
요구사항 생성/편집 (ULTIMATE) | ✓ | ✓ | ✓ | ✓ | |
패키지 가져오기(Pull) | ✓ | ✓ | ✓ | ✓ | |
패키지 게시(Publish) | ✓ | ✓ | ✓ | ||
패키지 삭제 | ✓ | ✓ | |||
정리 정책(Cleanup policy) 생성/편집/삭제 | ✓ | ✓ | ✓ | ||
Design Management 파일 업로드 | ✓ | ✓ | ✓ | ||
릴리즈 생성/편집/삭제 | ✓ | ✓ | ✓ | ||
새 브랜치 만들기 | ✓ | ✓ | ✓ | ||
Protected가 아닌 브랜치로 내보내기(Push) | ✓ | ✓ | ✓ | ||
Protected가 아닌 브랜치로 강제 내보내기(Force push) | ✓ | ✓ | ✓ | ||
Protected가 아닌 브랜치 제거 | ✓ | ✓ | ✓ | ||
병합 요청 할당 | ✓ | ✓ | ✓ | ||
병합 요청 레이블 붙이기 | ✓ | ✓ | ✓ | ||
병합 요청 스레드 잠그기 | ✓ | ✓ | ✓ | ||
병합 요청 승인 (9) | ✓ | ✓ | ✓ | ||
병합 요청 관리/수락 | ✓ | ✓ | ✓ | ||
새로운 환경(environments) 만들기 | ✓ | ✓ | ✓ | ||
환경 중지(Stop) | ✓ | ✓ | ✓ | ||
리뷰 앱(Apps) 활성화 | ✓ | ✓ | ✓ | ||
태그 추가 | ✓ | ✓ | ✓ | ||
작업(jobs) 취소 및 재시도 | ✓ | ✓ | ✓ | ||
커밋 상태 생성 또는 업데이트 | ✓ (5) | ✓ | ✓ | ||
컨테이너 레지스트리 업데이트 | ✓ | ✓ | ✓ | ||
컨테이너 레지스트리 이미지 제거 | ✓ | ✓ | ✓ | ||
프로젝트 마일스톤 생성/편집/삭제 | ✓ | ✓ | ✓ | ||
보안 대시보드 사용 (ULTIMATE) | ✓ | ✓ | ✓ | ||
의존성 목록에서 취약점(vulnerability) 발견사항 보기 (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약점 발견에서 이슈 생성 (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약점 발견 무시(Dismiss) (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약점 보기 (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약점 발견에서 취약점 생성 (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약성 해결 (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약성 무시 (ULTIMATE) | ✓ | ✓ | ✓ | ||
취약점을 탐지된 상태로 되돌리기(Revert) (ULTIMATE) | ✓ | ✓ | ✓ | ||
코드 변경 제안(suggestions) 적용 | ✓ | ✓ | ✓ | ||
Wiki 페이지 생성 및 편집 | ✓ | ✓ | ✓ | ||
Git 태그 다시쓰기/제거 | ✓ | ✓ | ✓ | ||
기능(Feature) 플래그 관리 (PREMIUM) | ✓ | ✓ | ✓ | ||
매트릭스 대시보드 어노테이션 생성/편집/삭제 | ✓ | ✓ | ✓ | ||
Protected 브랜치에 대해 CI/CD 파이프라인 실행 | ✓ (5) | ✓ | ✓ | ||
CVE ID 요청 (FREE ONLY) | ✓ | ✓ | |||
환경 터미널 사용 | ✓ | ✓ | |||
Web IDE의 대화형 Web 터미널 실행 (ULTIMATE ONLY) | ✓ | ✓ | |||
새 팀원 추가 | ✓ | ✓ | |||
브랜치 보호(protection) 활성화/비활성화 | ✓ | ✓ | |||
Protected 브랜치로 내보내기(Push) | ✓ | ✓ | |||
개발자를 위한 Protected 브랜치로 내보내기(Push) 켜기/끄기 | ✓ | ✓ | |||
태그 보호 활성화/비활성화 | ✓ | ✓ | |||
프로젝트 설정 편집 | ✓ | ✓ | |||
프로젝트 배지(badges) 편집 | ✓ | ✓ | |||
그룹과 프로젝트 공유(초대) | ✓ (8) | ✓ (8) | |||
프로젝트에 배포 키 추가 | ✓ | ✓ | |||
프로젝트 후크(hooks) 구성 | ✓ | ✓ | |||
러너(runners) 관리 | ✓ | ✓ | |||
작업 트리거(job triggers) 관리 | ✓ | ✓ | |||
CI/CD 변수 관리 | ✓ | ✓ | |||
GitLab Pages 관리 | ✓ | ✓ | |||
GitLab Pages 도메인 및 인증서 관리 | ✓ | ✓ | |||
GitLab Pages 제거 | ✓ | ✓ | |||
클러스터(clusters) 관리 | ✓ | ✓ | |||
프로젝트 운영 관리 | ✓ | ✓ | |||
파드(Pods) 로그 보기 | ✓ | ✓ | ✓ | ||
Terraform 상태(state) 읽기 | ✓ | ✓ | ✓ | ||
Terraform 상태 관리 | ✓ | ✓ | |||
라이선스 정책 관리 (ULTIMATE) | ✓ | ✓ | |||
댓글(모든 사용자가 게시한) 수정 | ✓ | ✓ | |||
오류 추적 관리 | ✓ | ✓ | |||
위키 페이지 삭제 | ✓ | ✓ | |||
프로젝트 감사(Audit) 이벤트 보기 | ✓ | ✓ | |||
Push 규칙 관리 | ✓ | ✓ | |||
프로젝트 액세스 토큰 관리 (CORE ONLY) | ✓ | ✓ | |||
가시성(visibility) 수준 전환 | ✓ | ||||
프로젝트를 다른 네임스페이스로 이동 | ✓ | ||||
프로젝트 이름 변경 | ✓ | ||||
포크(fork) 관계 제거 | ✓ | ||||
프로젝트 삭제 | ✓ | ||||
프로젝트 보관(Archive) | ✓ | ||||
프로젝트 내보내기(Export) | ✓ | ✓ | |||
이슈 삭제 | ✓ | ||||
파이프라인 삭제 | ✓ | ||||
병합 요청 삭제 | ✓ | ||||
알림 이메일 비활성화 | ✓ | ||||
Protected 브랜치로 강제 내보내기(Force push) (4) | |||||
Protected 브랜치 제거 (4) | |||||
CI\CD 분석 보기 | ✓ | ✓ | ✓ | ✓ | |
코드 리뷰 분석 보기 | ✓ | ✓ | ✓ | ✓ | |
인사이트 보기 (ULTIMATE) | ✓ | ✓ | ✓ | ✓ | ✓ |
이슈 분석 보기 (PREMIUM) | ✓ | ✓ | ✓ | ✓ | ✓ |
병합 요청 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ |
리포지터리(Repository) 분석 보기 | ✓ | ✓ | ✓ | ✓ | |
가치 흐름(Value Stream) 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ |
- Guest 사용자는 공개 및 내부 프로젝트에서 이 작업(action)을 수행할 수 있지만 비공개 프로젝트에서는 수행할 수 없습니다.
- Guest 사용자는 자신이 만든 기밀 이슈만 볼 수 있습니다.
- 프로젝트 설정 > CI/CD에서 퍼블릭 파이프라인이 활성화된 경우.
- Guest, Reporter, Developer, Maintainer에게도, Owner에게도 허용되지 않습니다.
- Protected 브랜치이면, 이는 Developer 또는 Maintainer에게 부여된 액세스 권한에 따라 다릅니다.
- Guest 사용자는 자산(assets) 다운로드를 위해 GitLab 릴리즈에 액세스 할 수 있지만 소스 코드를 다운로드하거나 태그 및 커밋과 같은 저장소 정보를 볼 수 없습니다.
- 작업은 사용자가 소유(참조)한 레코드로만 제한됩니다.
- 공유 그룹 잠금이 활성화된 경우, 프로젝트는 다른 그룹과 공유할 수 없습니다. 그룹 공유가 있는 그룹에는 영향을 주지 않습니다.
- 병합 요청에 대한 적격 승인자에 대한 정보는 적격 승인자를 참조하십시오.
그룹 구성원 권한
아래 표는 그룹의 다양한 사용자 권한 수준을 보여줍니다.
Action | Guest | Reporter | Developer | Maintainer | Owner |
---|---|---|---|---|---|
그룹 찾아보기(Browse) | ✓ | ✓ | ✓ | ✓ | ✓ |