외부 사용자
내부 또는 개인 프로젝트에만 액세스하도록 원하는 경우, 외부 사용자(External Users)를 생성할 수 있습니다. 이 기능은 예를 들어 특정 프로젝트에서 작업하는 계약자가 해당 프로젝트에만 액세스해야 하는 경우에 유용할 수 있습니다.
외부 사용자:
- 자신의 개인 네임스페이스에서 프로젝트, 그룹 및 스니펫을 생성할 수 없습니다.
- 명시적으로 액세스 권한이 부여된 최상위 그룹 내에서만 프로젝트(포크 포함), 하위 그룹 및 스니펫을 생성할 수 있습니다.
- 공개 그룹 및 공개 프로젝트에 액세스할 수 있습니다.
- 명시적으로 액세스 권한이 부여된 프로젝트 및 그룹에만 액세스할 수 있습니다. 외부 사용자는 부여받지 않은 내부 또는 개인 프로젝트 또는 그룹에 액세스할 수 없습니다.
- 공개 스니펫에만 액세스할 수 있습니다.
사용자를 프로젝트 또는 그룹 멤버로 추가하여 액세스를 부여할 수 있습니다. 일반 사용자와 마찬가지로 프로젝트 또는 그룹에서 역할을 받아 권한 테이블에 기술된 모든 능력을 갖습니다. 예를 들어, 외부 사용자가 게스트로 추가되고 프로젝트가 내부 또는 개인인 경우 코드에 액세스할 수 없습니다. 외부 사용자가 코드에 액세스하도록 하려면 리포터 수준 이상의 외부 사용자 액세스를 부여해야 합니다. 항상 프로젝트의 가시성 및 권한 설정과 사용자의 권한 수준을 고려해야 합니다.
관리자는 다음 중 하나의 방법으로 사용자를 외부로 표시할 수 있습니다:
- API를 통해.
- GitLab UI를 사용:
- 왼쪽 사이드바에서 하단에서 관리 영역(Admin Area)을 선택합니다.
- 왼쪽 사이드바에서 개요 > 사용자를 선택하여 새 사용자를 생성하거나 기존 사용자를 수정합니다. 여기에서 사용자를 외부로 표시하는 옵션을 찾을 수 있습니다.
또한 사용자는 다음을 사용하여 외부 사용자로 설정할 수 있습니다:
새 사용자를 외부로 설정
기본적으로 새 사용자는 외부 사용자로 설정되지 않습니다. 관리자에 의해 이 동작을 변경할 수 있습니다:
- 왼쪽 사이드바에서 하단에서 관리 영역(Admin Area)을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한 섹션을 확장합니다.
새로운 사용자를 외부 사용자로 생성하는 기본 동작을 변경하는 경우, 일부 정의된 내부 사용자 집합을 정의하여 좁힐 수 있는 옵션이 있습니다. 내부 사용자(Internal users) 필드를 사용하여 기본 내부 사용자로 설정되는 이메일 주소 정규식 패턴을 지정할 수 있습니다. 이메일 주소가 정규식 패턴과 일치하는 새 사용자는 외부 공동 작업자 대신 내부로 설정됩니다.
정규식 패턴 형식은 루비로 되어 있지만 JavaScript로 변환할 수 있어야 하며, 대소문자 무시 플래그가 설정되어 있어야 합니다(/regex pattern/i
). 몇 가지 예시는 다음과 같습니다:
-
.internal@domain\.com
을 사용하여.internal@domain.com
으로 끝나는 이메일 주소를 내부로 표시합니다. -
^(?:(?!\.ext@domain\.com).)*$\r?
를 사용하여.ext@domain.com
을 포함하지 않는 이메일 주소를 내부로 표시합니다.