권한 및 역할
사용자를 프로젝트 또는 그룹에 추가하면 해당 사용자에게 역할을 할당합니다. 역할에 따라 GitLab에서 수행할 수 있는 작업이 결정됩니다.
사용자를 프로젝트 그룹 및 프로젝트 자체에 모두 추가하면 더 높은 역할이 사용됩니다.
GitLab 관리자는 모든 권한을 가지고 있습니다.
역할
사용자에게 기본 역할이나 사용자 정의 역할 중 하나를 할당할 수 있습니다.
사용 가능한 기본 역할은 다음과 같습니다:
- Guest (이 역할은 비공개 및 내부 프로젝트에만 적용됩니다.)
- Reporter
- Developer
- Maintainer
- Owner
- 최소 액세스(최상위 그룹에서만 가능)
Guest 역할이 할당된 사용자는 가장 적은 권한을 가지며, Owner 역할이 가장 많은 권한을 가집니다.
기본적으로 모든 사용자는 최상위 그룹을 만들고 사용자 이름을 변경할 수 있습니다. GitLab 관리자는 GitLab 인스턴스에서 이 동작을 변경할 수 있습니다.
프로젝트 구성원 권한
사용자의 역할은 프로젝트에서 수행할 수 있는 작업을 결정합니다. Owner 역할은 모든 권한을 제공하지만 다음과 같은 경우에만 사용 가능합니다:
- 그룹 및 프로젝트 소유자용
- 관리자용
개인 네임스페이스 소유자:
- 네임스페이스의 프로젝트에서 Maintainer 역할로 표시되지만 Owner 역할을 가진 사용자와 동일한 권한을 가집니다.
- 네임스페이스의 새 프로젝트에 대해 Owner 역할로 표시됩니다.
프로젝트 구성원을 관리하는 방법에 대한 자세한 정보는 프로젝트 구성원을 참조하세요.
다음 표는 각 역할에 대해 사용할 수 있는 프로젝트 권한을 나열합니다: (표 생략)
GitLab CI/CD 권한
GitLab CI/CD의 권한은 일부 역할에 의해 다음 설정을 통해 수정할 수 있습니다.
- 공개 파이프라인: public으로 설정하면 Guest 프로젝트 멤버에게 일부 CI/CD 기능에 액세스할 수 있습니다.
- 파이프라인 가시성: Everyone with Access로 설정하면 비프로젝트 멤버에게 일부 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하거나 push할 수 있는 사용자인 경우에만. | |||
환경 중단 | ✓ | ✓ | ✓ | ||||
디버그 로그 활성화이 있는 작업 보기 | ✓ | ✓ | ✓ | ||||
파이프라인 편집기 사용 | ✓ | ✓ | ✓ | ||||
대화형 웹 터미널 실행 | ✓ | ✓ | ✓ | ||||
프로젝트에 러너 추가 | ✓ | ✓ | |||||
러너 캐시 매뉴얼 지우기 | ✓ | ✓ | |||||
프로젝트에 인스턴스 러너 활성화 | ✓ | ✓ | |||||
CI/CD 설정 관리 | ✓ | ✓ | |||||
작업 트리거 관리 | ✓ | ✓ | |||||
프로젝트 수준의 CI/CD 변수 관리 | ✓ | ✓ | |||||
프로젝트 수준의 보안 파일 관리 | ✓ | ✓ | |||||
환경 터미널 사용 | ✓ | ✓ | |||||
파이프라인 삭제 | ✓ |
작업 권한
이 테이블은 특정 유형의 사용자에 의해 트리거된 작업에 대해 부여된 권한을 보여줍니다:
작업 | 게스트, 기자 | 개발자 | 유지관 | 관리자 | 비고 |
---|---|---|---|---|---|
CI 작업 실행 | ✓ | ✓ | ✓ | ||
현재 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | ||
공개 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | ||
내부 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | 개발자 및 유지관: 외부 사용자가 트리거하는 경우에만 가능합니다. | |
비공개 프로젝트에서 소스 및 LFS 복제 | ✓ | ✓ | ✓ | 트리거 사용자가 해당 프로젝트의 구성원인 경우에만 가능합니다. 또한 if-not-present pull policy를 사용하여 비공개 Docker 이미지 사용을 참조하십시오. | |
현재 프로젝트에서 컨테이너 이미지 풀링 | ✓ | ✓ | ✓ | ||
공개 프로젝트에서 컨테이너 이미지 풀링 | ✓ | ✓ | ✓ | ||
내부 프로젝트에서 컨테이너 이미지 풀링 | ✓ | ✓ | ✓ | 개발자 및 유지관: 외부 사용자가 트리거하는 경우에만 가능합니다. | |
비공개 프로젝트에서 컨테이너 이미지 풀링 | ✓ | ✓ | ✓ | 트리거 사용자가 해당 프로젝트의 구성원인 경우에만 가능합니다. 또한 if-not-present pull policy를 사용하여 비공개 Docker 이미지 사용을 참조하십시오. | |
현재 프로젝트에 컨테이너 이미지 푸시 | ✓ | ✓ | ✓ | ||
다른 프로젝트에 컨테이너 이미지 푸시 | |||||
소스 및 LFS 푸시 |
그룹 구성원 권한
어떤 사용자든지 그룹의 마지막 소유자가 아닌 한 그룹에서 자신을 삭제할 수 있습니다.
다음 표는 각 역할에 대한 그룹 권한을 나열합니다.
동작 | Guest | Reporter | Developer | Maintainer | Owner | 비고 |
---|---|---|---|---|---|---|
epic에 이슈 추가하기 | ✓ | ✓ | ✓ | ✓ | ✓ | 에픽 보기 및 이슈 수정 권한이 있어야 합니다. |
하위 에픽 추가/제거하기 | ✓ | ✓ | ✓ | ✓ | ✓ | 상위 및 하위 에픽 보기 권한이 필요합니다. |
그룹 탐색 | ✓ | ✓ | ✓ | ✓ | ✓ | |
의존성 프록시를 사용하여 컨테이너 이미지 가져오기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
컨테이너 레지스트리 이미지 가져오기 | ✓ | ✓ | ✓ | ✓ | ✓ | Guest는 개별 동작에 기반한 이벤트만 볼 수 있습니다. |
그룹 위키 페이지 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | Guest: 또한, 그룹이 공개 또는 내부인 경우 그룹을 볼 수 있는 모든 사용자는 그룹 위키 페이지도 볼 수 있습니다. |
Insights 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
Insights 차트 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
이슈 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
기여 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
그룹 에픽 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
가치 스트림 분석 보기 | ✓ | ✓ | ✓ | ✓ | ✓ | |
그룹 에픽 만들기/편집하기 | ✓ | ✓ | ✓ | ✓ | ||
그룹 에픽 보드 만들기/편집/삭제하기 | ✓ | ✓ | ✓ | ✓ | ||
그룹 마일스톤 만들기/편집/삭제하기 | ✓ | ✓ | ✓ | ✓ | ||
반복 작업 만들기/편집/삭제하기 | ✓ | ✓ | ✓ | ✓ | ||
그룹 레이블 관리하기 | ✓ | ✓ | ✓ | ✓ | ||
패키지 가져오기 | ✓ | ✓ | ✓ | ✓ | ||
그룹 DevOps 채택 보기 | ✓ | ✓ | ✓ | ✓ | ||
프로덕션성 분석 보기 | ✓ | ✓ | ✓ | ✓ | ||
메트릭 대시보드 주석 보기 | ✓ | ✓ | ✓ | ✓ | ||
패키지 게시하기 | ✓ | ✓ | ✓ | |||
컨테이너 레지스트리 이미지 제거하기 | ✓ | ✓ | ✓ | |||
그룹 위키 페이지 만들기/편집/삭제하기 | ✓ | ✓ | ✓ | |||
그룹 내 프로젝트 만들기 | ✓ | ✓ | ✓ | 프로젝트 생성 역할이 인스턴스 수준 또는 그룹 수준으로 설정되어 있어야 합니다. 개발자: “부분적으로 보호됨” 또는 “보호되지 않음”으로 기본 브랜치 보호(부분 보호)가 설정되어 있는 경우에만 새 프로젝트의 기본 브랜치로 커밋을 푸시할 수 있습니다. | ||
메트릭 대시보드 주석 만들기/편집/삭제하기 | ✓ | ✓ | ✓ | |||
보안 대시보드 사용 | ✓ | ✓ | ✓ | |||
그룹 감사 이벤트 보기 | ✓ | ✓ | ✓ | 개발자 및 유지관리자는 개별 동작에 기반한 이벤트만 볼 수 있습니다. | ||
그룹 위키 페이지 삭제하기 | ✓ | ✓ | ✓ | |||
서브그룹 만들기 | ✓ | ✓ | 유지관리자: 유지관리자 역할이 서브그룹을 만들 수 있는 권한으로 설정되어 있는 경우에만 가능합니다. | |||
Maven, 일반, NuGet 및 Terraform 모듈 패키지 중복 설정 만들기/편집/삭제하기 | ✓ | |||||
의존성 프록시 정리 정책 만들기/편집/삭제하기 | ✓ | |||||
패키지 삭제하기 | ✓ | ✓ | ||||
에픽의 코멘트(모든 사용자가 게시한) 수정하기 | ✓ | ✓ | ||||
의존성 프록시 활성화/비활성화하기 | ✓ | |||||
패키지 요청 전달 활성화/비활성화하기 | ✓ | |||||
프로젝트를 그룹으로 포크하기 | ✓ | ✓ | ||||
그룹 승인 규칙 관리하기 (그룹 설정) | ✓ | ✓ | ||||
그룹 푸시 규칙 관리하기 | ✓ | ✓ | ||||
그룹 러너 보기 | ✓ | ✓ | ||||
그룹 레벨 쿠버네티스 클러스터 보기/관리하기 | ✓ | ✓ | ||||
그룹 배포 토큰 디렉터리 보기 | ✓ | |||||
그룹 가시성 수준 변경하기 | ✓ | |||||
규정 준수 프레임워크 만들기/관리하기 | ✓ | |||||
그룹 배포 토큰 만들기/삭제하기 | ✓ | |||||
그룹 삭제하기 | ✓ | |||||
그룹 에픽 삭제하기 | ✓ | |||||
알림 이메일 비활성화하기 | ✓ | |||||
SAML SSO 편집하기 | ✓ | 서브그룹에는 해당되지 않습니다. | ||||
그룹 설정 편집하기 | ✓ | |||||
프로젝트 템플릿 구성하기 | ✓ | |||||
2FA 상태로 구성원 필터링하기 | ✓ | |||||
구독, 리포지터리 및 계산 분 단위 구매 내역 관리하기 | ✓ | |||||
그룹 레벨 CI/CD 변수 관리하기 | ✓ | |||||
그룹 구성원 관리하기 | ✓ | |||||
그룹 러너 관리하기 | ✓ | |||||
그룹 레벨 사용자 정의 역할 관리하기 | ✓ | |||||
그룹 이관하기 | ✓ | |||||
그룹 의존성 프록시 초기화하기 | ✓ | |||||
그룹을 다른 그룹과 공유(초대)하기 | ✓ | |||||
결제 보기 | ✓ | 서브그룹에는 해당되지 않습니다. | ||||
구성원의 2FA 상태 보기 | ✓ | |||||
그룹 사용 한도 페이지 보기 | ✓ | 서브그룹에는 해당되지 않습니다. |
서브그룹 권한
서브그룹에 멤버를 추가하면 부모 그룹의 멤버십과 권한 수준을 상속받습니다. 이 모델을 통해 하나의 부모 그룹에 멤버십이 있다면 중첩된 그룹에 액세스할 수 있습니다.
자세한 정보는 서브그룹 멤버십을 참조하세요.
최소 액세스 권한을 가진 사용자
- 최소 액세스 역할을 가진 사용자를 초대하는 기능은 GitLab 15.9에서 도입되었습니다.
최소 액세스 역할을 가진 사용자는 다음을 할 수 없습니다:
- 루트 그룹의 프로젝트 및 서브그룹에 자동으로 액세스할 수 없습니다.
- 기존에 사용자가 인스턴스나 GitLab.com 네임스페이스의 다른 위치에서 역할이 없는 경우, Self-Managed Ultimate 구독이나 GitLab.com 구독의 라이선스 사용자로 계산되지 않습니다.
소유자는 이러한 사용자를 명시적으로 특정 서브그룹 및 프로젝트에 추가해야 합니다.
최소 액세스 역할을 사용하여 한 사용자에게 그룹 내에서 여러 역할을 할당할 수 있습니다:
- 최소 액세스 역할을 가진 사용자를 루트 그룹에 추가합니다.
- 해당 그룹의 어떤 서브그룹이나 프로젝트에 대해 특정 역할을 가진 직접적인 멤버로 사용자를 초대합니다.
미해결 문제 때문에 최소 액세스 역할을 가진 사용자가:
- 표준 웹 인증으로 로그인하는 경우 부모 그룹에 액세스할 때
404
오류가 발생합니다. - 그룹 SSO로 로그인하는 경우 부모 그룹 페이지로 리디렉션되어 즉시
404
오류가 발생합니다.
문제를 해결하려면 이러한 사용자에게 부모 그룹 내의 어떤 프로젝트나 서브그룹에 대해 게스트 역할 이상을 부여하세요.