사용자 역할의 사전 정의 시스템
GitLab의 인스턴스, 그룹, 프로젝트 수준에서 사용자 유형, 가시성 수준, 멤버 접근 권한, 권한 의존성을 포함한 사전 정의 역할 시스템을 설명합니다.
인스턴스 # 사용자 유형 # 각 사용자는 다음 유형 중 하나일 수 있습니다: 일반(Regular). 외부(External) - 직접 멤버인 경우에만 그룹 및 프로젝트에 접근 가능. 내부 사용자 - 시스템이 생성. 감사자(Auditor) : 프로젝트 또는 그룹 설정 메뉴에 접근 불가. 관리자 영역에 접근 불가. 나머지 모든 항목에 대해 읽기 전용 접근. 관리자(Administrator) - 읽기-쓰기 접근. 각 사용자 유형의 사용 방법에 대한 자세한 내용은 권한 페이지 를 참조하세요. 역할 정의 YAML 파일 # 기본 역할은 config/authz/roles/ 하위의 YAML 파일에 정의되어 있습니다. 각 파일은 해당 역할의 직접 권한과 상속 계층을 지정합니다. 전체 스키마와 권한 해석 방식에 대해서는 역할 정의 YAML 파일 을 참조하세요. 그룹 및 프로젝트 # 일반 권한 # 그룹 및 프로젝트는 다음 가시성 수준을 가질 수 있습니다: public ( 20 ) - 모든 사람에게 표시되는 엔터티 internal ( 10 ) - 인증된 사용자에게 표시되는 엔터티 private ( 0 ) - 승인된 멤버에게만 표시되는 엔터티 기본적으로 하위 그룹은 더 높은 가시성 수준을 가질 수 없습니다 . 예를 들어, 새 private 그룹을 생성하면 그 안에 public 하위 그룹을 포함할 수 없습니다. 그룹의 가시성 수준은 모든 하위 그룹과 하위 프로젝트가 동일하거나 낮은 가시성 수준을 가지는 경우에만 변경할 수 있습니다. 예를 들어, 그룹을 internal로 설정하려면 모든 하위 그룹과 프로젝트가 internal 또는 private이어야 합니다. 기존 그룹을 낮은 가시성 수준으로 마이그레이션하면, 해당 작업이 하위 그룹을 동일한 방식으로 마이그레이션하지 않습니다. 이는 알려진 이슈 입니다. 가시성 수준은 Gitlab::VisibilityLevel 모듈에서 확인할 수 있습니다. 기능별 권한 # 추가로, 다음 프로젝트 기능들은 서로 다른 가시성 수준을 가질 수 있습니다: 이슈(Issues) 리포지터리(Repository) 머지 리퀘스트(Merge Request) 포크(Forks) 파이프라인(Pipelines) 분석(Analytics) 요구사항(Requirements) 보안 및 컴플라이언스(Security and compliance) 위키(Wiki) 스니펫(Snippets) 페이지(Pages) 운영(Operations) 메트릭 대시보드(Metrics Dashboard) 이러한 기능들은 "접근 권한이 있는 모든 사람(Everyone with Access)" 또는 "프로젝트 멤버만(Only Project Members)"으로 설정할 수 있습니다. 이는 public 또는 internal 프로젝트에서만 의미가 있습니다. private 프로젝트는 기본적으로 프로젝트 멤버만 접근할 수 있기 때문입니다. 멤버 # 사용자는 여러 그룹 및 프로젝트의 멤버가 될 수 있습니다. 다음 접근 수준이 사용 가능합니다( Gitlab::Access 모듈에 정의됨): 접근 없음( 0 )