계정 및 제한 설정

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

기본 프로젝트 제한

새로운 사용자가 생성할 수 있는 프로젝트의 기본 최대 개수를 구성할 수 있습니다. 이 제한은 설정을 변경한 후에 생성된 새 사용자 계정에만 영향을 미칩니다. 기존 사용자에 대해서는 이 설정이 적용되지 않지만, 별도로 기존 사용자의 프로젝트 제한을 수정할 수 있습니다.

새 사용자의 개인 네임스페이스에 프로젝트의 최대 개수를 구성하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 기본 프로젝트 제한 값을 증가 또는 감소시킵니다.

기본 프로젝트 제한을 0으로 설정하면 사용자는 개인 네임스페이스에 프로젝트를 만들 수 없습니다. 그러나 프로젝트는 그룹에서 여전히 생성할 수 있습니다.

사용자의 프로젝트 제한

특정 사용자를 편집하고, 해당 사용자가 개인 네임스페이스에 생성할 수 있는 프로젝트의 최대 개수를 변경할 수 있습니다:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 사용자 디렉터리에서 사용자를 선택합니다.
  4. 편집을 선택합니다.
  5. 프로젝트 제한 값을 증가 또는 감소시킵니다.

최대 첨부 파일 크기

  • GitLab 15.7에서 10MB에서 100MB로 변경되었습니다.

GitLab의 코멘트 및 답글에 대한 첨부 파일의 최대 크기는 100MB입니다. 최대 첨부 파일 크기를 변경하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 최대 첨부 파일 크기 (MiB)의 값을 변경하여 증가 또는 감소시킵니다.

구성된 웹 서버의 값보다 큰 크기를 선택하는 경우 오류를 받을 수 있습니다. 자세한 내용은 문제 해결 섹션을 참조하세요.

GitLab.com 리포지터리 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.

최대 푸시 크기

인스턴스의 최대 푸시 크기를 변경할 수 있습니다:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 최대 푸시 크기 (MiB)의 값을 변경하여 증가 또는 감소시킵니다.

GitLab.com 푸시 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.

note
웹 UI를 통해 리포지터리에 파일을 추가할 때, 최대 첨부 크기가 제한 요소입니다. 이는 웹 서버가 GitLab이 커밋을 생성하기 전에 파일을 수신해야 하기 때문입니다. 대형 파일을 리포지터리에 추가하려면 Git LFS를 사용하세요. 이 설정은 Git LFS 객체를 푸시할 때는 적용되지 않습니다.

개인 액세스 토큰 접두어

개인 액세스 토큰에 접두어를 지정할 수 있습니다. 빠르게 토큰을 찾기 위해 접두어를 사용하거나 자동화 도구와 사용하기 위해 접두어를 사용할 수 있습니다.

기본 접두어는 glpat-이지만, 관리자는 이를 변경할 수 있습니다.

프로젝트 액세스 토큰그룹 액세스 토큰도 이 접두어를 상속합니다.

접두어 설정

기본 글로벌 접두어를 변경하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 개인 액세스 토큰 접두어 필드를 작성합니다.
  5. 변경 내용 저장을 선택합니다.

또한 settings API를 통해 접두어를 구성할 수도 있습니다.

리포지터리 크기 제한

Tier: Premium, Ultimate Offering: Self-Managed

GitLab 인스턴스의 리포지터리는 특히 LFS를 사용하는 경우 빠르게 성장할 수 있습니다. 그 크기는 사용 가능한 리포지터리를 급격히 소진할 수 있습니다. 이를 방지하기 위해 리포지터리의 크기에 대한 엄격한 제한을 설정할 수 있습니다. 이 제한은 전역적으로, 그룹 별로 또는 프로젝트 별로 설정할 수 있으며, 프로젝트 별 제한이 가장 높은 우선순위를 갖습니다.

리포지터리 크기에 대한 제한을 설정해야 하는 다양한 사용 사례가 있습니다. 예를 들어 다음 워크플로우를 고려해보세요:

  1. 팀이 애플리케이션 리포지터리에 대량의 파일을 저장해야 하는 응용 프로그램을 개발합니다.
  2. Git LFS를 프로젝트에 사용했지만 리포지터리 크기가 크게 증가했습니다.
  3. 사용 가능한 리포지터리를 초과하기 전에 리포지터리 당 10GB의 제한을 설정합니다.
note
GitLab.com 리포지터리 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.

작동 방식

이러한 제한을 설정할 수 있는 것은 GitLab 관리자뿐입니다. 제한을 0으로 설정하면 제한이 없음을 의미합니다.

이러한 설정은 다음 위치에서 찾을 수 있습니다:

  • 각 프로젝트의 설정:
    1. 프로젝트의 홈페이지에서 설정 > 일반으로 이동합니다.
    2. 명칭, 주제, 아바타 섹션에서 리포지터리 크기 제한 (MiB) 필드를 작성합니다.
    3. 변경 내용 저장을 선택합니다.
  • 각 그룹의 설정:
    1. 그룹의 홈페이지에서 설정 > 일반으로 이동합니다.
    2. 명칭, 가시성 섹션에서 리포지터리 크기 제한 (MiB) 필드를 작성합니다.
    3. 변경 내용 저장을 선택합니다.
  • GitLab 전역 설정:
    1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
    2. 설정 > 일반을 선택합니다.
    3. 계정 및 제한 섹션을 확장합니다.
    4. 리포지터리 당 크기 제한 (MiB) 필드를 작성합니다.
    5. 변경 내용 저장을 선택합니다.

새 프로젝트의 첫 번째 푸시(포함 LFS 객체)는 크기를 확인합니다. 그들의 크기의 합이 허용된 최대 리포지터리 크기를 초과하는 경우 푸시가 거부됩니다.

note
리포지터리 크기 제한은 리포지터리 파일 및 LFS를 포함하지만 아티팩트, 업로드, 위키, 패키지 또는 코드 조각은 포함하지 않습니다. 리포지터리 크기 제한은 비공개 및 공개 프로젝트에 모두 적용됩니다.

파일을 매뉴얼으로 정리하는 자세한 내용은 Git을 사용하여 리포지터리 크기 축소를 참조하세요.

세션 기간

기본 세션 기간 사용자 지정

사용자가 비활동 시간 동안 로그인 상태를 유지할 수 있는 시간을 변경할 수 있습니다.

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다. 설정된 기간은 세션 기간(분)에 있습니다.

나를 기억해가 활성화된 경우, 사용자의 세션은 특정 브라우저에서 무제한으로 활성 상태를 유지할 수 있습니다.

세부 내용은 로그인에 사용되는 쿠키를 참조하세요.

나를 기억해 설정 켜기/끄기

  • 나를 기억해 설정을 켜거나 끌 수 있는 기능이 GitLab 16.0에서 도입되었습니다.

사용자는 로그인 시 나를 기억해 확인란을 선택하여, 해당 특정 브라우저에서 무제한 기간 동안 세션을 유지할 수 있습니다. 보안 또는 규정 준수 목적으로 세션이 만료되어야 하는 경우 이 설정을 끌 수 있습니다. 이 설정을 끄면 기본 세션 기간 사용자 지정에서 설정한 비활동 시간 후에 사용자의 세션이 만료됩니다.

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 나를 기억해 확인란을 선택 또는 지워 이 설정을 켜거나 끌 수 있습니다.

2FA가 활성화된 경우 Git 작업의 세션 기간을 사용자 정의하는 방법

Tier: Premium, Ultimate Offering: Self-Managed
Self-Managed형 GitLab에서 기본적으로이 기능은 사용할 수 없습니다. 사용하려면 관리자가 two_factor_for_cli라는 피처 플래그활성화할 수 있습니다. GitLab.com 및 전용 GitLab에서는이 기능을 사용할 수 없습니다. 이 기능은 프로덕션 사용 준비가되지 않았습니다. 이 피처 플래그는 또한 SSH 작업용 2FA에 영향을줍니다.

GitLab 관리자는 2FA가 활성화된 경우 Git 작업의 세션 기간(분)을 사용자 정의 할 수 있습니다. 기본값은 15이며 1에서 10080 사이의 값으로 설정할 수 있습니다.

이러한 세션의 유효 기간을 제한하려면 다음을 수행하십시오.

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한 섹션을 확장하십시오.
  4. 2FA가 활성화된 경우 Git 작업의 세션 기간 (분) 필드를 채웁니다.
  5. 변경 사항 저장을 선택합니다.

SSH 키의 수명을 제한

Tier: Ultimate Offering: Self-Managed

사용자는 SSH 키의 수명을 선택적으로 지정할 수 있습니다. 이 수명은 필수 사항이 아니며 임의의 일 수로 설정할 수 있습니다.

SSH 키는 GitLab에 액세스하는 사용자 자격 증명입니다. 그러나 보안 요구 사항이있는 조직은 이러한 키를 정기적으로 바꿈으로써 더 많은 보호를 적용 할 수 있습니다.

수명 설정

SSH 키의 수명을 설정할 수있는 것은 GitLab 관리자뿐입니다. 빈 채워 두면 제한이 없음을 의미합니다.

SSH 키의 유효 기간을 설정하려면 다음을 수행하십시오.

  1. 왼쪽 사이드 바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한 섹션을 확장하십시오.
  4. SSH 키의 최대 허용 수명 (일) 필드를 채웁니다.
  5. 변경 사항 저장을 선택합니다.

SSH 키의 수명이 설정되면 GitLab:

  • 새로운 SSH 키의 유효 기간을 설정하고 사용자가 허용된 수명보다 늦지 않은 만료일을 설정하도록 요구.
  • 최대 수명보다 만료일이나 수명이 긴 키에 수명 제한을 즉시 적용.
note
사용자의 SSH 키가 유효하지 않아지면 동일한 키를 삭제하고 다시 추가 할 수 있습니다.

액세스 토큰의 수명을 제한

Tier: Ultimate Offering: Self-Managed

사용자는 개인, 그룹, 프로젝트 액세스 토큰의 최대 수명을 일 단위로 지정할 수 있습니다. 이 수명은 필수 요건이 아니며 0보다 크고 365보다 작거나 같은 값으로 설정할 수 있습니다. 이 설정을 비워 두면 액세스 토큰의 기본 허용 수명은 365 일입니다.

액세스 토큰은 GitLab에 프로그래밍 방식으로 액세스하는 데 필요한 유일한 토큰입니다. 그러나 보안 요구 사항이있는 조직은 이러한 토큰을 정기적으로 바꿈으로써 더 많은 보호를 적용 할 수 있습니다.

수명 설정

액세스 토큰의 수명을 설정할 수있는 것은 GitLab 관리자뿐입니다. 빈 채워 두면 제한이 없음을 의미합니다.

액세스 토큰의 유효 기간을 설정하려면 다음을 수행하십시오.

  1. 왼쪽 사이드 바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한 섹션을 확장하십시오.
  4. 액세스 토큰의 최대 허용 수명 (일) 필드를 채웁니다.
  5. 변경 사항 저장을 선택합니다.

액세스 토큰의 수명이 설정되면 GitLab:

  • 새로운 개인 액세스 토큰에 수명을 적용하고 사용자에게 만료일을 설정하도록 요구.
  • 3시간 후 만료되지 않은 토큰을 폐기하거나 허용된 수명을 변경하거나 제거하기 전에 허용됨 수명보다 긴 만료일이나 수명이있는 이전 토큰을 폐기합니다. 3 시간은 관리자가 허용됨 수명을 변경하거나 제거하기 전에 여유롭게 주어집니다.

사용자 프로필 이름 변경 금지

Tier: Premium, Ultimate Offering: Self-Managed

Audit Events에서 사용자 세부 정보의 무결성을 유지하기 위해 GitLab 관리자는 사용자가 프로필 이름을 변경할 수있는 기능을 비활성화할 수 있습니다.

이렇게하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한을 확장하십시오.
  4. 사용자가 프로필 이름을 변경하는 것을 방지 확인란을 선택하십시오.
note
이 기능이 비활성화 된 경우에도 GitLab 관리자는 여전히 관리 영역 또는 API를 사용하여 사용자 이름을 업데이트 할 수 있습니다.

사용자가 조직 생성을 방지

Status: 실험
History
Self-Managed형 GitLab에서 기본적으로이 기능은 사용할 수 없습니다. 사용하려면 관리자가 피처 플래그ui_for_organizations활성화할 수 있습니다. GitLab.com 및 전용 GitLab에서는이 기능을 사용할 수 없습니다. 이 기능은 프로덕션 사용 준비가되지 않았습니다.

기본적으로 사용자는 조직을 만들 수 있습니다. GitLab 관리자는 사용자가 조직 생성을 방지할 수 있습니다.

  1. 왼쪽 사이드 바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한을 확장하십시오.
  4. 사용자가 조직을 생성하는 것을 허용 확인란을 선택을 해제하세요.

새 사용자가 최상위 그룹을 생성하지 못하도록 함

History

기본적으로 새로운 사용자는 최상위 그룹을 만들 수 있습니다. GitLab 관리자는 새로운 사용자가 최상위 그룹을 만들 수 없도록 할 수 있습니다.

  • GitLab 15.5이상에서는 이 섹션의 단계를 사용하여 GitLab UI를 사용합니다.
  • GitLab 15.4 이하에서는 구성 파일을 사용하십시오.
  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한을 확장하십시오.
  4. 신규 사용자가 최상위 그룹을 생성할 수 있도록 허용 확인란을 선택을 해제하세요.

비회원이 프로젝트 및 그룹 생성하지 못하도록 함

History

기본적으로 게스트 역할이있는 사용자는 프로젝트 및 그룹을 생성할 수 있습니다. GitLab 관리자는이 동작을 방지할 수 있습니다.

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한을 확장하십시오.
  4. 게스트 역할까지 그룹 및 개인 프로젝트를 생성하는 것을 허용 확인란을 선택을 해제하세요.
  5. 변경 사항 저장을 선택합니다.

새 사용자의 프로필을 기본적으로 비공개로 설정

History

기본적으로 새로 생성된 사용자는 공개 프로필을 가지고 있습니다. GitLab 관리자는 새 사용자가 기본적으로 프로필을 비공개로 설정할 수 있습니다.

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택하십시오.
  3. 계정 및 제한을 확장하십시오.
  4. 새로운 사용자의 프로필을 기본적으로 비공개로 설정 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

사용자가 계정을 삭제하는 것을 방지합니다

Tier: Premium, Ultimate Offering: Self-Managed
  • GitLab 16.1에 소개되었습니다. deleting_account_disabled_for_users라는 플래그로 기능이 추가되었습니다. 기본적으로 활성화됩니다.

기본적으로 사용자는 자신의 계정을 삭제할 수 있습니다. GitLab 관리자는 사용자가 자신의 계정을 삭제하는 것을 방지할 수 있습니다:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 자신의 계정을 삭제하는 것을 허용 확인란을 해제합니다.

문제 해결

413 Request Entity Too Large

GitLab에서 댓글이나 답글에 파일을 첨부하면 413 Request Entity Too Large 오류가 표시될 수 있습니다. 이는 최대 첨부 파일 크기가 웹 서버의 허용 값보다 큰 경우입니다.

Linux 패키지 설치에서 최대 첨부 파일 크기를 200MB로 늘리려면 최대 첨부 파일 크기를 늘리기 전에 아래 줄을 /etc/gitlab/gitlab.rb에 추가해야 할 수 있습니다:

nginx['client_max_body_size'] = "200m"

이 리포지터리는 크기 제한을 초과했습니다

레일 익셉션 로그에 간헐적인 푸시 오류를 받은 경우:

Your push has been rejected, because this repository has exceeded its size limit.

Housekeeping 작업으로 리포지터리 크기가 계속 커지는 것일 수 있습니다. 이 문제를 해결하려면 다음 옵션 중 하나를 단기적으로 또는 중간적으로 사용하는 것이 도움이 됩니다: