- 기본 프로젝트 제한
- 최대 첨부 파일 크기
- 최대 푸시 크기
- 개인 액세스 토큰 접두어
- 레파지토리 크기 제한
- 세션 기간
- SSH 키 수명 제한
- 접근 토큰 수명 제한
- 사용자 프로필 이름 변경 비활성화
- 사용자가 조직을 생성하는 것을 방지
- 신규 사용자가 최상위 그룹을 생성하지 못하도록 방지
- 비구성원이 프로젝트 및 그룹을 생성하지 못하도록 방지
- 새 사용자의 프로필을 기본적으로 비공개로 설정
- 사용자가 자체 계정을 삭제하지 못하도록 방지
- 문제 해결
계정 및 제한 설정
기본 프로젝트 제한
새로운 사용자가 개인 네임스페이스에서 생성할 수 있는 프로젝트의 최대 개수를 설정할 수 있습니다.
이 제한은 설정 변경 후에 생성된 새로운 사용자 계정에만 영향을 미칩니다. 기존 사용자에게는 반영되지 않지만 기존 사용자의 프로젝트 제한을 별도로 편집할 수 있습니다.
새 사용자의 개인 네임스페이스에서 프로젝트의 최대 수를 구성하려면 다음을 수행합니다:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 기본 프로젝트 제한 값을 증가시키거나 감소시킵니다.
기본 프로젝트 제한을 0으로 설정하면 사용자는 자신의 개인 네임스페이스에 프로젝트를 생성할 수 없습니다. 그러나 프로젝트는 그룹에서 여전히 생성할 수 있습니다.
사용자의 프로젝트 제한
특정 사용자를 편집하고 해당 사용자가 개인 네임스페이스에서 생성할 수 있는 프로젝트의 최대 개수를 변경할 수 있습니다:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 사용자 디렉터리에서 사용자를 선택합니다.
- 편집을 선택합니다.
- 프로젝트 제한 값을 증가시키거나 감소시킵니다.
최대 첨부 파일 크기
- GitLab 15.7에서 10MB에서 100MB로 변경됨.
GitLab 코멘트 및 답글의 첨부 파일 크기 제한은 100MB입니다. 최대 첨부 파일 크기를 변경하려면:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 최대 첨부 파일 크기 (MiB)의 값을 변경하여 증가시키거나 감소시킵니다.
웹 서버에 구성된 값보다 더 큰 크기를 선택하는 경우 오류가 발생할 수 있습니다. 자세한 내용은 문제 해결 섹션을 참조하십시오.
GitLab.com 리포지터리 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하십시오.
최대 푸시 크기
인스턴스의 최대 푸시 크기를 변경할 수 있습니다:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 최대 푸시 크기 (MiB) 값을 변경하여 증가시키거나 감소시킵니다.
GitLab.com의 푸시 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하십시오.
개인 액세스 토큰 접두어
개인 액세스 토큰에 접두어를 지정할 수 있습니다. 빠르게 토큰을 찾거나 자동화 도구와 함께 사용하기 위해 접두어를 사용할 수 있습니다.
기본 접두어는 glpat-
이지만 관리자는 이를 변경할 수 있습니다.
프로젝트 액세스 토큰 및 그룹 액세스 토큰도 이 접두어를 상속받습니다.
접두어 설정
기본 전역 접두어를 변경하려면:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한 섹션을 확장합니다.
- 개인 액세스 토큰 접두어 필드를 작성합니다.
- 변경 사항 저장을 선택합니다.
또한 설정 API를 사용하여 접두어를 구성할 수도 있습니다.
레파지토리 크기 제한
귀하의 GitLab 인스턴스의 레파지토리 크기는 특히 LFS를 사용하는 경우 빠르게 증가할 수 있습니다.
그들의 크기는 지속적으로 사용 가능한 저장 공간을 고르게 감소시켜버릴 정도로 급격하게 증가할 수 있습니다.
이를 방지하기 위해 레파지토리 크기에 대한 엄격한 제한을 설정할 수 있습니다.
이 제한은 전역적으로, 그룹별로, 또는 프로젝트별로 설정할 수 있으며 프로젝트별 제한이 가장 높은 우선순위를 갖습니다.
레파지토리 크기에 대한 제한을 설정하는 여러 사용 사례가 있습니다. 예를 들어 다음 워크플로우를 고려해보십시오:
- 팀이 애플리케이션 레파지토리에 대용량 파일을 저장해야 하는 앱을 개발합니다.
- Git LFS를 프로젝트에 사용해놓음에도 레파지토리 크기는 급격히 증가했습니다.
- 사용 가능한 저장 공간을 초과하기 전에 레파지토리 당 10GB의 제한을 설정합니다.
GitLab.com 레파지토리 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하십시오.
작동 방식
GitLab 관리자만 이러한 제한을 설정할 수 있습니다. 제한을 0으로 설정하면 제한이 없음을 의미합니다.
이러한 설정은 다음 위치에서 찾을 수 있습니다:
- 각 프로젝트의 설정:
- 프로젝트 홈페이지에서 설정 > 일반으로 이동합니다.
- 이름, 주제, 아바타 섹션에서 레파지토리 크기 제한 (MiB) 필드에 값을 입력합니다.
- 변경 사항 저장을 선택합니다.
- 각 그룹의 설정:
- 그룹 홈페이지에서 설정 > 일반으로 이동합니다.
- 이름, 가시성 섹션에서 레파지토리 크기 제한 (MiB) 필드에 값을 입력합니다.
- 변경 사항 저장을 선택합니다.
- GitLab 전역 설정:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한 섹션을 확장합니다.
- 레파지토리 당 크기 제한 (MiB) 필드에 값을 입력합니다.
- 변경 사항 저장을 선택합니다.
새 프로젝트의 첫 푸시, LFS 객체를 포함한 푸시는 크기에 대해 확인됩니다.
그들의 크기의 합이 허용된 레파지토리 크기를 초과하는 경우 해당 푸시는 거부됩니다.
레파지토리 크기 제한은 레파지토리 파일과 LFS를 포함하지만 아티팩트, 업로드, 위키, 패키지 또는 스니펫을 포함하지 않습니다.
레파지토리 크기 제한은 공개 및 비공개 프로젝트 모두에 적용됩니다.
파일을 매뉴얼으로 정리하는 방법에 대한 자세한 내용은 Git을 사용하여 레파지토리 크기를 줄이는 방법을 참조하십시오.
세션 기간
기본 세션 기간 사용자 정의
사용자가 활동 없이 로그인 상태를 유지할 수 있는 시간을 변경할 수 있습니다.
- 왼쪽 사이드바에서 아래쪽에 있는 관리 영역(Admin Area)을 선택합니다.
- 설정(Setting) > 일반(General)을 선택합니다.
- 계정 및 제한(Account and limit)을 확장합니다. 설정 기간은 세션 기간(분)에 있습니다.
‘나를 기억해 둬’(Remember me)가 활성화되어 있는 경우 사용자의 세션이 무제한으로 활성 상태를 유지할 수 있습니다.
자세한 내용은 로그인에 사용되는 쿠키를 참조하세요.
‘나를 기억해 둬’(Remember me) 설정 켜기/끄기
- GitLab 16.0에서 도입됨.
사용자는 로그인 시 나를 기억해 둬 확인란을 선택할 수 있으며, 그들의 세션은 해당 특정 브라우저로부터 접근할 때 무제한으로 활성 상태를 유지합니다. 보안 또는 규정 준수 목적으로 세션 만료를 필요로 하는 경우 이 설정을 해제할 수 있습니다. 이 설정을 해제하면 기본 세션 기간을 사용자 정의할 때 설정된 활동이 없는 분 이후에 사용자 세션이 만료됩니다.
- 왼쪽 사이드바에서 아래쪽에 있는 관리 영역(Admin Area)을 선택합니다.
- 설정(Setting) > 일반(General)을 선택합니다.
- 계정 및 제한(Account and limit)을 확장합니다.
- 나를 기억해 둬 확인란을 선택하거나 선택 해제하여 이 설정을 켜고 끌 수 있습니다.
2FA가 활성화되어 있는 경우 Git 작업용 세션 기간 사용자 정의
- GitLab 13.9에서 도입됨.
- 기본적으로 비활성화되어 있는 피처 플래그로 배포됨.
two_factor_for_cli
라는 피처 플래그를 활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다. 이 기능은 실제 운영에 사용하기에 적합한 상태가 아닙니다. 이 피처 플래그는 또한 SSH 작업용 2FA에 영향을 미칩니다.GitLab 관리자는 2FA가 활성화된 경우 Git 작업용 세션 기간(분)을 사용자 정의할 수 있습니다. 기본값은 15이며, 1부터 10080 사이의 값으로 설정할 수 있습니다.
이러한 세션이 유효한 기간을 제한하려면:
- 왼쪽 사이드바에서 아래쪽에 있는 관리 영역(Admin Area)을 선택합니다.
- 설정(Setting) > 일반(General)을 선택합니다.
- 계정 및 제한(Account and limit) 섹션을 확장합니다.
- 2FA가 활성화된 경우 Git 작업용 세션 기간(분) 필드에 값을 입력합니다.
- 변경 사항 저장을 선택합니다.
SSH 키 수명 제한
- GitLab 14.6에서 도입됨 (피처 플래그로 함께).
- GitLab 14.6에서 Self-managed에서 활성화됨.
- GitLab 14.7에서 일반적으로 사용 가능 (피처 플래그
ff_limit_ssh_key_lifetime
는 제거됨).
사용자는 SSH 키에 대한 수명을 선택적으로 지정할 수 있습니다. 이 수명은 필수 요건이 아니며 임의의 일수로 설정할 수 있습니다.
SSH 키는 GitLab에 액세스하기 위한 사용자 자격 증명입니다. 그러나 보안 요구사항이 있는 조직은 이러한 키를 정기적으로 교체함으로써 더 많은 보호를 시행하려 할 수 있습니다.
수명 설정
SSH 키의 수명을 지정하는 것은 GitLab 관리자만 가능합니다. 비워 두면 제한이 없음을 의미합니다.
SSH 키의 유효 기간을 설정하려면:
- 왼쪽 사이드바에서 아래쪽에 있는 관리 영역(Admin Area)을 선택합니다.
- 설정(Setting) > 일반(General)을 선택합니다.
- 계정 및 제한(Account and limit)을 확장합니다.
- SSH 키의 최대 허용 수명(일) 필드에 값을 입력합니다.
- 변경 사항 저장을 선택합니다.
SSH 키의 수명이 설정되면 GitLab은:
- 사용자에게 새로운 SSH 키의 만료 날짜를 설정하도록 요구하며, 허용된 수명보다 늦은 날짜로 설정할 수 없습니다.
- 기존 SSH 키에 수명 제한을 적용합니다. 만료 기간이나 최대 수명보다 큰 수명을 가진 키는 즉시 무효가 됩니다.
접근 토큰 수명 제한
- GitLab 12.6에서 도입됨.
사용자는 개인, 그룹, 및 프로젝트 액세스 토큰에 대한 최대 수명을 선택적으로 지정할 수 있습니다. 이 수명은 필수 요건이 아니며 0보다 크고 365보다 작거나 같은 임의의 값으로 설정할 수 있습니다. 이 설정을 비워 두면 액세스 토큰의 기본 허용 수명은 365일입니다.
접근 토큰은 GitLab에 대한 프로그래밍 방식의 액세스에 필요한 유일한 토큰입니다. 그러나 보안 요구 사항이 있는 조직은 이러한 토큰을 정기적으로 교체함으로써 더 많은 보호를 시행하려 할 수 있습니다.
수명 설정
접근 토큰의 수명을 지정하는 것은 GitLab 관리자만 가능합니다. 비워 두면 제한이 없음을 의미합니다.
접근 토큰의 유효 기간을 설정하려면:
- 왼쪽 사이드바에서 아래쪽에 있는 관리 영역(Admin Area)을 선택합니다.
- 설정(Setting) > 일반(General)을 선택합니다.
- 계정 및 제한(Account and limit)을 확장합니다.
- 접근 토큰의 최대 허용 수명(일) 필드에 값을 입력합니다.
- 변경 사항 저장을 선택합니다.
접근 토큰의 수명이 설정되면 GitLab은:
- 새 개인 액세스 토큰에 수명을 적용하고 사용자에게 만료 날짜를 설정하도록 요구합니다.
- 만료 기간이나 허용된 수명보다 긴 기간을 가진 이전 토큰을 3시간 후에 폐기합니다. 이 3시간은 관리자가 허용된 수명을 변경하거나 제거하기 전에 허용됩니다.
사용자 프로필 이름 변경 비활성화
- GitLab 12.7에서 소개되었습니다.
감사 이벤트에서 사용자 세부 정보의 무결성을 유지하려면, GitLab 관리자는 사용자의 프로필 이름 변경 기능을 비활성화할 수 있습니다.
다음을 수행합니다.
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 사용자가 프로필 이름을 변경하는 것을 방지 확인란을 선택합니다.
사용자가 조직을 생성하는 것을 방지
- GitLab 16.7에
ui_for_organizations
라는 플래그로 소개되었습니다. 기본 설정에서 비활성화되어 있습니다.
플래그:
Self-managed GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 이를 사용하려면 관리자가 ui_for_organizations
라는 feature flag를 활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다. 이 기능은 아직 제품으로 사용할 준비가 되지 않았습니다.
기본적으로 사용자는 조직을 생성할 수 있습니다. GitLab 관리자는 사용자가 조직을 생성하는 것을 방지할 수 있습니다.
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 사용자가 조직을 생성하는 것을 허용 확인란을 해제합니다.
신규 사용자가 최상위 그룹을 생성하지 못하도록 방지
- GitLab 15.5에 도입되었습니다.
기본적으로 신규 사용자는 최상위 그룹을 생성할 수 있습니다. GitLab 관리자는 신규 사용자가 최상위 그룹을 생성하는 것을 방지할 수 있습니다:
- GitLab 15.5 이상에서 다음 중 하나를 사용하여:
- 이 섹션의 단계를 사용하여 GitLab UI를 사용합니다.
- 애플리케이션 설정 API를 사용하여 15.4 이하에서는
- GitLab 15.4 이전에서는 configuration file을 사용합니다.
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 신규 사용자가 최상위 그룹을 만드는 것을 허용 확인란을 해제합니다.
비구성원이 프로젝트 및 그룹을 생성하지 못하도록 방지
- GitLab 16.8에 도입되었습니다.
기본적으로 게스트 역할을 가진 사용자는 프로젝트 및 그룹을 생성할 수 있습니다. GitLab 관리자는 이 동작을 방지할 수 있습니다:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 게스트 역할까지 사용자가 그룹 및 개인 프로젝트를 만들도록 허용 확인란을 해제합니다.
- 변경 사항 저장을 선택합니다.
새 사용자의 프로필을 기본적으로 비공개로 설정
- GitLab 15.8에 도입되었습니다.
기본적으로 새로 생성된 사용자는 공개 프로필을 가집니다. GitLab 관리자는 새 사용자의 프로필을 기본적으로 비공개로 설정할 수 있습니다:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 새 사용자의 프로필을 기본적으로 비공개로 설정 확인란을 선택합니다.
- 변경 사항 저장을 선택합니다.
사용자가 자체 계정을 삭제하지 못하도록 방지
- GitLab 16.1에
deleting_account_disabled_for_users
라는 feature flag로 소개되었습니다. 기본 설정에서 활성화되어 있습니다.
기본적으로 사용자는 자체 계정을 삭제할 수 있습니다. GitLab 관리자는 사용자가 자체 계정을 삭제하지 못하도록 방지할 수 있습니다:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 사용자가 자체 계정을 삭제할 수 있음 확인란을 해제합니다.
문제 해결
413 Request Entity Too Large
GitLab에서 주석이나 답글에 파일을 첨부하면 413 Request Entity Too Large
오류가 표시될 수 있습니다. 웹 서버의 허용 값보다 최대 첨부 파일 크기가 크기 때문일 수 있습니다.
Linux package 설치에서 최대 첨부 파일 크기를 200MB로 늘리려면,
최대 첨부 파일 크기를 늘리기 전에 /etc/gitlab/gitlab.rb
에 아래 줄을 추가해야 할 수 있습니다.
nginx['client_max_body_size'] = "200m"
이 리포지터리는 크기 제한을 초과했습니다
만약 Rails exceptions log에서 때때로 push 오류를 받는다면:
Your push has been rejected, because this repository has exceeded its size limit.
Housekeeping 작업으로 리포지터리 크기가 계속 커지고 있는 경우가 있습니다. 이 문제를 해결하려면 다음 중 하나를 짧은 기간 동안에서 중간 기간까지 도움이 됩니다:
- 리포지터리 크기 제한을 늘리기.
- 리포지터리 크기 줄이기.