계정 및 제한 설정

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 푸시 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 읽어보세요.

참고: 웹 UI를 통해 저장소에 파일을 추가할 때, 최대 첨부 파일 크기가 제한 요소입니다. 왜냐하면 웹 서버는 GitLab이 커밋을 생성하기 전에 파일을 받아야하기 때문입니다. 큰 파일을 저장소에 추가하려면 Git LFS를 사용하세요. 이 설정은 Git LFS 객체를 푸시할 때는 적용되지 않습니다.

개인 액세스 토큰 접두어

  • GitLab 13.7에서 도입되었습니다.
  • GitLab 14.5에서 도입되었으며, 기본 접두사로 설정되었습니다.

개인 액세스 토큰에 대한 접두사를 지정할 수 있습니다. 토큰을 더 빨리 찾기 위해 접두사를 사용하거나 자동화 도구와 함께 사용하기 위해 접두사를 사용할 수 있습니다.

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

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

접두사 설정

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

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

또한 설정 API를 사용하여 접두사를 구성할 수도 있습니다.

리포지토리 크기 제한

Tier: Premium, Ultimate Offering: Self-Managed

GitLab 인스턴스의 리포지토리 크기는 특히 LFS를 사용하는 경우 빠르게 커질 수 있습니다. 그 크기는 기존 저장 공간을 신속하게 소비할 수 있습니다. 이를 방지하기 위해 리포지토리 크기에 대한 하드 제한을 설정할 수 있습니다. 이 제한은 글로벌로, 그룹별로 또는 프로젝트별로 설정할 수 있으며, 프로젝트별 제한이 최우선 순위를 가집니다.

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

  1. 팀이 앱을 개발하는데 앱 저장소에 큰 파일이 저장되어야 합니다.
  2. Git LFS를 프로젝트에 활성화했음에도 불구하고, 저장소 크기가 상당히 커졌습니다.
  3. 사용 가능한 저장 공간을 초과하기 전에, 저장소 당 10GB의 한도를 설정했습니다.

참고: GitLab.com 리포지토리 크기 제한에 대한 자세한 내용은 계정 및 제한 설정을 읽어보세요.

작동 방식

GitLab 관리자만이 이러한 제한을 설정할 수 있습니다. 제한을 0으로 설정하면 제한이 없음을 의미합니다.

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

  • 각 프로젝트의 설정:
    1. 프로젝트의 홈페이지에서 Settings > General로 이동합니다.
    2. Naming, topics, avatar 섹션의 Repository size limit (MiB) 필드를 채웁니다.
    3. Save changes를 선택합니다.
  • 각 그룹의 설정:
    1. 그룹의 홈페이지에서 Settings > General로 이동합니다.
    2. Naming, visibility 섹션의 Repository size limit (MiB) 필드를 채웁니다.
    3. Save changes를 선택합니다.
  • GitLab 전역 설정:
    1. 좌측 사이드바에서 맨 아래에서 Admin Area를 선택합니다.
    2. Settings > General을 선택합니다.
    3. Account and limit 섹션을 확장합니다.
    4. Size limit per repository (MiB) 필드를 채웁니다.
    5. Save changes를 선택합니다.

새 프로젝트의 첫 번째 푸시에는 LFS 오브젝트를 포함한 크기가 확인됩니다. 그들의 크기의 합이 허용된 최대 저장소 크기를 초과하면 푸시가 거부됩니다.

참고: 저장소 크기 제한에는 저장소 파일 및 LFS가 포함되지만, artifacts, uploads, wiki, packages 또는 snippets는 포함되지 않습니다. 저장소 크기 제한은 비공개 및 공개 프로젝트 모두에 적용됩니다.

자세한 내용은 Git을 사용하여 저장소 크기 줄이기를 참조하세요.

세션 기간

기본 세션 지속 기간 사용자 정의

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

  1. 좌측 사이드바에서 맨 아래에서 Admin Area를 선택합니다.
  2. Settings > General을 선택합니다.
  3. Account and limit을 확장합니다. 설정된 기간은 Session duration (minutes)에 표시됩니다.

나를 기억해 둬가 활성화되어 있는 경우, 사용자의 세션은 무제한 기간 동안 활성 상태로 유지될 수 있습니다.

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

나를 기억해 둬 활성화 또는 비활성화

사용자는 로그인 시 나를 기억해 둬 확인란을 선택하여 해당 특정 브라우저에서 액세스할 때 세션이 무제한 기간 유지됩니다. 보안 또는 규정 준수를 위해 세션 만료가 필요한 경우 이 설정을 비활성화할 수 있습니다. 이 설정을 비활성화하면 기본 세션 지속 기간을 사용자 정의한 후 일정 시간 미사용 시 사용자의 세션이 만료됩니다.

  1. 좌측 사이드바에서 맨 아래에서 Admin Area를 선택합니다.
  2. Settings > General을 선택합니다.
  3. Account and limit을 확장합니다.
  4. 나를 기억해 둬 확인란을 선택하거나 해제하여 이 설정을 활성화하거나 비활성화합니다.

2FA 활성화 시 Git 작업에 대한 세션 기간 사용자 정의

세부정보: Tier: Premium, Ultimate Offering: Self-managed

  • GitLab 13.9에서 도입됨.
  • 기본적으로 기능 플래그가 비활성화되어 배포됩니다.

플래그: Self-managed GitLab에서 기본적으로 이 기능은 사용할 수 없습니다. 관리자가 two_factor_for_cli라는 기능 플래그를 활성화하여 사용할 수 있도록 만들 수 있습니다. GitLab.com 및 GitLab 전담에서는 이 기능을 사용할 수 없습니다. 이 기능은 실제 운영에 준비되지 않았습니다. 이 기능 플래그는 또한 SSH를 통한 Git의 2FA에 영향을 줍니다.

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

이러한 세션의 유효 기간을 설정하려면:

  1. 좌측 사이드바에서 맨 아래에서 Admin Area를 선택합니다.
  2. Settings > General을 선택합니다.
  3. Account and limit을 확장합니다.
  4. Session duration for Git operations when 2FA is enabled (minutes) 필드를 채웁니다.
  5. 저장을 선택합니다.

SSH 키 수명 제한

세부정보: Tier: Ultimate Offering: Self-managed

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

SSH 키는 GitLab에 액세스하기 위한 사용자 자격 증명입니다. 그러나 보안 요구 사항을 갖는 조직은 이러한 키의 정기적인 회전을 요구하여 더 많은 보호를 필요로 할 수 있습니다.

수명 설정

GitLab 관리자만 수명을 설정할 수 있습니다. 비워 두면 제한이 없음을 의미합니다.

SSH 키의 유효 기간을 설정하려면:

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

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

  • 사용자에게 새로운 SSH 키의 유효 기간이 허용된 수명보다 이후인 유효 기간을 설정하도록 요구합니다.
  • 기존 SSH 키에 수명 제한을 적용합니다. 만료되지 않거나 허용된 최대 수명보다 긴 기간의 키는 즉시 무효가 됩니다.

참고: 사용자의 SSH 키가 무효가 되면 동일한 키를 삭제하고 다시 추가할 수 있습니다.

액세스 토큰의 수명 제한

Tier: Ultimate Offering: Self-managed

사용자는 선택적으로 액세스 토큰의 유효 기간을 일(day) 단위로 지정할 수 있습니다. 이에는 개인, 그룹, 및 프로젝트 액세스 토큰이 포함됩니다. 이 수명은 필수 사항은 아니며, 0보다 크고 365보다 작거나 같은 값을 설정할 수 있습니다. 이 설정을 비워 둔 경우, 액세스 토큰의 기본 허용 수명은 365일입니다.

액세스 토큰은 GitLab에 대한 프로그래밍적인 액세스에 필요한 유일한 토큰입니다. 그러나 보안 요구 사항을 가진 조직은 이러한 토근의 정기적인 교체를 요구하여 보호 수준을 높일 수 있습니다.

수명 설정

GitLab 관리자만 수명을 설정할 수 있습니다. 비워 두면 제한이 없음을 의미합니다.

액세스 토큰의 유효 기간을 설정하려면:

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

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

  • 새로운 개인 액세스 토큰에 수명을 적용하고 사용자에게 만료 날짜를 설정하고 허용된 유효 기간보다 이후인 날짜를 요구합니다.
  • 3시간 후에 만료 날짜가 없거나 허용된 수명보다 긴 기간의 이전 토큰을 폐기합니다. 폐기가 이루어지기 전에 3시간이 주어집니다. 이는 관리자가 허용된 수명을 변경하거나 제거할 시간을 주기 위한 것입니다.

사용자 프로필 이름 변경 제한

Tier: Premium, Ultimate Offering: Self-managed

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

다음을 수행합니다: 1. 왼쪽 사이드바에서 아래쪽에 있는 관리 영역을 선택합니다. 1. 설정 > 일반을 선택합니다. 1. 계정 및 제한을 확장합니다. 1. 사용자가 프로필 이름을 변경하지 못하게 함 확인란을 선택합니다.

참고: 이 기능이 비활성화된 경우, GitLab 관리자는 여전히 관리 영역 또는 API를 사용하여 사용자명을 업데이트할 수 있습니다.

사용자 조직 생성 방지

상태: 실험

플래그: 자체 호스트형 GitLab의 기본 상태에서 이 기능은 사용할 수 없습니다. 사용 가능하도록 하려면 관리자가 ui_for_organizations라는 기능 플래그를 활성화해야 합니다. GitLab.com 및 전용 GitLab에서는 이 기능을 사용할 수 없습니다. 이 기능은 운영 환경에서 사용할 수 있는 준비가 되지 않았습니다.

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

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

새로운 사용자가 최상위 그룹을 생성하는 것을 방지

기본적으로 새로운 사용자는 최상위 그룹을 만들 수 있습니다. GitLab 관리자는 새로운 사용자가 최상위 그룹을 만드는 것을 방지할 수 있습니다: - GitLab 15.5 이상 버전에서 이 섹션의 단계를 사용하여 GitLab UI를 통해 또는 - GitLab 15.4 이하 버전에서 구성 파일을 사용하여

  1. 왼쪽 사이드바에서 아래쪽에 있는 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 새로운 사용자가 최상위 그룹을 만드는 것을 허용 확인란을 해제합니다.

프로젝트 및 그룹 생성을 비회원이 방지

기본적으로 손님 역할을 하는 사용자는 프로젝트 및 그룹을 만들 수 있습니다. GitLab 관리자는 이 동작을 방지할 수 있습니다:

  1. 왼쪽 사이드바에서 아래쪽에 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 게스트 역할까지 그룹 및 개인 프로젝트를 만들 수 있도록 허용 확인란을 해제합니다.
  5. 변경 사항 저장을 선택합니다.

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

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

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

사용자가 계정 삭제를 방지

Tier: 프리미엄, 얼티메이트 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"

이 저장소는 크기 제한을 초과했습니다

만약 Ruby on Rails 예외 로그에서 다음과 같은 이유로 간헐적인 푸시 오류를 받는다면:

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

Housekeeping 작업이 저장소 크기를 증가시킬 수 있습니다. 이 문제를 해결하기 위해, 단기부터 중기적으로 다음 중 하나의 옵션을 사용할 수 있습니다: