외부 사용자

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

내부 또는 비공개 프로젝트에만 액세스할 수있는 사용자가 지원되는 경우 외부 사용자를 만드는 옵션이 있습니다. 예를 들어, 계약자가 특정 프로젝트에서 작업하고 해당 프로젝트에만 액세스해야하는 경우 이 기능이 유용할 수 있습니다.

외부 사용자 :

  • 개인 네임 스페이스에서는 프로젝트, 그룹 및 코드 스니펫을 만들 수 없습니다.
  • 명시적으로 권한이 부여 된 최상위 그룹 내에서만 프로젝트 (포함 분기), 하위 그룹 및 코드 스니펫을 만들 수 있습니다.
  • 공개 그룹 및 공개 프로젝트에 액세스 할 수 있습니다.
  • 명시 적으로 액세스 권한이 부여 된 프로젝트 및 그룹에만 액세스 할 수 있습니다. 외부 사용자는 명시 적으로 부여되지 않은 내부 또는 비공개 프로젝트 또는 그룹에 액세스 할 수 없습니다.
  • 공개 코드 스니펫에만 액세스 할 수 있습니다.

사용자는 프로젝트 또는 그룹에 사용자를 멤버로 추가함으로써 액세스 권한을 부여 할 수 있습니다. 일반 사용자처럼 프로젝트 또는 그룹에 대한 역할을받아 해당 허가 테이블에 언급된 모든 기능을받습니다. 예를 들어, 외부 사용자가 게스트로 추가되고 프로젝트가 내부 또는 비공개 인 경우 코드에 액세스 할 수 없습니다. 코드에 액세스하려면 외부 사용자에게 적어도 리포터 수준 이상의 액세스 권한을 부여해야합니다. 항상 프로젝트의 가시성허가 설정 및 사용자의 허가 수준을 고려해야합니다.

참고 : 외부 사용자는 최종 사용자 자격으로 여전히 라이선스 좌석에 포함됩니다. (Ultimate tier)에서 사용자가 게스트 역할을 사용하지 않는 한.

관리자는 사용자를 외부 사용자로 표시 할 수 있습니다.

  • API를 통해.
  • GitLab UI 사용 :
    1. 좌측 사이드 바에서 하단에서 관리를 선택합니다.
    2. 좌측 사이드 바에서 개요 > 사용자를 선택하여 새 사용자를 만들거나 기존 사용자를 편집합니다. 거기에서 사용자를 외부로 지정 할 수있는 옵션을 찾을 수 있습니다.

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

새 사용자를 외부 사용자로 지정하기

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

  1. 좌측 사이드 바에서 하단에서 관리를 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 펼칩니다.

새 사용자를 외부 사용자로 만드는 기본 동작을 변경하면 내부 사용자 세트를 정의하여 좁히는 옵션이 있습니다. 내부 사용자 필드를 사용하여 기본 내부 사용자로 설정 될 새 사용자를 식별하는 이메일 주소 regex 패턴을 지정할 수 있습니다. 정규식 패턴 형식은 Ruby이지만 JavaScript로 변환이 가능해야하며 대소 문자를 구분하지 않는 플래그가 설정되어야합니다(/regex pattern/i). 몇 가지 예시는 다음과 같습니다:

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

경고 : 이 정규식은 정규 표현식 거부 (ReDoS) 공격을 유발할 수 있음에 유의하십시오.