- 기본 프로젝트 제한
- 최대 첨부 파일 크기
- 최대 푸시 크기
- 개인 액세스 토큰 접두어
- 리포지터리 크기 제한
- 세션 기간
- SSH 키의 수명을 제한
- 액세스 토큰의 수명을 제한
- 사용자 프로필 이름 변경 금지
- 사용자가 조직 생성을 방지
- 새 사용자가 최상위 그룹을 생성하지 못하도록 함
- 비회원이 프로젝트 및 그룹 생성하지 못하도록 함
- 새 사용자의 프로필을 기본적으로 비공개로 설정
- 사용자가 계정을 삭제하는 것을 방지합니다
- 문제 해결
계정 및 제한 설정
기본 프로젝트 제한
새로운 사용자가 생성할 수 있는 프로젝트의 기본 최대 개수를 구성할 수 있습니다. 이 제한은 설정을 변경한 후에 생성된 새 사용자 계정에만 영향을 미칩니다. 기존 사용자에 대해서는 이 설정이 적용되지 않지만, 별도로 기존 사용자의 프로젝트 제한을 수정할 수 있습니다.
새 사용자의 개인 네임스페이스에 프로젝트의 최대 개수를 구성하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 기본 프로젝트 제한 값을 증가 또는 감소시킵니다.
기본 프로젝트 제한을 0으로 설정하면 사용자는 개인 네임스페이스에 프로젝트를 만들 수 없습니다. 그러나 프로젝트는 그룹에서 여전히 생성할 수 있습니다.
사용자의 프로젝트 제한
특정 사용자를 편집하고, 해당 사용자가 개인 네임스페이스에 생성할 수 있는 프로젝트의 최대 개수를 변경할 수 있습니다:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 사용자 디렉터리에서 사용자를 선택합니다.
- 편집을 선택합니다.
- 프로젝트 제한 값을 증가 또는 감소시킵니다.
최대 첨부 파일 크기
- GitLab 15.7에서 10MB에서 100MB로 변경되었습니다.
GitLab의 코멘트 및 답글에 대한 첨부 파일의 최대 크기는 100MB입니다. 최대 첨부 파일 크기를 변경하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 최대 첨부 파일 크기 (MiB)의 값을 변경하여 증가 또는 감소시킵니다.
구성된 웹 서버의 값보다 큰 크기를 선택하는 경우 오류를 받을 수 있습니다. 자세한 내용은 문제 해결 섹션을 참조하세요.
GitLab.com 리포지터리 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.
최대 푸시 크기
인스턴스의 최대 푸시 크기를 변경할 수 있습니다:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 최대 푸시 크기 (MiB)의 값을 변경하여 증가 또는 감소시킵니다.
GitLab.com 푸시 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.
개인 액세스 토큰 접두어
개인 액세스 토큰에 접두어를 지정할 수 있습니다. 빠르게 토큰을 찾기 위해 접두어를 사용하거나 자동화 도구와 사용하기 위해 접두어를 사용할 수 있습니다.
기본 접두어는 glpat-
이지만, 관리자는 이를 변경할 수 있습니다.
프로젝트 액세스 토큰 및 그룹 액세스 토큰도 이 접두어를 상속합니다.
접두어 설정
기본 글로벌 접두어를 변경하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한 섹션을 확장합니다.
- 개인 액세스 토큰 접두어 필드를 작성합니다.
- 변경 내용 저장을 선택합니다.
또한 settings API를 통해 접두어를 구성할 수도 있습니다.
리포지터리 크기 제한
GitLab 인스턴스의 리포지터리는 특히 LFS를 사용하는 경우 빠르게 성장할 수 있습니다. 그 크기는 사용 가능한 리포지터리를 급격히 소진할 수 있습니다. 이를 방지하기 위해 리포지터리의 크기에 대한 엄격한 제한을 설정할 수 있습니다. 이 제한은 전역적으로, 그룹 별로 또는 프로젝트 별로 설정할 수 있으며, 프로젝트 별 제한이 가장 높은 우선순위를 갖습니다.
리포지터리 크기에 대한 제한을 설정해야 하는 다양한 사용 사례가 있습니다. 예를 들어 다음 워크플로우를 고려해보세요:
- 팀이 애플리케이션 리포지터리에 대량의 파일을 저장해야 하는 응용 프로그램을 개발합니다.
- Git LFS를 프로젝트에 사용했지만 리포지터리 크기가 크게 증가했습니다.
- 사용 가능한 리포지터리를 초과하기 전에 리포지터리 당 10GB의 제한을 설정합니다.
작동 방식
이러한 제한을 설정할 수 있는 것은 GitLab 관리자뿐입니다. 제한을 0으로 설정하면 제한이 없음을 의미합니다.
이러한 설정은 다음 위치에서 찾을 수 있습니다:
- 각 프로젝트의 설정:
- 프로젝트의 홈페이지에서 설정 > 일반으로 이동합니다.
- 명칭, 주제, 아바타 섹션에서 리포지터리 크기 제한 (MiB) 필드를 작성합니다.
- 변경 내용 저장을 선택합니다.
- 각 그룹의 설정:
- 그룹의 홈페이지에서 설정 > 일반으로 이동합니다.
- 명칭, 가시성 섹션에서 리포지터리 크기 제한 (MiB) 필드를 작성합니다.
- 변경 내용 저장을 선택합니다.
- GitLab 전역 설정:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한 섹션을 확장합니다.
- 리포지터리 당 크기 제한 (MiB) 필드를 작성합니다.
- 변경 내용 저장을 선택합니다.
새 프로젝트의 첫 번째 푸시(포함 LFS 객체)는 크기를 확인합니다. 그들의 크기의 합이 허용된 최대 리포지터리 크기를 초과하는 경우 푸시가 거부됩니다.
파일을 매뉴얼으로 정리하는 자세한 내용은 Git을 사용하여 리포지터리 크기 축소를 참조하세요.
세션 기간
기본 세션 기간 사용자 지정
사용자가 비활동 시간 동안 로그인 상태를 유지할 수 있는 시간을 변경할 수 있습니다.
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다. 설정된 기간은 세션 기간(분)에 있습니다.
나를 기억해가 활성화된 경우, 사용자의 세션은 특정 브라우저에서 무제한으로 활성 상태를 유지할 수 있습니다.
세부 내용은 로그인에 사용되는 쿠키를 참조하세요.
나를 기억해 설정 켜기/끄기
- 나를 기억해 설정을 켜거나 끌 수 있는 기능이 GitLab 16.0에서 도입되었습니다.
사용자는 로그인 시 나를 기억해 확인란을 선택하여, 해당 특정 브라우저에서 무제한 기간 동안 세션을 유지할 수 있습니다. 보안 또는 규정 준수 목적으로 세션이 만료되어야 하는 경우 이 설정을 끌 수 있습니다. 이 설정을 끄면 기본 세션 기간 사용자 지정에서 설정한 비활동 시간 후에 사용자의 세션이 만료됩니다.
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 나를 기억해 확인란을 선택 또는 지워 이 설정을 켜거나 끌 수 있습니다.
2FA가 활성화된 경우 Git 작업의 세션 기간을 사용자 정의하는 방법
two_factor_for_cli
라는 피처 플래그를 활성화할 수 있습니다. GitLab.com 및 전용 GitLab에서는이 기능을 사용할 수 없습니다. 이 기능은 프로덕션 사용 준비가되지 않았습니다. 이 피처 플래그는 또한 SSH 작업용 2FA에 영향을줍니다.GitLab 관리자는 2FA가 활성화된 경우 Git 작업의 세션 기간(분)을 사용자 정의 할 수 있습니다. 기본값은 15이며 1에서 10080 사이의 값으로 설정할 수 있습니다.
이러한 세션의 유효 기간을 제한하려면 다음을 수행하십시오.
- 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한 섹션을 확장하십시오.
- 2FA가 활성화된 경우 Git 작업의 세션 기간 (분) 필드를 채웁니다.
- 변경 사항 저장을 선택합니다.
SSH 키의 수명을 제한
사용자는 SSH 키의 수명을 선택적으로 지정할 수 있습니다. 이 수명은 필수 사항이 아니며 임의의 일 수로 설정할 수 있습니다.
SSH 키는 GitLab에 액세스하는 사용자 자격 증명입니다. 그러나 보안 요구 사항이있는 조직은 이러한 키를 정기적으로 바꿈으로써 더 많은 보호를 적용 할 수 있습니다.
수명 설정
SSH 키의 수명을 설정할 수있는 것은 GitLab 관리자뿐입니다. 빈 채워 두면 제한이 없음을 의미합니다.
SSH 키의 유효 기간을 설정하려면 다음을 수행하십시오.
- 왼쪽 사이드 바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한 섹션을 확장하십시오.
- SSH 키의 최대 허용 수명 (일) 필드를 채웁니다.
- 변경 사항 저장을 선택합니다.
SSH 키의 수명이 설정되면 GitLab:
- 새로운 SSH 키의 유효 기간을 설정하고 사용자가 허용된 수명보다 늦지 않은 만료일을 설정하도록 요구.
- 최대 수명보다 만료일이나 수명이 긴 키에 수명 제한을 즉시 적용.
액세스 토큰의 수명을 제한
사용자는 개인, 그룹, 프로젝트 액세스 토큰의 최대 수명을 일 단위로 지정할 수 있습니다. 이 수명은 필수 요건이 아니며 0보다 크고 365보다 작거나 같은 값으로 설정할 수 있습니다. 이 설정을 비워 두면 액세스 토큰의 기본 허용 수명은 365 일입니다.
액세스 토큰은 GitLab에 프로그래밍 방식으로 액세스하는 데 필요한 유일한 토큰입니다. 그러나 보안 요구 사항이있는 조직은 이러한 토큰을 정기적으로 바꿈으로써 더 많은 보호를 적용 할 수 있습니다.
수명 설정
액세스 토큰의 수명을 설정할 수있는 것은 GitLab 관리자뿐입니다. 빈 채워 두면 제한이 없음을 의미합니다.
액세스 토큰의 유효 기간을 설정하려면 다음을 수행하십시오.
- 왼쪽 사이드 바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한 섹션을 확장하십시오.
- 액세스 토큰의 최대 허용 수명 (일) 필드를 채웁니다.
- 변경 사항 저장을 선택합니다.
액세스 토큰의 수명이 설정되면 GitLab:
- 새로운 개인 액세스 토큰에 수명을 적용하고 사용자에게 만료일을 설정하도록 요구.
- 3시간 후 만료되지 않은 토큰을 폐기하거나 허용된 수명을 변경하거나 제거하기 전에 허용됨 수명보다 긴 만료일이나 수명이있는 이전 토큰을 폐기합니다. 3 시간은 관리자가 허용됨 수명을 변경하거나 제거하기 전에 여유롭게 주어집니다.
사용자 프로필 이름 변경 금지
Audit Events에서 사용자 세부 정보의 무결성을 유지하기 위해 GitLab 관리자는 사용자가 프로필 이름을 변경할 수있는 기능을 비활성화할 수 있습니다.
이렇게하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한을 확장하십시오.
- 사용자가 프로필 이름을 변경하는 것을 방지 확인란을 선택하십시오.
사용자가 조직 생성을 방지
-
Introduced in GitLab 16.7 with a flag named
ui_for_organizations
. Disabled by default.
기본적으로 사용자는 조직을 만들 수 있습니다. GitLab 관리자는 사용자가 조직 생성을 방지할 수 있습니다.
- 왼쪽 사이드 바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한을 확장하십시오.
- 사용자가 조직을 생성하는 것을 허용 확인란을 선택을 해제하세요.
새 사용자가 최상위 그룹을 생성하지 못하도록 함
- Introduced in GitLab 15.5.
기본적으로 새로운 사용자는 최상위 그룹을 만들 수 있습니다. GitLab 관리자는 새로운 사용자가 최상위 그룹을 만들 수 없도록 할 수 있습니다.
- GitLab 15.5이상에서는 이 섹션의 단계를 사용하여 GitLab UI를 사용합니다.
- GitLab 15.4 이하에서는 구성 파일을 사용하십시오.
- 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한을 확장하십시오.
- 신규 사용자가 최상위 그룹을 생성할 수 있도록 허용 확인란을 선택을 해제하세요.
비회원이 프로젝트 및 그룹 생성하지 못하도록 함
- Introduced in GitLab 16.8
기본적으로 게스트 역할이있는 사용자는 프로젝트 및 그룹을 생성할 수 있습니다. GitLab 관리자는이 동작을 방지할 수 있습니다.
- 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한을 확장하십시오.
- 게스트 역할까지 그룹 및 개인 프로젝트를 생성하는 것을 허용 확인란을 선택을 해제하세요.
- 변경 사항 저장을 선택합니다.
새 사용자의 프로필을 기본적으로 비공개로 설정
- Introduced in GitLab 15.8.
기본적으로 새로 생성된 사용자는 공개 프로필을 가지고 있습니다. GitLab 관리자는 새 사용자가 기본적으로 프로필을 비공개로 설정할 수 있습니다.
- 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택하십시오.
- 계정 및 제한을 확장하십시오.
- 새로운 사용자의 프로필을 기본적으로 비공개로 설정 확인란을 선택합니다.
- 변경 사항 저장을 선택합니다.
사용자가 계정을 삭제하는 것을 방지합니다
- GitLab 16.1에 소개되었습니다.
deleting_account_disabled_for_users
라는 플래그로 기능이 추가되었습니다. 기본적으로 활성화됩니다.
기본적으로 사용자는 자신의 계정을 삭제할 수 있습니다. GitLab 관리자는 사용자가 자신의 계정을 삭제하는 것을 방지할 수 있습니다:
- 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한을 확장합니다.
- 사용자가 자신의 계정을 삭제하는 것을 허용 확인란을 해제합니다.
문제 해결
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 작업으로 리포지터리 크기가 계속 커지는 것일 수 있습니다. 이 문제를 해결하려면 다음 옵션 중 하나를 단기적으로 또는 중간적으로 사용하는 것이 도움이 됩니다: