권한과 역할
사용자를 프로젝트나 그룹에 추가하면 해당 사용자에게 역할을 할당합니다. 역할은 GitLab에서 취할 수 있는 작업을 결정합니다.
사용자를 프로젝트 그룹과 프로젝트 양쪽에 추가하면 더 높은 역할이 사용됩니다.
GitLab 관리자들은 모든 권한을 가지고 있습니다.
역할
사용자에게 기본 역할이나 사용자 역할을 할당할 수 있습니다.
사용 가능한 기본 역할은 다음과 같습니다:
- Guest (이 역할은 비공개 및 내부 프로젝트에만 적용됩니다.)
- Reporter
- Developer
- Maintainer
- Owner
- 최소한의 액세스 (상위 그룹 전용)
Guest 역할을 가진 사용자는 제일 적은 권한을 가지고 있으며, Owner는 가장 많은 권한을 가지고 있습니다.
기본적으로 모든 사용자는 최상위 그룹을 만들고 사용자 이름을 변경할 수 있습니다. GitLab 관리자는 GitLab 인스턴스의 이 동작을 변경할 수 있습니다.
프로젝트 구성원 권한
사용자의 역할은 프로젝트에서 가지는 권한을 결정합니다. Owner 역할은 모든 권한을 제공하지만 다음과 같이 사용 가능합니다:
- 그룹 및 프로젝트 소유자. GitLab 14.8 및 이전 버전에서 이 역할은 그룹의 프로젝트에 상속됩니다.
- 관리자들.
개인 네임스페이스 소유자:
- 해당 네임스페이스의 프로젝트에서 Maintainer 역할로 표시되지만 Owner 역할을 가진 사용자와 동일한 권한을 가집니다.
- GitLab 14.9 이후에는 해당 네임스페이스의 새 프로젝트에서 Owner 역할로 표시됩니다.
프로젝트 구성원을 관리하는 방법에 대한 자세한 정보는 프로젝트 구성원을 참조하세요.
다음 표는 각 역할에 대해 사용 가능한 프로젝트 권한을 나열합니다:
작업 | Guest | Reporter | Developer | Maintainer | Owner | Notes |
---|---|---|---|---|---|---|
분석: 이슈 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
분석: 벨류 스트림 분석 디렉터리 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
분석: DORA 메트릭스 보기 | ✓ | ✓ | ✓ | ✓ | ||
분석: CI/CD 분석 보기 | ✓ | ✓ | ✓ | ✓ | ||
분석: 코드 검토 분석 보기 | ✓ | ✓ | ✓ | ✓ | ||
분석: Merge Request 분석 보기 | ✓ | ✓ | ✓ | ✓ | ||
분석: 리포지터리 분석 보기 | ✓ | ✓ | ✓ | ✓ | ||
애플리케이션 보안: 의존성 디렉터리에서 라이선스 보기 | ✓ | ✓ | ✓ | |||
애플리케이션 보안: 온디맨드 DAST 검사를 만들고 실행 보기 | ✓ | ✓ | ✓ | |||
애플리케이션 보안: 의존성 디렉터리 보기 | ✓ | ✓ | ✓ | |||
애플리케이션 보안: CVE ID 요청 만들기 | ✓ | ✓ | ||||
애플리케이션 보안: 보안 정책 프로젝트 만들거나 할당하기 | ✓ | |||||
애플리케이션 보안: 개별 보안 정책 만들고 편집하거나 삭제하기 | ✓ | ✓ | ✓ | |||
컨테이너 레지스트리: 레지스트리 정리 정책 만들기, 편집, 삭제 | ✓ | ✓ | ||||
컨테이너 레지스트리: 이미지를 컨테이너 레지스트리에 푸시하기 | ✓ | ✓ | ✓ | |||
컨테이너 레지스트리: 컨테이너 레지스트리에서 이미지를 풀하기 | ✓ | ✓ | ✓ | ✓ | ✓ | 컨테이너 레지스트리 보기 및 이미지 풀기 권한은 컨테이너 레지스트리의 가시성 권한에 의해 제어됩니다. |
컨테이너 레지스트리: 컨테이너 레지스트리 이미지 제거하기 | ✓ | ✓ | ✓ | |||
Kubernetes용 GitLab 에이전트: 에이전트 보기 | ✓ | ✓ | ✓ | |||
Kubernetes용 GitLab 에이전트: 에이전트 관리 | ✓ | ✓ | ||||
GitLab Pages: 접근 제어를 사용하는 페이지 보기 보호 | ✓ | ✓ | ✓ | ✓ | ✓ | |
GitLab Pages: 관리 | ✓ | ✓ | ||||
GitLab Pages: GitLab Pages 도메인 및 인증서 관리 | ✓ | ✓ | ||||
GitLab Pages: GitLab Pages 제거하기 | ✓ | ✓ | ||||
장애 관리: 경고 할당 | ✓ | ✓ | ✓ | ✓ | ✓ | |
장애 관리: 비상 대응 교대 참여 | ✓ | ✓ | ✓ | ✓ | ✓ | |
장애 관리: 이벤트 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
장애 관리: 경고 상태 변경 | ✓ | ✓ | ✓ | ✓ | ||
장애 관리: 이벤트 심각도 변경 | ✓ | ✓ | ✓ | ✓ | ||
장애 관리: 이벤트 만들기 | ✓ | ✓ | ✓ | ✓ | ||
장애 관리: 경고 보기 | ✓ | ✓ | ✓ | ✓ | ||
장애 관리: 열 줄기 보기 | ✓ | ✓ | ✓ | ✓ | ||
장애 관리: 당직 일정 보기 | ✓ | ✓ | ✓ | ✓ | ||
장애 관리: 이벤트 변경 | ✓ | ✓ | ✓ | |||
장애 관리: 경고 에스컬레이션 정책 변경 | ✓ | ✓ | ✓ | |||
장애 관리: 당직 일정 관리 | ✓ | ✓ | ||||
장애 관리: 에스컬레이션 정책 관리 | ✓ | ✓ | ||||
이슈 보드: 리스트 만들기, 제거하기 | ✓ | ✓ | ✓ | ✓ | ||
이슈 보드: 리스트 사이에서 이슈 이동하기 | ✓ | ✓ | ✓ | ✓ | ||
이슈: 레이블 추가 | ✓ | ✓ | ✓ | ✓ | ✓ | 게스트 사용자는 이슈를 만들 때 메타데이터(예: 레이블, 담당자, 또는 마일스톤)만 설정할 수 있습니다. 이미 있는 이슈의 메타데이터를 변경할 수 없습니다. |
이슈: 에픽에 추가하기 | ✓ | ✓ | ✓ | ✓ | 에픽을 보는 권한이 있어야 합니다. | |
이슈: 담당자 지정 | ✓ | ✓ | ✓ | ✓ | ✓ | 게스트 사용자는 이슈를 만들 때 메타데이터(예: 레이블, 담당자, 또는 마일스톤)만 설정할 수 있습니다. 이미 있는 이슈의 메타데이터를 변경할 수 없습니다. |
이슈: 만들기 | ✓ | ✓ | ✓ | ✓ | ✓ | 등록자와 담당자는 “보고자” 역할이 없어도 제목과 설명을 수정할 수 있습니다. |
이슈: 비밀 이슈 만들기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
이슈: 디자인 관리 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
이슈: 연관된 이슈 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
이슈: 웨이트 설정하기 | ✓ | ✓ | ✓ | ✓ | ||
이슈: 이슈를 만들 때 레이블, 마일스톤 또는 담당자 같은 메타데이터 설정하기 | ✓ | ✓ | ✓ | ✓ | ✓ | 게스트 사용자는 이슈를 만들 때 메타데이터(예: 레이블, 담당자, 또는 마일스톤)만 설정할 수 있습니다. 이미 있는 이슈의 메타데이터를 변경할 수 없습니다. |
이슈: 기존 이슈의 레이블, 마일스톤 또는 담당자 같은 메타데이터 편집하기 | ✓ | ✓ | ✓ | ✓ | 게스트 사용자는 이슈를 만들 때 메타데이터(예: 레이블, 담당자, 또는 마일스톤)만 설정할 수 있습니다. 이미 있는 이슈의 메타데이터를 변경할 수 없습니다. | |
이슈: 이슈를 에픽에 지정 |
GitLab CI/CD 권한
일부 역할의 GitLab CI/CD 권한은 다음 설정으로 수정할 수 있습니다:
- 공개 파이프라인: 공개로 설정하면 게스트 프로젝트 구성원에게 특정 CI/CD 기능에 대한 액세스를 제공합니다.
- 파이프라인 가시성: 모든 사용자가 열람 가능으로 설정하면 비 프로젝트 구성원에게 특정 CI/CD “보기” 기능에 대한 액세스를 제공합니다.
동작 | 비 구성원 | 게스트 | 기자 | 개발자 | 관리자 | 소유자 | 비고 |
---|---|---|---|---|---|---|---|
아티팩트의 존재 확인 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원과 게스트: 프로젝트가 공개되어 있는 경우에만 가능합니다. |
작업 디렉터리 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원: 프로젝트가 공개되어 있고 공개 파이프라인이 프로젝트 설정 > CI/CD에서 활성화된 경우에만 가능합니다. 게스트: 프로젝트 설정 > CI/CD에서 공개 파이프라인이 활성화된 경우에만 가능합니다. |
아티팩트 보기 및 다운로드 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원: 프로젝트가 공개되어 있고 프로젝트 설정 > CI/CD의 공개 파이프라인이 활성화되어 있으며 작업에 artifacts:public: false 가 설정되지 않은 경우에만 가능합니다.게스트: 프로젝트 설정 > CI/CD에서 공개 파이프라인이 활성화되어 있고 작업에 artifacts:public: false 가 설정되지 않은 경우에만 가능합니다.기자: 작업에 artifacts:public: false 가 설정되지 않은 경우에만 가능합니다.
|
환경 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원과 게스트: 프로젝트가 공개되어 있는 경우에만 가능합니다. |
작업 로그 및 작업 상세 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원: 프로젝트가 공개되어 있고 프로젝트 설정 > CI/CD의 공개 파이프라인이 활성화된 경우에만 가능합니다. 게스트: 프로젝트 설정 > CI/CD에서 공개 파이프라인이 활성화된 경우에만 가능합니다. |
파이프라인 및 파이프라인 상세 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원: 프로젝트가 공개되어 있고 프로젝트 설정 > CI/CD의 공개 파이프라인이 활성화된 경우에만 가능합니다. 게스트: 프로젝트 설정 > CI/CD에서 공개 파이프라인이 활성화된 경우에만 가능합니다. |
MR에서 파이프라인 탭 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 비 구성원과 게스트: 프로젝트가 공개되어 있는 경우에만 가능합니다. |
파이프라인의 취약점 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | 게스트: 프로젝트 설정 > CI/CD에서 공개 파이프라인이 활성화된 경우에만 가능합니다. | |
보호된 환경에 대한 배포 작업 실행 | ✓ | ✓ | ✓ | ✓ | 기자: 사용자가 보호된 환경에 액세스 권한이 있는 그룹의 일부인 경우에만 가능합니다. 개발자 및 관리자: 환경으로 배포하는 것이 허용되는 경우에만 가능합니다. | ||
프로젝트 수준의 보안 파일 보기 및 다운로드 | ✓ | ✓ | ✓ | ||||
작업 재시도 | ✓ | ✓ | ✓ | ||||
작업 취소 | ✓ | ✓ | ✓ | 취소 권한은 파이프라인 설정에서 제약을 받을 수 있습니다. | |||
새로운 환경 생성 | ✓ | ✓ | ✓ | ||||
작업 로그 또는 작업 아티팩트 삭제 | ✓ | ✓ | ✓ | 개발자: 사용자가 트리거한 작업이며 보호되지 않은 브랜치에 대해 실행되는 경우에만 가능합니다. | |||
CI/CD 파이프라인 실행 | ✓ | ✓ | ✓ | ||||
보호된 브랜치에 대한 CI/CD 파이프라인 실행 | ✓ | ✓ | ✓ | 개발자 및 관리자: 보호된 브랜치로 Merge하거나 푸시할 수 있는 경우에만 가능합니다. | |||
환경 중지 | ✓ | ✓ | ✓ | ||||
디버그 로깅 있는 작업 보기 | ✓ | ✓ | ✓ | ||||
파이프라인 편집기 사용 | ✓ | ✓ | ✓ | ||||
대화형 웹 터미널 실행 | ✓ | ✓ | ✓ | ||||
프로젝트 러너를 프로젝트에 추가 | ✓ | ✓ | |||||
러너 캐시 매뉴얼으로 삭제 | ✓ | ✓ | |||||
프로젝트에 대한 인스턴스 러너 활성화 | ✓ | ✓ | |||||
CI/CD 설정 관리 | ✓ | ✓ | |||||
작업 트리거 관리 | ✓ | ✓ | |||||
프로젝트 수준의 CI/CD 변수 관리 | ✓ | ✓ | |||||
프로젝트 수준의 보안 파일 관리 | ✓ | ✓ | |||||
환경 터미널 사용 | ✓ | ✓ | |||||
파이프라인 삭제 | ✓ |
작업 권한
이 표는 특정 유형의 사용자가 트리거한 작업에 대해 부여된 권한을 보여줍니다:
동작 | 게스트, 리포터 | 개발자 | 관리자 | 관리자 | 관리자 | 비고 |
---|---|---|---|---|---|---|
CI 작업 실행 | ✓ | ✓ | ✓ | |||
현재 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | |||
공개 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | |||
내부 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | 개발자 및 유지 관리자: 트리거한 사용자가 외부 사용자가 아닌 경우에만 가능 | ||
비공개 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | 프로젝트 멤버인 경우에만 가능. 또한 if-not-present 풀 정책으로 개인 Docker 이미지 사용도 참조하세요. | ||
현재 프로젝트에서 컨테이너 이미지 풀 | ✓ | ✓ | ✓ | |||
공개 프로젝트에서 컨테이너 이미지 풀 | ✓ | ✓ | ✓ | |||
내부 프로젝트에서 컨테이너 이미지 풀 | ✓ | ✓ | ✓ | 개발자와 유지 관리자: 트리거한 사용자가 외부 사용자가 아닌 경우에만 가능 | ||
비공개 프로젝트에서 컨테이너 이미지 풀 | ✓ | ✓ | ✓ | 프로젝트 멤버인 경우에만 가능. 또한 if-not-present 풀 정책으로 개인 Docker 이미지 사용도 참조하세요. | ||
현재 프로젝트로 컨테이너 이미지 푸시 | ✓ | ✓ | ✓ | |||
다른 프로젝트로 컨테이너 이미지 푸시 | ||||||
소스 및 LFS 푸시 |
그룹 멤버 권한
어떠한 사용자든 자신을 그룹에서 제거할 수 있습니다. 단, 그룹의 마지막 소유자인 경우에는 제거할 수 없습니다.
다음 표는 각 역할에 대해 사용 가능한 그룹 권한을 나열합니다:
동작 | 게스트 | 리포터 | 개발자 | 유지 관리자 | 소유자 | 비고 |
---|---|---|---|---|---|---|
에픽에 이슈 추가 | ✓ | ✓ | ✓ | ✓ | ✓ | 에픽보기 권한 및 이슈 편집 권한이 필요합니다. |
하위 에픽 추가/제거 | ✓ | ✓ | ✓ | ✓ | ✓ | 상위 및 하위 에픽을 보기할 권한이 필요합니다. |
그룹 둘러보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
의존성 프록시를 사용하여 컨테이너 이미지 풀링 | ✓ | ✓ | ✓ | ✓ | ✓ | |
컨테이너 레지스트리 이미지를 풀링 | ✓ | ✓ | ✓ | ✓ | ✓ | 게스트는 개인 조치에 기반한 이벤트만 볼 수 있습니다. |
그룹 위키 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | 게스트: 또한, 그룹이 공개 또는 내부인 경우 그룹을 볼 수 있는 모든 사용자는 그룹 위키 페이지도 볼 수 있습니다. |
인사이트 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
인사이트 차트 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
이슈 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
기여 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
그룹 에픽 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
가치 스트림 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
그룹 에픽 생성/편집 | ✓ | ✓ | ✓ | ✓ | ||
그룹 에픽 보드 생성/편집/삭제 | ✓ | ✓ | ✓ | ✓ | ||
그룹 마일스톤 생성/편집/삭제 | ✓ | ✓ | ✓ | ✓ | ||
반복 생성/편집/삭제 | ✓ | ✓ | ✓ | ✓ | ||
그룹 레이블 관리 | ✓ | ✓ | ✓ | ✓ | ||
그룹 DevOps 채용 보기 | ✓ | ✓ | ✓ | ✓ | ||
프로덕션성 분석 보기 | ✓ | ✓ | ✓ | ✓ | ||
지표 대시보드 주석 보기 | ✓ | ✓ | ✓ | ✓ | ||
패키지 풀링 | ✓ | ✓ | ✓ | ✓ | ||
그룹 구독 퀴어 페이지 보기 | ✓ | ✓ | ✓ | ✓ |
하위 그룹 권한
하위 그룹에 멤버를 추가하면 그들은 상위 그룹에서 멤버십과 권한 수준을 상속받습니다. 이 모델은 한 개의 부모 그룹 중 하나에 멤버십이 있는 경우 중첩된 그룹에 액세스할 수 있도록 합니다.
더 많은 정보는 하위 그룹 멤버십을 참조하세요.
최소 액세스 권한을 가진 사용자
- GitLab 13.4에서 도입됨.
- 최소 액세스 역할로 사용자를 초대하는 지원은 GitLab 15.9에서 도입됨.
최소 액세스 역할을 가진 사용자는 다음을 하지 않습니다:
- 자동으로 루트 그룹의 프로젝트 및 하위 그룹에 액세스할 수 없습니다.
- 사용자가 인스턴스나 GitLab.com 네임스페이스의 다른 위치에서 역할을 가지지 않는 경우, 직접 관리 Ultimate 구독이나 어떠한 GitLab.com 구독에서 라이선스가 차지되지 않습니다.
소유자는 명시적으로 이러한 사용자를 특정 하위 그룹 및 프로젝트에 추가해야 합니다.
최소 액세스 역할을 사용하여 동일한 멤버에게 그룹 내에서 두 개 이상의 역할을 부여할 수 있습니다:
- 최소 액세스 역할을 가진 상태로 해당 멤버를 루트 그룹에 추가합니다.
- 해당 그룹 내의 임의의 하위 그룹이나 프로젝트에서 특정 역할을 가진 직접적인 멤버로 초대합니다.
미해결 문제로 인해 최소 액세스 역할을 가진 사용자가:
- 표준 웹 인증으로 로그인하는 경우 부모 그룹에 액세스할 때
404
오류가 발생합니다. - 그룹 SSO로 로그인하는 경우 자동으로 부모 그룹 페이지로 리디렉션되므로 즉시
404
오류가 발생합니다.
이 문제를 해결하기 위해 이러한 사용자에게 부모 그룹 내의 모든 프로젝트 또는 하위 그룹에게 게스트 역할 또는 더 높은 역할을 부여하세요.