권한과 역할

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

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

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

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

역할

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

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

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 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 채용 보기    
프로덕션성 분석 보기    
지표 대시보드 주석 보기    
패키지 풀링    
그룹 구독 퀴어 페이지 보기    

하위 그룹 권한

하위 그룹에 멤버를 추가하면 그들은 상위 그룹에서 멤버십과 권한 수준을 상속받습니다. 이 모델은 한 개의 부모 그룹 중 하나에 멤버십이 있는 경우 중첩된 그룹에 액세스할 수 있도록 합니다.

더 많은 정보는 하위 그룹 멤버십을 참조하세요.

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

Tier: Premium, Ultimate Offering: GitLab.com, 직접 관리, GitLab Dedicated

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

  • 자동으로 루트 그룹의 프로젝트 및 하위 그룹에 액세스할 수 없습니다.
  • 사용자가 인스턴스나 GitLab.com 네임스페이스의 다른 위치에서 역할을 가지지 않는 경우, 직접 관리 Ultimate 구독이나 어떠한 GitLab.com 구독에서 라이선스가 차지되지 않습니다.

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

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

  1. 최소 액세스 역할을 가진 상태로 해당 멤버를 루트 그룹에 추가합니다.
  2. 해당 그룹 내의 임의의 하위 그룹이나 프로젝트에서 특정 역할을 가진 직접적인 멤버로 초대합니다.

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

  • 표준 웹 인증으로 로그인하는 경우 부모 그룹에 액세스할 때 404 오류가 발생합니다.
  • 그룹 SSO로 로그인하는 경우 자동으로 부모 그룹 페이지로 리디렉션되므로 즉시 404 오류가 발생합니다.

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

관련 주제