외부 사용자

Tier: Free, Premium, Ultimate Offering: Self-Managed

내부 또는 비공개 프로젝트에만 액세스 권한을 갖도록 원하는 경우, 외부 사용자를 생성할 수 있습니다. 예를 들어 계약자가 특정 프로젝트에서 작업하고 해당 프로젝트에만 액세스해야 하는 경우에 유용할 수 있습니다.

외부 사용자:

  • 개인 네임스페이스에서 프로젝트, 그룹 및 스니펫을 만들 수 없음.
  • 명시적으로 액세스 권한이 부여된 최상위 그룹 내에서만 프로젝트(포크 포함), 하위 그룹 및 스니펫을 생성할 수 있음.
  • 공개 그룹 및 공개 프로젝트에 액세스할 수 있음.
  • 명시적으로 액세스가 부여된 프로젝트 및 그룹에만 액세스할 수 있음. 외부 사용자는 액세스 권한이 없는 내부 또는 비공개 프로젝트 또는 그룹에 액세스할 수 없음.
  • 공개 스니펫에만 액세스할 수 있음.

액세스 권한은 사용자를 프로젝트 또는 그룹의 구성원으로 추가하여 부여할 수 있습니다. 일반적인 사용자와 마찬가지로 사용자는 프로젝트 또는 그룹에서 권한을 부여받아 모든 권한 표에 기술된 능력을 갖습니다. 예를 들어 외부 사용자가 게스트로 추가되고 프로젝트가 내부 또는 비공개인 경우, 코드에 액세스할 수 없으며, 코드에 액세스하려면 외부 사용자에게 리포터 이상의 액세스 권한을 부여해야 합니다. 항상 프로젝트의 가시성권한 설정과 사용자의 권한 수준을 고려해야 합니다.

참고: 외부 사용자는 권리 모드에서 여전히 라이선스 좌석에 포함되며, 그들이 권리: (FREE ALL) 계층에 게스트 역할을 가지고 있지 않은 경우에만 해당됩니다.

관리자는 다음 중 하나의 방법으로 사용자를 외부 사용자로 표시할 수 있습니다.

  • API를 통해.
  • GitLab UI를 사용:
    1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
    2. 왼쪽 사이드바에서 개요 > 사용자를 선택하여 새 사용자를 만들거나 기존 사용자를 편집합니다. 여기에서 사용자를 외부로 표시하는 옵션을 찾을 수 있습니다.

또한 사용자는 다음을 사용하여 외부 사용자로 설정할 수 있습니다.

새 사용자를 외부 사용자로 설정

기본적으로, 새로운 사용자는 외부 사용자로 설정되지 않습니다. 이 동작은 관리자에 의해 변경될 수 있습니다.

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.

새로운 사용자를 외부 사용자로 생성하는 기본 동작을 변경하면 해당 동작을 기본 내부 사용자로 식별하는 일련의 내부 사용자를 정의하여 세분화할 수 있는 옵션이 제공됩니다. 내부 사용자 필드를 사용하여 기본 내부 사용자로 설정된 새 사용자를 식별하는 이메일 주소 정규 표현식 패턴을 정의할 수 있습니다. 이메일 주소가 정규 표현식 패턴과 일치하는 새로운 사용자는 외부 협업자가 아닌 내부 사용자로 설정됩니다.

정규 표현식 패턴 형식은 루비로 되어 있지만, 자바스크립트로 변환될 수 있도록 설정되어 있어야 하며, 대소문자를 무시한 플래그가 설정되어 있어야 합니다(/정규 표현식 패턴/i). 다음은 일부 예시입니다:

  • .internal@domain\.com$를 사용하여 .internal@domain.com으로 끝나는 이메일 주소를 내부로 표시할 수 있습니다.
  • ^(?:(?!\.ext@domain\.com).)*$\r?를 사용하여 .ext@domain.com을 포함하지 않는 이메일 주소를 내부로 표시할 수 있습니다.

경고: 이 정규 표현식은 정규 표현식 거부 서비스 (ReDoS) 공격을 일으킬 수 있다는 점을 유의해야 합니다.