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