권한 및 역할

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

사용자를 프로젝트나 그룹에 추가하면 역할을 할당합니다. 역할은 GitLab에서 수행할 수 있는 작업을 결정합니다.

프로젝트의 그룹 및 프로젝트 자체에 사용자를 추가하면 더 높은 역할이 사용됩니다.

GitLab 관리자들은 모든 권한을 가지고 있습니다.

역할

사용자에게 기본 역할이나 사용자 지정 역할을 할당할 수 있습니다.

사용 가능한 기본 역할은 다음과 같습니다:

  • Guest(이 역할은 비공개 및 내부 프로젝트에만 적용됩니다.)
  • Reporter
  • Developer
  • Maintainer
  • Owner
  • 최소한의 액세스(최상위 그룹에서만 사용 가능)

Guest 역할을 할당받은 사용자의 권한이 가장 적고 Owner가 가장 많습니다.

기본적으로 모든 사용자가 최상위 그룹을 생성하고 사용자명을 변경할 수 있습니다. GitLab 관리자는 GitLab 인스턴스에서 이 동작을 변경할 수 있습니다.

프로젝트 구성원 권한

  • GitLab 14.8에서 도입됨, 개인 네임스페이스 소유자는 자신의 네임스페이스에서 새로운 프로젝트에 대해 Owner 역할로 나타납니다. 플래그가 함께 도입됨 personal_project_owner_with_owner_access. 기본 설정은 비활성화.
  • GitLab 14.9에서 일반 사용 가능. 플래그 personal_project_owner_with_owner_access 제거됨.

사용자의 역할은 프로젝트에서의 권한을 확인합니다. Owner 역할은 모든 권한을 제공하지만 다음과 같은 경우에만 사용할 수 있습니다:

  • 그룹 및 프로젝트 소유자. GitLab 14.8 및 이전 버전에서는 해당 역할이 그룹의 프로젝트에 상속됩니다.
  • 관리자.

개인 네임스페이스 소유자:

  • 네임스페이스 내 프로젝트에서 Maintainer 역할로 표시되지만 Owner 역할과 동일한 권한을 가집니다.
  • GitLab 14.9 이후에는 네임스페이스 내의 새로운 프로젝트에서 Owner 역할로 표시됩니다.

프로젝트 구성원을 관리하는 방법에 대한 자세한 정보는 프로젝트 구성원을 참조하세요.

다음 표에는 각 역할에 대한 프로젝트 권한이 나열되어 있습니다:

작업 Guest Reporter Developer Maintainer Owner 메모
분석:
이슈 분석 보기
 
분석:
밸류 스트림 분석 보기
 
분석:
DORA metrics 보기
   
분석:
CI/CD 분석 보기
   
분석:
코드 리뷰 분석 보기
   
분석:
병합 요청 분석 보기
   
분석:
리포지토리 분석 보기
   
응용 프로그램 보안:
의존성 목록에서 라이선스 보기
     
응용 프로그램 보안:
온디맨드 DAST 스캔의 생성 및 실행
     
응용 프로그램 보안:
의존성 목록 보기
     
응용 프로그램 보안:
CVE ID 요청 생성
       
응용 프로그램 보안:
보안 정책 프로젝트 생성 또는 할당
         
응용 프로그램 보안:
개별 보안 정책 생성, 편집, 삭제
     
컨테이너 레지스트리:
정리 정책 생성, 편집, 삭제
       
컨테이너 레지스트리:
이미지 컨테이너 레지스트리에 푸시
     
컨테이너 레지스트리:
컨테이너 레지스트리에서 이미지를 풀
컨테이너 레지스트리 및 이미지 확인 권한은 컨테이너 레지스트리의 가시성 권한에 의해 제어됩니다.
컨테이너 레지스트리:
컨테이너 레지스트리 이미지 제거
     
쿠버네티스용 GitLab 에이전트:
에이전트 보기
     
쿠버네티스용 GitLab 에이전트:
에이전트 관리
       
GitLab Pages:
액세스 제어로 보호된 페이지 보기
 
GitLab Pages:
관리
       
GitLab Pages:
GitLab Pages 도메인 및 인증서 관리 생성
       
GitLab Pages:
GitLab Pages 삭제
       
장애 관리:
알림 할당
 
장애 관리:
당직 교대 참여
 
장애 관리:
장애 보기
 
장애 관리:
알림 상태 변경
   
장애 관리:
장애 심각도 변경
   
장애 관리:
장애 생성
   
장애 관리:
알림 보기
   
장애 관리:
에스컬레이션 정책보기
   
장애 관리:
당직 일정 보기
   
장애 관리:
장애 에스컬레이션 상태 변경
     
장애 관리:
장애 에스컬레이션 정책 변경
     
장애 관리:
당직 일정 관리
       
장애 관리:
에스컬레이션 정책 관리
       
이슈 보드:
목록 생성 또는 삭제
   
이슈 보드:
이슈 간 이동
   
이슈:
레이블 추가
Guest 사용자는 이슈를 생성할 때 메타데이터(예: 레이블, 담당자, 마일스톤)만 설정할 수 있습니다. 존재하는 이슈의 메타데이터를 변경할 수는 없습니다.
이슈:
에픽에 추가
  에픽 보기 권한이 필요합니다.
이슈:
할당
Guest 사용자는 이슈를 생성할 때 메타데이터(예: 레이블, 담당자, 마일스톤)만 설정할 수 있습니다. 존재하는 이슈의 메타데이터를 변경할 수는 없습니다.
이슈:
생성
작성자와 담당자는 Reporter 역할이 없더라도 제목과 설명을 수정할 수 있습니다.
이슈:
비밀 이슈 생성
 
이슈:
디자인 관리(Design Management](project/issues/design_management.md) 페이지 보기
 
이슈:
관련 이슈 보기(project/issues/related_issues.md)
 
이슈:
가중치 설정
   
이슈:
이슈 생성 시 레이블, 마일스톤 또는 담당자와 같은 메타데이터 설정
Guest 사용자는 이슈를 생성할 때 메타데이터(예: 레이블, 담당자, 마일스톤)만 설정할 수 있습니다. 존재하는 이슈의 메타데이터를 변경할 수는 없습니다.
이슈:
기존 이슈의 레이블, 마일스톤 또는 담당자와 같은 메타데이터 편집
  Guest 사용자는 이슈를 생성할 때 메타데이터(예: 레이블, 담당자, 마일스톤)만 설정할 수 있습니다. 존재하는 이슈의 메타데이터를 변경할 수는 없습니다.
이슈:
상위 에픽 설정
   
이슈:
비밀 이슈 보기
  Guest 사용자는 자신이 생성하거나 할당받은 비밀 이슈만 볼 수 있습니다.
이슈:
닫기 / 다시 열기
  작성자와 담당자는 Reporter 역할이 없더라도 Issue를 닫거나 다시 열 수 있습니다.
이슈:
           

GitLab CI/CD 권한

일부 역할의 GitLab CI/CD 권한은 다음 설정으로 수정할 수 있습니다:

  • 공개 파이프라인: public으로 설정하면 Guest 프로젝트 구성원에게 특정 CI/CD 기능에 액세스할 수 있습니다.
  • 파이프라인 가시성: 접근 가능한 모든 사용자로 설정하면 비 프로젝트 구성원에게 특정 CI/CD “보기” 기능에 액세스할 수 있습니다.
동작 비 구성원 Guest Reporter Developer Maintainer Owner 설명
아티팩트 확인하기 비 구성원 및 게스트: 프로젝트가 공개 상태인 경우에만 가능합니다.
작업 목록 보기 비 구성원: 프로젝트가 공개 상태이고 공개 파이프라인프로젝트 설정 > 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 파이프라인 실행하기       개발자 및 유지자: 보호된 브랜치로 병합하거나 푸시할 수 있는 경우에만 가능합니다.
환경 중지하기        
디버그 로깅을 사용하여 작업 보기        
파이프라인 편집기 사용하기        
대화형 웹 터미널 실행하기        
프로젝트 러너를 프로젝트에 추가하기          
러너 캐시 수동으로 지우기          
프로젝트에 인스턴스 러너 사용하기          
CI/CD 설정 관리하기          
작업 트리거 관리하기          
프로젝트 수준의 CI/CD 변수 관리하기          
프로젝트 수준의 보안 파일 관리하기          
환경 터미널 사용하기          
파이프라인 삭제하기            

작업 권한

이 표는 특정 유형의 사용자가 트리거한 작업에 대해 부여된 권한을 보여줍니다.

작업 게스트, 리포터 개발자 관리자 관리자 관리자 비고
CI 작업 실행      
현재 프로젝트에서 소스 및 LFS 복제      
공개 프로젝트에서 소스 및 LFS 복제      
내부 프로젝트에서 소스 및 LFS 복제   개발자 및 관리자: 트리거한 사용자가 외부 사용자가 아닌 경우에만 가능합니다.  
비공개 프로젝트에서 소스 및 LFS 복제   프로젝트 구성원인 경우에만 가능합니다. if-not-present 풀 정책으로 개인 Docker 이미지 사용도 참조하세요.  
현재 프로젝트에서 컨테이너 이미지 풀      
공개 프로젝트에서 컨테이너 이미지 풀      
내부 프로젝트에서 컨테이너 이미지 풀   개발자 및 관리자: 트리거한 사용자가 외부 사용자가 아닌 경우에만 가능합니다.  
비공개 프로젝트에서 컨테이너 이미지 풀   프로젝트 구성원인 경우에만 가능합니다. if-not-present 풀 정책으로 개인 Docker 이미지 사용도 참조하세요.  
현재 프로젝트로 컨테이너 이미지 푸시      
다른 프로젝트로 컨테이너 이미지 푸시            
소스 및 LFS 푸시            

그룹 회원 권한

마지막 소유자가 아닌 경우, 모든 사용자는 그룹에서 자신을 제거할 수 있습니다.

다음 표는 각 역할에 대해 사용 가능한 그룹 권한을 나열합니다.

작업 게스트 리포터 개발자 관리자 소유자 비고
에픽에 이슈 추가 에픽 보기 및 이슈 편집 권한이 있어야 합니다.
하위 에픽 추가/제거 상위 및 하위 에픽을 보기할 수 있는 권한이 있어야 합니다.
그룹 참조  
종속성 프록시를 사용하여 컨테이너 이미지 가져오기  
컨테이너 레지스트리 이미지 가져오기 게스트는 개별 조치에 기반한 이벤트만 볼 수 있습니다.
그룹 위키보기 페이지 보기 게스트: 그룹이 공개이거나 내부이면 해당 그룹을 볼 수 있는 모든 사용자는 그룹 위키 페이지도 볼 수 있습니다.
Insights 보기  
Insights 차트 보기  
이슈 분석 보기  
기여 분석 보기  
그룹 에픽보기  
가치 스트림 분석 보기  
그룹 에픽생성/편집    
그룹 에픽 보드생성/편집/삭제    
그룹 마일스톤생성/편집/삭제    
반복생성/편집/삭제    
그룹 레이블 관리    
패키지 가져오기    
그룹 DevOps 채택 보기    
생산성 분석 보기    
메트릭 대시보드 주석 보기    
패키지 배포      
컨테이너 레지스트리 이미지 삭제      
그룹 위키생성/편집/삭제 페이지      
그룹 내 프로젝트 생성     개발자, 유지보수자, 소유자: 프로젝트 생성 역할이 인스턴스 수준이나
그룹 수준으로 설정되어 있는 경우에만 가능합니다.

개발자: “부분적으로 보호됨” 또는 “보호되지 않음”으로 기본 브랜치 보호가 설정된 경우에만 새 프로젝트의 기본 브랜치에 커밋을 푸시할 수 있습니다.
           
메트릭 대시보드 주석생성/편집/삭제      
보안 대시보드 사용      
그룹 감사 이벤트 보기     개발자와 유지보수자는 개별 조치에 기반한 이벤트만 볼 수 있습니다.
그룹 위키삭제 페이지      
서브그룹 생성       유지 보수자: 유지 보수자 역할이 서브그룹 만들기를 허용하는 경우에만 가능합니다.
Maven 및 일반 패키지 중복 설정생성/편집/삭제        
종속성 프록시정리 정책 [생성/편집/삭제]        
패키지 삭제        
에픽보기 댓글(모든 사용자가 작성) 편집        
종속성 프록시 활성화/비활성화        
패키지 요청 전달 활성화/비활성화        
프로젝트를 그룹으로 복제        
그룹 승인 규칙 (그룹 설정) 관리        
그룹 푸시 규칙 관리        
그룹 러너 보기        
그룹 수준 Kubernetes 클러스터 보기/관리        
그룹 배포 토큰 목록          
그룹 가시성 수준 변경          
컴플라이언스 프레임워크 생성 및 관리          
그룹 배포 토큰 생성/삭제          
그룹 삭제          
그룹 에픽삭제          
알림 이메일 비활성화          
SAML SSO 편집         하위 그룹에는 해당되지 않습니다.
그룹 설정 편집          
프로젝트 템플릿 구성          
2단계 인증 상태로 회원 필터링          
구독, 저장소 및 컴퓨팅 분            
구매 관리          
그룹 수준 CI/CD 변수 관리          
그룹 회원 관리          
그룹 러너 관리          
그룹 수준 사용자 지정 역할 관리          
그룹 이전          
그룹을 위한 종속성 프록시 청소          
그룹을 그룹과 공유 (초대)          
청구 보기         하위 그룹에는 해당되지 않습니다.
회원 2단계 인증 상태 보기          
그룹 사용량 할당 페이지 보기         하위 그룹에는 해당되지 않습니다.

서브그룹 권한

서브그룹에 멤버를 추가하면, 그들은 상위 그룹으로부터 멤버쉽 및 권한 레벨을 상속받습니다. 이 모델을 통해 하나의 부모 그룹에 멤버쉽이 있는 경우 중첩된 그룹에 액세스할 수 있습니다.

더 많은 정보는 서브그룹 멤버쉽을 참조하세요.

최소한의 액세스 권한을 가진 사용자

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
  • GitLab 13.4에서 도입되었습니다.
  • 최소한의 액세스 역할로 사용자를 초대하는 지원은 GitLab 15.9에서 도입되었습니다.

최소한의 액세스 역할을 가진 사용자는 다음을 수행하지 않습니다:

  • 자동으로 루트 그룹 내의 프로젝트 및 서브그룹에 액세스하지 않습니다.
  • self-managed Ultimate 구독 또는 GitLab.com 구독의 라이선스가 아닙니다. 사용자가 인스턴스 또는 GitLab.com 네임스페이스 어디에서도 다른 역할을 가지고 있지 않은 경우.

소유자는 이러한 사용자를 명시적으로 특정 서브그룹 및 프로젝트에 추가해야 합니다.

루트 그룹에 최소한의 액세스 역할을 가진 사용자에게 동일한 멤버에게 그룹 내에서 두 개 이상의 역할을 부여할 수 있습니다:

  1. 최소한의 액세스 역할로 멤버를 루트 그룹에 추가합니다.
  2. 해당 그룹 내의 모든 서브그룹 또는 프로젝트에 대해 특정 역할로 직접 멤버를 초대합니다.

미해결된 문제로 인해 최소한의 액세스 역할을 가진 사용자:

  • 표준 웹 인증으로 로그인하는 경우, 부모 그룹에 액세스할 때 404 오류를 받습니다.
  • 그룹 SSO로 로그인하는 경우, 바로 부모 그룹 페이지로 리디렉션되기 때문에 즉시 404 오류를 받습니다.

이 문제를 해결하기 위해 이러한 사용자에게 부모 그룹 내의 어떤 프로젝트 또는 서브그룹에 게스트 역할 또는 그 이상의 역할을 부여하세요.

관련 주제