InfoGrab Docs

액세스 및 가시성 제어

요약

GitLab 인스턴스 관리자는 브랜치, 프로젝트, 스니펫, 그룹 등에 대한 특정 제어를 적용할 수 있습니다. 가시성 및 액세스 제어 옵션에 액세스하려면: 인스턴스에 프로젝트 생성 보호를 추가할 수 있습니다. 프로젝트를 생성하는 데 필요한 기본 최소 역할 설정을 구성하면 새 그룹에 대한 기본값이 설정됩니다.

GitLab 인스턴스 관리자는 브랜치, 프로젝트, 스니펫, 그룹 등에 대한 특정 제어를 적용할 수 있습니다. 예를 들어 다음을 정의할 수 있습니다:

  • 프로젝트를 생성하거나 삭제할 수 있는 역할.
  • 삭제된 프로젝트 및 그룹의 보존 기간.
  • 그룹, 프로젝트, 스니펫의 가시성.
  • SSH 키에 허용되는 유형 및 길이.
  • 허용되는 프로토콜(SSH 또는 HTTPS) 및 클론 URL과 같은 Git 설정.
  • 푸시 미러링 및 풀 미러링 허용 또는 방지.

사전 요구 사항:

  • 관리자여야 합니다.

가시성 및 액세스 제어 옵션에 액세스하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.

프로젝트를 만들 수 있는 역할 정의#

인스턴스에 프로젝트 생성 보호를 추가할 수 있습니다. 이 보호는 인스턴스에서 그룹에 프로젝트를 추가할 수 있는 역할을 정의합니다.

프로젝트를 생성하는 데 필요한 기본 최소 역할 설정을 구성하면 새 그룹에 대한 기본값이 설정됩니다. 기존 그룹은 현재 권한을 유지합니다.

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 프로젝트를 생성하는 데 필요한 기본 최소 역할의 경우 원하는 역할을 선택합니다:
    • 아무도.
    • 관리자.
    • 소유자.
    • 유지 관리자.
    • 개발자.
  5. 변경 사항 저장을 선택합니다.
Note

관리자를 선택하고 관리자 모드가 활성화된 경우 관리자는 새 프로젝트를 만들기 위해 관리자 모드로 전환해야 합니다.

관리자만 프로젝트 삭제 가능하도록 제한#

사전 요구 사항:

  • 관리자이거나 프로젝트에서 소유자 역할이 있어야 합니다.

관리자만 프로젝트 삭제를 제한하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 프로젝트를 삭제할 수 있는 권한으로 스크롤하여 관리자를 선택합니다.
  5. 변경 사항 저장을 선택합니다.

제한을 비활성화하려면:

  1. 소유자 및 관리자를 선택합니다.
  2. 변경 사항 저장을 선택합니다.

삭제 보호#

히스토리
  • GitLab 16.0에서 일반 사용 가능이 되었습니다. Premium 및 Ultimate만 해당.
  • GitLab 18.0에서 GitLab Premium에서 GitLab Free로 이동되었습니다.

삭제 보호는 인스턴스에서 그룹 및 프로젝트의 우발적인 삭제를 방지합니다.

보존 기간#

그룹과 프로젝트는 사용자가 정의한 보존 기간 동안 복원 가능한 상태를 유지합니다. 기본적으로 보존 기간은 30일이지만 1에서 90일 사이의 값으로 변경할 수 있습니다.

사전 요구 사항:

  • 관리자 액세스 권한이 있어야 합니다.

그룹 및 프로젝트에 대한 삭제 보호를 구성하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 보존 기간으로 스크롤하여 보존 기간을 1에서 90일 사이의 값으로 설정합니다.
  5. 변경 사항 저장을 선택합니다.

기본값 재정의 및 영구 삭제#

지연을 재정의하고 삭제 예정으로 표시된 프로젝트를 영구적으로 삭제하려면:

  1. 프로젝트를 복원합니다.
  2. 프로젝트 관리에 설명된 대로 프로젝트를 삭제합니다.

프로젝트 가시성 기본값 구성#

새 프로젝트의 기본 가시성 수준을 설정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 원하는 기본 프로젝트 가시성을 선택합니다:
    • 비공개 - 각 사용자에게 명시적으로 프로젝트 액세스 권한을 부여합니다. 이 프로젝트가 그룹의 일부인 경우 그룹 구성원에게 액세스 권한을 부여합니다.
    • 내부 - 외부 사용자를 제외한 모든 인증된 사용자가 프로젝트에 액세스할 수 있습니다.
    • 공개 - 모든 사용자가 인증 없이 프로젝트에 액세스할 수 있습니다.
  5. 변경 사항 저장을 선택합니다.

스니펫 가시성 기본값 구성#

스니펫의 기본 가시성 수준을 설정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 기본 스니펫 가시성의 경우 원하는 가시성 수준을 선택합니다:
    • 비공개.
    • 내부. 이 설정은 GitLab.com의 새 프로젝트, 그룹, 스니펫에는 비활성화됩니다. 내부 가시성 설정을 사용하는 기존 스니펫은 이 설정을 유지합니다. 이 변경 사항에 대해 자세히 알아보려면 이슈 12388을 참조하세요.
    • 공개.
  5. 변경 사항 저장을 선택합니다.

그룹 가시성 기본값 구성#

새 그룹의 기본 가시성 수준을 설정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 기본 그룹 가시성의 경우 원하는 가시성 수준을 선택합니다:
    • 비공개 - 멤버만 그룹과 프로젝트를 볼 수 있습니다.
    • 내부 - 외부 사용자를 제외한 모든 인증된 사용자가 그룹과 모든 내부 프로젝트를 볼 수 있습니다.
    • 공개 - 그룹과 모든 공개 프로젝트를 보는 데 인증이 필요하지 않습니다.
  5. 변경 사항 저장을 선택합니다.

그룹 가시성에 대한 자세한 내용은 그룹 가시성을 참조하세요.

가시성 수준 제한#

히스토리
  • GitLab 16.3에서 기본 프로젝트 및 그룹 가시성 제한을 방지하도록 prevent_visibility_restriction이라는 플래그와 함께 변경되었습니다. 기본적으로 비활성화됩니다.
  • prevent_visibility_restriction이 GitLab 16.4에서 기본적으로 활성화되었습니다.
  • prevent_visibility_restriction이 GitLab 16.7에서 제거되었습니다.

가시성 수준을 제한할 때 이러한 제한이 변경 중인 항목에서 가시성을 상속하는 하위 그룹 및 프로젝트의 권한과 어떻게 상호 작용하는지 고려하세요.

이 설정은 개인 네임스페이스에서 생성된 프로젝트에는 적용되지 않습니다. 이 기능을 엔터프라이즈 사용자로 확장하려는 기능 요청이 있습니다.

그룹, 프로젝트, 스니펫, 선택한 페이지의 가시성 수준을 제한하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 제한된 가시성 수준의 경우 제한할 원하는 가시성 수준을 선택합니다.
    • 공개 수준을 제한하는 경우:
      • 관리자만 공개 그룹, 프로젝트, 스니펫을 만들 수 있습니다.
      • 사용자 프로필은 웹 인터페이스를 통해 인증된 사용자에게만 표시됩니다.
      • 사용자 속성은 GraphQL API를 통해 표시되지 않습니다.
    • 내부 수준을 제한하는 경우:
      • 관리자만 내부 그룹, 프로젝트, 스니펫을 만들 수 있습니다.
    • 비공개 수준을 제한하는 경우:
      • 관리자만 비공개 그룹, 프로젝트, 스니펫을 만들 수 있습니다.
  5. 변경 사항 저장을 선택합니다.
Note

새 프로젝트 또는 그룹의 기본값으로 설정된 가시성 수준은 제한할 수 없습니다. 반대로 제한된 가시성 수준을 새 프로젝트 또는 그룹의 기본값으로 설정할 수 없습니다.

활성화된 Git 액세스 프로토콜 구성#

GitLab 액세스 제한을 사용하면 사용자가 GitLab과 통신하는 데 사용할 수 있는 프로토콜을 선택할 수 있습니다. 액세스 프로토콜을 비활성화해도 서버 자체에 대한 포트 액세스는 차단되지 않습니다. 프로토콜에 사용되는 포트(SSH 또는 HTTP(S))는 여전히 액세스 가능합니다. GitLab 제한은 애플리케이션 수준에서 적용됩니다.

GitLab은 선택한 프로토콜에 대해서만 Git 작업을 허용합니다:

  • SSH와 HTTP(S)를 모두 활성화하면 사용자는 어느 프로토콜이든 선택할 수 있습니다.
  • 하나의 프로토콜만 활성화하면 프로젝트 페이지에는 허용된 프로토콜의 URL만 표시되며 변경 옵션은 없습니다.

인스턴스의 모든 프로젝트에 대해 활성화된 Git 액세스 프로토콜을 지정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 활성화된 Git 액세스 프로토콜의 경우 원하는 프로토콜을 선택합니다:
    • SSH와 HTTP(S) 모두.
    • SSH만.
    • HTTP(S)만.
  5. 변경 사항 저장을 선택합니다.
Warning

GitLab은 GitLab CI/CD 잡 토큰으로 수행된 Git 클론 또는 페치 요청에 대해 HTTP(S) 프로토콜을 허용합니다. GitLab Runner와 CI/CD 잡이 이 설정을 필요로 하기 때문에 SSH만을 선택하더라도 이 작동은 발생합니다.

HTTP(S)용 Git 클론 URL 사용자 정의#

HTTP(S)용 프로젝트 Git 클론 URL을 사용자 정의할 수 있으며, 이는 프로젝트 페이지에서 사용자에게 표시되는 클론 패널에 영향을 줍니다. 예를 들어:

  • GitLab 인스턴스가 https://example.com에 있으면 프로젝트 클론 URL은 https://example.com/foo/bar.git와 같습니다.
  • 대신 https://git.example.com/gitlab/foo/bar.git와 같은 클론 URL을 원하면 이 설정을 https://git.example.com/gitlab/로 설정할 수 있습니다.

gitlab.rb에서 HTTP(S)용 사용자 정의 Git 클론 URL을 지정하려면 gitlab_rails['gitlab_ssh_host']에 새 값을 설정합니다. GitLab UI에서 새 값을 지정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. HTTP(S)용 사용자 정의 Git 클론 URL에 루트 URL을 입력합니다.
  5. 변경 사항 저장을 선택합니다.

RSA, DSA, ECDSA, ED25519, ECDSA_SK, ED25519_SK SSH 키에 대한 기본값 구성#

이 옵션은 SSH 키에 대해 허용되는 유형 및 길이를 지정합니다.

각 키 유형에 대한 제한을 지정하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. RSA SSH 키로 이동합니다.
  5. 각 키 유형에 대해 전혀 사용을 허용하거나 방지하거나, 다음 길이만 허용할 수 있습니다:
    • 최소 1024비트.
    • 최소 2048비트.
    • 최소 3072비트.
    • 최소 4096비트.
    • 최소 1024비트.
  6. 변경 사항 저장을 선택합니다.

프로젝트 미러링 활성화#

GitLab은 기본적으로 프로젝트 미러링을 활성화합니다. 비활성화하면 풀 미러링푸시 미러링 모두 모든 저장소에서 더 이상 작동하지 않습니다. 관리자 사용자가 프로젝트별로만 다시 활성화할 수 있습니다.

인스턴스의 프로젝트 유지 관리자가 프로젝트별로 미러링을 구성할 수 있도록 허용하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 저장소를 선택합니다.
  3. 저장소 미러링을 확장합니다.
  4. 프로젝트 유지 관리자가 저장소 미러링을 구성하도록 허용을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

전역 허용 IP 주소 범위 구성#

관리자는 IP 주소 범위를 그룹당 IP 제한과 결합할 수 있습니다. 전역으로 허용된 IP 주소는 그룹이 자체 IP 주소 제한을 설정하더라도 GitLab 설치의 일부 기능이 올바르게 작동할 수 있도록 합니다.

예를 들어 GitLab Pages 데몬이 10.0.0.0/24 범위에서 실행되는 경우 전역으로 해당 범위를 허용합니다. 그룹의 IP 주소 제한에 10.0.0.0/24 범위가 포함되지 않더라도 GitLab Pages는 파이프라인에서 아티팩트를 가져올 수 있습니다.

그룹의 허용 목록에 IP 주소 범위를 추가하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 전역 허용 IP 범위에서 IP 주소 범위 목록을 제공합니다. 이 목록은:
    • IP 주소 범위 수에 제한이 없습니다.
    • SSH 또는 HTTP 승인된 IP 주소 범위 모두에 적용됩니다. 이 목록을 승인 유형별로 분리할 수 없습니다.
  5. 변경 사항 저장을 선택합니다.

그룹 및 프로젝트 초대 방지#

히스토리
  • GitLab 18.0에서 도입되었습니다. 기본적으로 비활성화됩니다.

관리자는 비관리자가 인스턴스의 모든 그룹 또는 프로젝트에 사용자를 초대하는 것을 방지할 수 있습니다. 이 설정을 구성하면 관리자만 인스턴스의 그룹 또는 프로젝트에 사용자를 초대할 수 있습니다.

Note

공유 또는 마이그레이션과 같은 기능은 여전히 이러한 그룹 및 프로젝트에 대한 액세스를 허용할 수 있습니다.

사전 요구 사항:

  • 관리자여야 합니다.

초대를 방지하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 그룹 멤버 초대 방지 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

GitLab 크레딧 사용자 데이터 표시#

히스토리
  • GitLab 18.7에서 사용자 데이터 표시를 허용하는 인스턴스 설정이 usage_billing_dev라는 플래그와 함께 도입되었습니다. 기본적으로 활성화됨.
  • 기능 플래그 usage_billing_dev가 GitLab 18.10에서 제거되었습니다.

사전 요구 사항:

  • 관리자여야 합니다.

GitLab 크레딧 대시보드에서 사용자 데이터 표시를 켜려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. GitLab 크레딧 대시보드에서 사용자 데이터 표시 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

액세스 및 가시성 제어

Tier: Premium, Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GitLab 인스턴스 관리자는 브랜치, 프로젝트, 스니펫, 그룹 등에 대한 특정 제어를 적용할 수 있습니다. 가시성 및 액세스 제어 옵션에 액세스하려면: 인스턴스에 프로젝트 생성 보호를 추가할 수 있습니다. 프로젝트를 생성하는 데 필요한 기본 최소 역할 설정을 구성하면 새 그룹에 대한 기본값이 설정됩니다.

GitLab 인스턴스 관리자는 브랜치, 프로젝트, 스니펫, 그룹 등에 대한 특정 제어를 적용할 수 있습니다. 예를 들어 다음을 정의할 수 있습니다:

  • 프로젝트를 생성하거나 삭제할 수 있는 역할.
  • 삭제된 프로젝트 및 그룹의 보존 기간.
  • 그룹, 프로젝트, 스니펫의 가시성.
  • SSH 키에 허용되는 유형 및 길이.
  • 허용되는 프로토콜(SSH 또는 HTTPS) 및 클론 URL과 같은 Git 설정.
  • 푸시 미러링 및 풀 미러링 허용 또는 방지.

사전 요구 사항:

  • 관리자여야 합니다.

가시성 및 액세스 제어 옵션에 액세스하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.

프로젝트를 만들 수 있는 역할 정의#

인스턴스에 프로젝트 생성 보호를 추가할 수 있습니다. 이 보호는 인스턴스에서 그룹에 프로젝트를 추가할 수 있는 역할을 정의합니다.

프로젝트를 생성하는 데 필요한 기본 최소 역할 설정을 구성하면 새 그룹에 대한 기본값이 설정됩니다. 기존 그룹은 현재 권한을 유지합니다.

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 프로젝트를 생성하는 데 필요한 기본 최소 역할의 경우 원하는 역할을 선택합니다:
    • 아무도.
    • 관리자.
    • 소유자.
    • 유지 관리자.
    • 개발자.
  5. 변경 사항 저장을 선택합니다.
Note

관리자를 선택하고 관리자 모드가 활성화된 경우 관리자는 새 프로젝트를 만들기 위해 관리자 모드로 전환해야 합니다.

관리자만 프로젝트 삭제 가능하도록 제한#

사전 요구 사항:

  • 관리자이거나 프로젝트에서 소유자 역할이 있어야 합니다.

관리자만 프로젝트 삭제를 제한하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 프로젝트를 삭제할 수 있는 권한으로 스크롤하여 관리자를 선택합니다.
  5. 변경 사항 저장을 선택합니다.

제한을 비활성화하려면:

  1. 소유자 및 관리자를 선택합니다.
  2. 변경 사항 저장을 선택합니다.

삭제 보호#

히스토리
  • GitLab 16.0에서 일반 사용 가능이 되었습니다. Premium 및 Ultimate만 해당.
  • GitLab 18.0에서 GitLab Premium에서 GitLab Free로 이동되었습니다.

삭제 보호는 인스턴스에서 그룹 및 프로젝트의 우발적인 삭제를 방지합니다.

보존 기간#

그룹과 프로젝트는 사용자가 정의한 보존 기간 동안 복원 가능한 상태를 유지합니다. 기본적으로 보존 기간은 30일이지만 1에서 90일 사이의 값으로 변경할 수 있습니다.

사전 요구 사항:

  • 관리자 액세스 권한이 있어야 합니다.

그룹 및 프로젝트에 대한 삭제 보호를 구성하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 보존 기간으로 스크롤하여 보존 기간을 1에서 90일 사이의 값으로 설정합니다.
  5. 변경 사항 저장을 선택합니다.

기본값 재정의 및 영구 삭제#

지연을 재정의하고 삭제 예정으로 표시된 프로젝트를 영구적으로 삭제하려면:

  1. 프로젝트를 복원합니다.
  2. 프로젝트 관리에 설명된 대로 프로젝트를 삭제합니다.

프로젝트 가시성 기본값 구성#

새 프로젝트의 기본 가시성 수준을 설정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 원하는 기본 프로젝트 가시성을 선택합니다:
    • 비공개 - 각 사용자에게 명시적으로 프로젝트 액세스 권한을 부여합니다. 이 프로젝트가 그룹의 일부인 경우 그룹 구성원에게 액세스 권한을 부여합니다.
    • 내부 - 외부 사용자를 제외한 모든 인증된 사용자가 프로젝트에 액세스할 수 있습니다.
    • 공개 - 모든 사용자가 인증 없이 프로젝트에 액세스할 수 있습니다.
  5. 변경 사항 저장을 선택합니다.

스니펫 가시성 기본값 구성#

스니펫의 기본 가시성 수준을 설정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 기본 스니펫 가시성의 경우 원하는 가시성 수준을 선택합니다:
    • 비공개.
    • 내부. 이 설정은 GitLab.com의 새 프로젝트, 그룹, 스니펫에는 비활성화됩니다. 내부 가시성 설정을 사용하는 기존 스니펫은 이 설정을 유지합니다. 이 변경 사항에 대해 자세히 알아보려면 이슈 12388을 참조하세요.
    • 공개.
  5. 변경 사항 저장을 선택합니다.

그룹 가시성 기본값 구성#

새 그룹의 기본 가시성 수준을 설정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 기본 그룹 가시성의 경우 원하는 가시성 수준을 선택합니다:
    • 비공개 - 멤버만 그룹과 프로젝트를 볼 수 있습니다.
    • 내부 - 외부 사용자를 제외한 모든 인증된 사용자가 그룹과 모든 내부 프로젝트를 볼 수 있습니다.
    • 공개 - 그룹과 모든 공개 프로젝트를 보는 데 인증이 필요하지 않습니다.
  5. 변경 사항 저장을 선택합니다.

그룹 가시성에 대한 자세한 내용은 그룹 가시성을 참조하세요.

가시성 수준 제한#

히스토리
  • GitLab 16.3에서 기본 프로젝트 및 그룹 가시성 제한을 방지하도록 prevent_visibility_restriction이라는 플래그와 함께 변경되었습니다. 기본적으로 비활성화됩니다.
  • prevent_visibility_restriction이 GitLab 16.4에서 기본적으로 활성화되었습니다.
  • prevent_visibility_restriction이 GitLab 16.7에서 제거되었습니다.

가시성 수준을 제한할 때 이러한 제한이 변경 중인 항목에서 가시성을 상속하는 하위 그룹 및 프로젝트의 권한과 어떻게 상호 작용하는지 고려하세요.

이 설정은 개인 네임스페이스에서 생성된 프로젝트에는 적용되지 않습니다. 이 기능을 엔터프라이즈 사용자로 확장하려는 기능 요청이 있습니다.

그룹, 프로젝트, 스니펫, 선택한 페이지의 가시성 수준을 제한하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 제한된 가시성 수준의 경우 제한할 원하는 가시성 수준을 선택합니다.
    • 공개 수준을 제한하는 경우:
      • 관리자만 공개 그룹, 프로젝트, 스니펫을 만들 수 있습니다.
      • 사용자 프로필은 웹 인터페이스를 통해 인증된 사용자에게만 표시됩니다.
      • 사용자 속성은 GraphQL API를 통해 표시되지 않습니다.
    • 내부 수준을 제한하는 경우:
      • 관리자만 내부 그룹, 프로젝트, 스니펫을 만들 수 있습니다.
    • 비공개 수준을 제한하는 경우:
      • 관리자만 비공개 그룹, 프로젝트, 스니펫을 만들 수 있습니다.
  5. 변경 사항 저장을 선택합니다.
Note

새 프로젝트 또는 그룹의 기본값으로 설정된 가시성 수준은 제한할 수 없습니다. 반대로 제한된 가시성 수준을 새 프로젝트 또는 그룹의 기본값으로 설정할 수 없습니다.

활성화된 Git 액세스 프로토콜 구성#

GitLab 액세스 제한을 사용하면 사용자가 GitLab과 통신하는 데 사용할 수 있는 프로토콜을 선택할 수 있습니다. 액세스 프로토콜을 비활성화해도 서버 자체에 대한 포트 액세스는 차단되지 않습니다. 프로토콜에 사용되는 포트(SSH 또는 HTTP(S))는 여전히 액세스 가능합니다. GitLab 제한은 애플리케이션 수준에서 적용됩니다.

GitLab은 선택한 프로토콜에 대해서만 Git 작업을 허용합니다:

  • SSH와 HTTP(S)를 모두 활성화하면 사용자는 어느 프로토콜이든 선택할 수 있습니다.
  • 하나의 프로토콜만 활성화하면 프로젝트 페이지에는 허용된 프로토콜의 URL만 표시되며 변경 옵션은 없습니다.

인스턴스의 모든 프로젝트에 대해 활성화된 Git 액세스 프로토콜을 지정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 활성화된 Git 액세스 프로토콜의 경우 원하는 프로토콜을 선택합니다:
    • SSH와 HTTP(S) 모두.
    • SSH만.
    • HTTP(S)만.
  5. 변경 사항 저장을 선택합니다.
Warning

GitLab은 GitLab CI/CD 잡 토큰으로 수행된 Git 클론 또는 페치 요청에 대해 HTTP(S) 프로토콜을 허용합니다. GitLab Runner와 CI/CD 잡이 이 설정을 필요로 하기 때문에 SSH만을 선택하더라도 이 작동은 발생합니다.

HTTP(S)용 Git 클론 URL 사용자 정의#

HTTP(S)용 프로젝트 Git 클론 URL을 사용자 정의할 수 있으며, 이는 프로젝트 페이지에서 사용자에게 표시되는 클론 패널에 영향을 줍니다. 예를 들어:

  • GitLab 인스턴스가 https://example.com에 있으면 프로젝트 클론 URL은 https://example.com/foo/bar.git와 같습니다.
  • 대신 https://git.example.com/gitlab/foo/bar.git와 같은 클론 URL을 원하면 이 설정을 https://git.example.com/gitlab/로 설정할 수 있습니다.

gitlab.rb에서 HTTP(S)용 사용자 정의 Git 클론 URL을 지정하려면 gitlab_rails['gitlab_ssh_host']에 새 값을 설정합니다. GitLab UI에서 새 값을 지정하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. HTTP(S)용 사용자 정의 Git 클론 URL에 루트 URL을 입력합니다.
  5. 변경 사항 저장을 선택합니다.

RSA, DSA, ECDSA, ED25519, ECDSA_SK, ED25519_SK SSH 키에 대한 기본값 구성#

이 옵션은 SSH 키에 대해 허용되는 유형 및 길이를 지정합니다.

각 키 유형에 대한 제한을 지정하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. RSA SSH 키로 이동합니다.
  5. 각 키 유형에 대해 전혀 사용을 허용하거나 방지하거나, 다음 길이만 허용할 수 있습니다:
    • 최소 1024비트.
    • 최소 2048비트.
    • 최소 3072비트.
    • 최소 4096비트.
    • 최소 1024비트.
  6. 변경 사항 저장을 선택합니다.

프로젝트 미러링 활성화#

GitLab은 기본적으로 프로젝트 미러링을 활성화합니다. 비활성화하면 풀 미러링푸시 미러링 모두 모든 저장소에서 더 이상 작동하지 않습니다. 관리자 사용자가 프로젝트별로만 다시 활성화할 수 있습니다.

인스턴스의 프로젝트 유지 관리자가 프로젝트별로 미러링을 구성할 수 있도록 허용하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 저장소를 선택합니다.
  3. 저장소 미러링을 확장합니다.
  4. 프로젝트 유지 관리자가 저장소 미러링을 구성하도록 허용을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

전역 허용 IP 주소 범위 구성#

관리자는 IP 주소 범위를 그룹당 IP 제한과 결합할 수 있습니다. 전역으로 허용된 IP 주소는 그룹이 자체 IP 주소 제한을 설정하더라도 GitLab 설치의 일부 기능이 올바르게 작동할 수 있도록 합니다.

예를 들어 GitLab Pages 데몬이 10.0.0.0/24 범위에서 실행되는 경우 전역으로 해당 범위를 허용합니다. 그룹의 IP 주소 제한에 10.0.0.0/24 범위가 포함되지 않더라도 GitLab Pages는 파이프라인에서 아티팩트를 가져올 수 있습니다.

그룹의 허용 목록에 IP 주소 범위를 추가하려면:

사전 요구 사항:

  • 관리자여야 합니다.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 전역 허용 IP 범위에서 IP 주소 범위 목록을 제공합니다. 이 목록은:
    • IP 주소 범위 수에 제한이 없습니다.
    • SSH 또는 HTTP 승인된 IP 주소 범위 모두에 적용됩니다. 이 목록을 승인 유형별로 분리할 수 없습니다.
  5. 변경 사항 저장을 선택합니다.

그룹 및 프로젝트 초대 방지#

히스토리
  • GitLab 18.0에서 도입되었습니다. 기본적으로 비활성화됩니다.

관리자는 비관리자가 인스턴스의 모든 그룹 또는 프로젝트에 사용자를 초대하는 것을 방지할 수 있습니다. 이 설정을 구성하면 관리자만 인스턴스의 그룹 또는 프로젝트에 사용자를 초대할 수 있습니다.

Note

공유 또는 마이그레이션과 같은 기능은 여전히 이러한 그룹 및 프로젝트에 대한 액세스를 허용할 수 있습니다.

사전 요구 사항:

  • 관리자여야 합니다.

초대를 방지하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. 그룹 멤버 초대 방지 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

GitLab 크레딧 사용자 데이터 표시#

히스토리
  • GitLab 18.7에서 사용자 데이터 표시를 허용하는 인스턴스 설정이 usage_billing_dev라는 플래그와 함께 도입되었습니다. 기본적으로 활성화됨.
  • 기능 플래그 usage_billing_dev가 GitLab 18.10에서 제거되었습니다.

사전 요구 사항:

  • 관리자여야 합니다.

GitLab 크레딧 대시보드에서 사용자 데이터 표시를 켜려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 가시성 및 액세스 제어를 확장합니다.
  4. GitLab 크레딧 대시보드에서 사용자 데이터 표시 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.