사용자 역할의 사전 정의된 시스템
인스턴스
사용자 유형
각 사용자는 다음 중 하나일 수 있습니다:
- 일반.
- 외부 - 직접 구성원인 경우만 그룹 및 프로젝트에 액세스합니다.
- 내부 사용자 - 시스템에서 생성됨.
-
감사자:
- 프로젝트 또는 그룹 설정 메뉴에 액세스하지 못함.
- 관리자 영역에 액세스하지 못함.
- 기타 모든 것에 대해 읽기 전용 액세스 권한 보유.
- 관리자 - 읽기-쓰기 권한 보유.
각 사용자 유형의 사용 방법에 대한 자세한 내용은 권한 페이지를 참조하세요.
그룹 및 프로젝트
일반 권한
그룹 및 프로젝트는 다음 가시성 수준을 가질 수 있습니다:
- 공개 (
20
) - 모든 사람이 엔티티를 볼 수 있음 - 내부 (
10
) - 인증된 사용자만 엔티티를 볼 수 있음 - 비공개 (
0
) - 엔티티에 대한 액세스가 해당 엔티티의 승인된 구성원에게만 허용됨
기본적으로 하위 그룹은 더 높은 가시성 수준을 가질 수 없습니다. 예를 들어, 새로운 비공개 그룹을 만든다면 공개 하위 그룹을 포함할 수 없습니다.
그룹의 가시성 수준은 모든 하위 그룹 및 하위 프로젝트가 동일하거나 더 낮은 가시성 수준을 가질 경우에만 변경할 수 있습니다. 예를 들어, 그룹은 내부로만 설정될 수 있습니다만, 모든 하위 그룹과 프로젝트가 내부 또는 비공개인 경우에만 그렇습니다.
경고: 기존 그룹을 더 낮은 가시성 수준으로 이관하더라도 해당 조치는 하위 그룹을 동일하게 이관시키지 않습니다. 이는 알려진 문제입니다.
가시성 수준은 Gitlab::VisibilityLevel
모듈에서 찾을 수 있습니다.
특정 기능 권한
추가로, 다음 프로젝트 기능은 다른 가시성 수준을 가질 수 있습니다:
- 이슈
- 저장소
- 머지 요청
- 포크
- 파이프라인
- 분석
- 요구 사항
- 보안 및 규정 준수
- 위키
- 코드 스니펫
- 페이지
- 작업
- 메트릭 대시보드
이러한 기능은 “모든 사용자에게 액세스 가능” 또는 “프로젝트 구성원만 액세스 가능”으로 설정할 수 있습니다. 비공개 프로젝트의 경우 기본적으로 프로젝트 구성원만 액세스할 수 있습니다.
구성원
사용자는 여러 그룹 및 프로젝트의 구성원일 수 있습니다. 다음 액세스
수준이 가능합니다(Gitlab::Access
모듈에 정의됨):
- 액세스 없음 (
0
) -
최소한의 액세스 (
5
) - 게스트 (
10
) - 기술 지원단 (
20
) - 개발자 (
30
) - 유지 관리자 (
40
) - 소유자 (
50
)
사용자가 프로젝트 및 프로젝트 상위 그룹의 구성원인 경우, 프로젝트의 적용된 액세스 수준이 가장 높음.
사용자가 프로젝트의 구성원이지만 상위 그룹의 구성원이 아닌 경우에도, 그룹 및 엔티티(에픽과 같은)를 볼 수 있습니다.
프로젝트 멤버십(그룹 멤버십이 이미 고려된 경우)
은 project_authorizations
테이블에 저장됩니다.
참고: 개인 네임스페이스의 프로젝트는 소유자 역할의 최대 권한을 가지고 있습니다.
게스트 역할
GitLab의 게스트 역할을 가진 사용자는 프로젝트 계획, 차단 요소 및 기타 진행 표시자를 볼 수 있습니다. 그들이 만들지 않은 데이터를 수정할 수 없지만, 게스트들은 프로젝트에 기여하여 프로젝트 작업 항목을 만들고 연결함으로써 프로젝트에 기여할 수 있습니다. 게스트들은 또한 다음과 같은 프로젝트의 고수준 정보를 볼 수 있습니다:
- 분석
- 사건 정보
- 이슈 및 에픽
- 라이센스
더 많은 정보는 프로젝트 멤버 권한을 참조하세요.
비밀 이슈
비밀 이슈는 최소한 기술 지원단 (게스트는 액세스할 수 없음)의 프로젝트 구성원만 액세스할 수 있습니다. 추가로, 그들의 작성자와 담당자만 액세스할 수 있습니다.
라이센스 기능
일부 기능은 사용자가 올바른 라이센스 계획을 가지고 있을 때에만 액세스할 수 있습니다.
권한 종속성
기능 정책은 상당히 복잡할 수 있으며 여러 규칙으로 이뤄질 수 있습니다. 권한을 잘 설계하는 것은 가능한 한 기존 권한을 재사용하고 기능 액세스를 더 세분화하는 것을 의미합니다.
복잡한 리소스의 경우, 정보를 더 작은 조각으로 나누고 각 조각에 서로 다른 권한을 부여해야 합니다.
이 경우의 좋은 예는 병합 요청 위젯 및 보안 보고서_입니다. _파이프라인_의 가시성 수준에 따라 _보안 보고서_는 위젯에 표시되거나 그렇지 않을 수 있습니다. 따라서 _병합 요청 위젯, 파이프라인, 및 _보안 보고서_는 별도의 권한을 가지고 있습니다. 게다가, _병합 요청 위젯_과 _파이프라인_의 권한이 _보안 보고서_의 종속성입니다.
보안 기능의 권한 종속성
보안 기능은 병합 요청 및 CI 플로우와 통합되어 있기 때문에 복잡한 권한을 가지고 있습니다.
다음은 일부 권한 종속성의 목록입니다.
활동 수준 | 리소스 | 위치 | 권한 종속성 |
---|---|---|---|
보기 | 라이센스 정보 | 종속성 목록, 라이센스 준수 | 저장소를 볼 수 있음 |
보기 | 종속성 정보 | 종속성 목록, 라이센스 준수 | 저장소를 볼 수 있음 |
보기 | 취약점 정보 | 종속성 목록 | 보안 결과를 볼 수 있음 |
보기 | 프로젝트에 대한 블랙/화이트리스트 라이센스 | 라이센스 준수, 병합 요청 | 저장소를 볼 수 있음 |
보기 | 보안 결과 | 병합 요청, CI 작업 페이지, 파이프라인 보안 탭 | 프로젝트 및 CI 작업을 읽을 수 있음 |
보기 | 취약점 피드백 | 병합 요청 | 보안 결과를 읽을 수 있음 |
보기 | 종속성 목록 페이지 | 프로젝트 | 종속성 정보에 액세스할 수 있음 |
보기 | 라이센스 준수 페이지 | 프로젝트 | 라이센스 정보에 액세스할 수 있음 |