InfoGrab Docs

계정 및 제한 설정

요약

GitLab 관리자는 다음과 같은 인스턴스의 프로젝트 및 계정 제한을 구성할 수 있습니다: 새 사용자가 개인 네임스페이스에서 만들 수 있는 최대 프로젝트 수의 기본값을 구성할 수 있습니다. 새 사용자의 개인 네임스페이스에서 최대 프로젝트 수를 구성하려면:

GitLab 관리자는 다음과 같은 인스턴스의 프로젝트 및 계정 제한을 구성할 수 있습니다:

  • 사용자가 만들 수 있는 프로젝트 수.
  • 첨부 파일, 푸시, 리포지터리의 크기 제한.
  • 세션 기간 및 만료.
  • 만료 및 접두사와 같은 액세스 토큰 설정.
  • 사용자 개인 정보 보호 및 삭제 설정.
  • 조직 및 최상위 그룹 생성 규칙.

기본 프로젝트 제한#

새 사용자가 개인 네임스페이스에서 만들 수 있는 최대 프로젝트 수의 기본값을 구성할 수 있습니다. 이 제한은 설정을 변경한 후 생성된 새 사용자 계정에만 영향을 미칩니다. 이 설정은 기존 사용자에게는 소급 적용되지 않지만 사용자의 프로젝트 제한을 별도로 편집할 수 있습니다.

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 기본 프로젝트 제한 값을 늘리거나 줄입니다.

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

사용자의 프로젝트 제한#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 개요 > 사용자를 선택합니다.
  3. 사용자 목록에서 사용자를 선택합니다.
  4. 편집을 선택합니다.
  5. 프로젝트 제한 값을 늘리거나 줄입니다.

최대 첨부 파일 크기#

GitLab 댓글 및 답장의 첨부 파일 최대 크기는 100MB입니다. 최대 첨부 파일 크기를 변경하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 최대 첨부 파일 크기(MiB) 값을 변경하여 늘리거나 줄입니다.

웹 서버에 구성된 값보다 큰 크기를 선택하면 오류가 발생할 수 있습니다. 자세한 내용은 문제 해결 섹션을 참조하세요.

GitLab.com 리포지터리 크기 제한에 대해서는 계정 및 제한 설정을 참조하세요.

최대 푸시 크기#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 최대 푸시 크기(MiB) 값을 변경하여 늘리거나 줄입니다.

GitLab.com 푸시 크기 제한에 대해서는 계정 및 제한 설정을 참조하세요.

Note

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

리포지터리 크기 제한#

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

리포지터리 크기 제한은 비공개 및 공개 프로젝트 모두에 적용됩니다. 리포지터리 파일과 Git LFS 오브젝트(외부 오브젝트 스토리지에 저장된 경우에도)를 포함하지만 다음은 포함하지 않습니다:

  • 아티팩트
  • 컨테이너
  • 패키지
  • 스니펫
  • 업로드
  • 위키

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

  1. 팀이 애플리케이션 리포지터리에 저장해야 하는 대용량 파일이 필요한 앱을 개발합니다.
  2. 프로젝트에 Git LFS를 활성화했지만 스토리지가 크게 증가했습니다.
  3. 사용 가능한 스토리지를 초과하기 전에 리포지터리당 10GB 제한을 설정합니다.

GitLab Self-Managed 및 GitLab Dedicated에서는 GitLab 관리자만 해당 제한을 설정할 수 있습니다. 제한을 0으로 설정하면 제한이 없습니다. GitLab.com 리포지터리 크기 제한에 대해서는 계정 및 제한 설정을 참조하세요.

이 설정은 다음에서 찾을 수 있습니다:

  • 각 프로젝트의 설정:
    1. 프로젝트 홈페이지에서 설정 > 일반으로 이동합니다.
    2. 이름 지정, 주제, 아바타 섹션에서 리포지터리 크기 제한(MiB) 필드를 입력합니다.
    3. 변경 사항 저장을 선택합니다.
  • 각 그룹의 설정:
    1. 그룹 홈페이지에서 설정 > 일반으로 이동합니다.
    2. 이름 지정, 가시성 섹션에서 리포지터리 크기 제한(MiB) 필드를 입력합니다.
    3. 변경 사항 저장을 선택합니다.
  • GitLab 글로벌 설정:
    1. 오른쪽 상단에서 관리자를 선택합니다.
    2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
    3. 계정 및 제한 섹션을 확장합니다.
    4. 리포지터리당 크기 제한(MiB) 필드를 입력합니다.
    5. 변경 사항 저장을 선택합니다.

LFS 오브젝트를 포함한 새 프로젝트의 첫 번째 푸시에서 크기가 확인됩니다. 크기의 합이 허용되는 최대 리포지터리 크기를 초과하면 푸시가 거부됩니다.

리포지터리 크기 확인#

프로젝트가 구성된 리포지터리 크기 제한에 근접하고 있는지 확인하려면:

  1. 스토리지 사용량을 확인합니다. 리포지터리 크기에는 Git 리포지터리 파일과 Git LFS 오브젝트가 모두 포함됩니다.
  2. 현재 사용량을 구성된 리포지터리 크기 제한과 비교하여 남은 용량을 추정합니다.

프로젝트 API를 사용하여 리포지터리 통계를 검색할 수도 있습니다.

리포지터리 크기를 줄이려면 리포지터리 크기 줄이기 방법을 참조하세요.

세션 기간#

기본 세션 기간 사용자 정의#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 세션 기간(분) 필드를 입력합니다.

    [!warning] **세션 기간(분)**을 0으로 설정하면 GitLab 인스턴스가 중단됩니다. 자세한 내용은 이슈 19469를 참조하세요.

  5. 변경 사항 저장을 선택합니다.
  6. 변경 사항을 적용하려면 GitLab을 재시작합니다.

    [!note] GitLab Dedicated의 경우 인스턴스 재시작을 요청하기 위한 지원 티켓을 제출합니다.

로그인 상태 유지 옵션이 활성화된 경우 사용자의 세션이 무기한 활성 상태로 유지될 수 있습니다.

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

생성 날짜로부터 만료되는 세션 설정#

히스토리
  • GitLab 18.0에서 session_expire_from_init이라는 플래그와 함께 도입되었습니다. 기본적으로 활성화됩니다.
  • GitLab 18.3에서 일반 사용 가능이 되었습니다. session_expire_from_init 기능 플래그가 제거되었습니다.

기본적으로 세션은 비활성 후 일정 시간이 지나면 만료됩니다. 대신 세션이 생성된 후 일정 시간이 지나면 만료되도록 구성할 수 있습니다.

세션 기간이 충족되면 다음과 같은 경우에도 세션이 종료되고 사용자가 로그아웃됩니다:

  • 사용자가 여전히 세션을 활발하게 사용 중인 경우.
  • 사용자가 로그인 시 로그인 상태 유지를 선택한 경우.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 생성 날짜로부터 세션 만료 확인란을 선택합니다.

세션이 종료되면 사용자에게 다시 로그인하라는 창이 표시됩니다.

로그인 상태 유지 옵션 구성#

히스토리
  • 로그인 상태 유지 설정 활성화 및 비활성화가 GitLab 16.0에서 도입되었습니다.

사용자는 로그인 시 로그인 상태 유지 확인란을 선택할 수 있습니다. 해당 특정 브라우저에서 액세스하면 세션이 무기한 활성 상태로 유지됩니다. 보안 또는 규정 준수 목적으로 세션을 만료하려면 이 설정을 해제합니다. 이 설정을 해제하면 기본 세션 기간을 사용자 정의할 때 설정한 비활성 시간(분) 후에 사용자 세션이 만료됩니다.

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 로그인 상태 유지 확인란을 선택하거나 지워 이 설정을 켜거나 끕니다.

2FA가 활성화된 경우 Git 작업에 대한 세션 기간 사용자 정의#

히스토리
Feature flag

이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요. 이 기능은 프로덕션 사용에 준비되지 않았습니다.

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

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 2FA가 활성화된 경우 Git 작업에 대한 세션 기간(분) 필드를 입력합니다.
  5. 변경 사항 저장을 선택합니다.

최상위 그룹 소유자가 서비스 계정을 만들 수 있도록 허용#

히스토리
  • GitLab 17.5에서 GitLab Self-Managed를 위한 allow_top_level_group_owners_to_create_service_accounts라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
  • GitLab 17.6에서 일반 사용 가능이 되었습니다. allow_top_level_group_owners_to_create_service_accounts 기능 플래그가 제거되었습니다.

기본적으로 관리자만 서비스 계정을 만들 수 있습니다. 최상위 그룹 소유자도 서비스 계정을 만들 수 있도록 GitLab을 구성할 수 있습니다.

사전 요구 사항:

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

최상위 그룹 소유자가 서비스 계정을 만들 수 있도록 허용하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 서비스 계정 생성 아래에서 최상위 그룹 소유자가 서비스 계정을 만들 수 있도록 허용 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

새 액세스 토큰의 만료일 요구#

히스토리
  • GitLab 17.3에서 도입되었습니다.

사전 요구 사항:

  • 관리자여야 합니다.

모든 새 액세스 토큰에 만료일을 요구할 수 있습니다. 이 설정은 기본적으로 켜져 있으며 다음에 적용됩니다:

  • 비서비스 계정 사용자의 개인 액세스 토큰.
  • 그룹 액세스 토큰.
  • 프로젝트 액세스 토큰.

서비스 계정의 개인 액세스 토큰에 대해서는 애플리케이션 설정 API에서 service_access_tokens_expiration_enforced 설정을 사용합니다.

새 액세스 토큰의 만료일을 요구하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 개인/프로젝트/그룹 액세스 토큰 만료 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

새 액세스 토큰에 만료일을 요구하는 경우:

  • 사용자는 새 액세스 토큰에 대해 허용된 수명을 초과하지 않는 만료일을 설정해야 합니다.
  • 최대 액세스 토큰 수명을 제어하려면 액세스 토큰 수명 제한 설정을 사용합니다.

비활성 프로젝트 및 그룹 액세스 토큰 보존 기간#

기본적으로 GitLab은 토큰 패밀리의 마지막 활성 토큰이 비활성화된 후 30일이 지나면 그룹 및 프로젝트 액세스 토큰과 해당 토큰 패밀리를 삭제합니다. 이 삭제는 토큰 패밀리의 모든 토큰, 관련 봇 사용자를 제거하고 봇 기여를 고스트 사용자로 이동합니다.

사전 요구 사항:

  • 관리자 액세스 권한.

비활성 토큰의 보존 기간을 수정하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 비활성 프로젝트 및 그룹 액세스 토큰 보존 기간 텍스트 상자에서 보존 기간을 수정합니다.
    • 숫자가 정의된 경우 모든 그룹 및 프로젝트 액세스 토큰은 지정된 일수 동안 비활성화된 후 삭제됩니다.
    • 필드가 비어 있으면 비활성 토큰이 삭제되지 않습니다.
  5. 변경 사항 저장을 선택합니다.

애플리케이션 설정 API를 사용하여 inactive_resource_access_tokens_delete_after_days 속성을 수정할 수도 있습니다.

개인 액세스 토큰 접두사#

개인 액세스 토큰의 접두사를 지정할 수 있습니다. 사용자 정의 접두사 사용의 이점:

  • 토큰이 뚜렷하고 식별 가능합니다.
  • 유출된 토큰이 보안 스캔 중에 더 쉽게 식별됩니다.
  • 서로 다른 인스턴스 간의 토큰 혼동 위험을 줄입니다.

개인 액세스 토큰의 기본 접두사는 glpat-이지만 관리자가 변경할 수 있습니다. 프로젝트 액세스 토큰그룹 액세스 토큰도 이 접두사를 상속합니다.

Warning

기본적으로 클라이언트 사이드 시크릿 감지, 시크릿 푸시 보호 및 파이프라인 시크릿 감지는 사용자 정의 접두사가 있는 토큰을 감지하지 않습니다. 이로 인해 거짓 음성이 증가할 수 있습니다. 그러나 이러한 토큰을 감지하기 위해 파이프라인 시크릿 감지를 사용자 정의할 수 있습니다.

접두사 설정#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 개인 액세스 토큰 접두사 필드를 입력합니다.
  5. 변경 사항 저장을 선택합니다.

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

인스턴스 토큰 접두사#

히스토리
  • GitLab 17.10에서 custom_prefix_for_all_token_types라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
Feature flag

이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요. 이 기능은 테스트에 사용 가능하지만 프로덕션 사용에 준비되지 않았습니다.

인스턴스에서 생성된 모든 토큰 앞에 추가되는 사용자 정의 접두사를 설정할 수 있습니다. 사용자 정의 접두사 사용의 이점:

  • 토큰이 뚜렷하고 식별 가능합니다.
  • 유출된 토큰이 보안 스캔 중에 더 쉽게 식별됩니다.
  • 서로 다른 인스턴스 간의 토큰 혼동 위험을 줄입니다.
Warning

기본적으로 클라이언트 사이드 시크릿 감지, 시크릿 푸시 보호 및 파이프라인 시크릿 감지는 사용자 정의 접두사가 있는 토큰을 감지하지 않습니다. 이로 인해 거짓 음성이 증가할 수 있습니다. 그러나 이러한 토큰을 감지하기 위해 파이프라인 시크릿 감지를 사용자 정의할 수 있습니다.

사용자 정의 토큰 접두사는 다음 토큰에만 적용됩니다:

사전 요구 사항:

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

사용자 정의 토큰 접두사를 설정하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 인스턴스 토큰 접두사 필드에 사용자 정의 접두사를 입력합니다.
  5. 변경 사항 저장을 선택합니다.

액세스 토큰 수명 제한#

히스토리
  • GitLab 17.6에서 buffered_token_expiration_limit라는 플래그와 함께 최대 허용 수명 제한이 400일로 증가된 값으로 변경되었습니다. 기본적으로 비활성화됩니다.
Feature flag

확장된 최대 허용 수명 제한의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요. 기능 플래그는 GitLab Dedicated에서 사용할 수 없습니다.

사용자는 개인, 그룹, 프로젝트 액세스 토큰을 포함한 액세스 토큰의 최대 수명을 일 단위로 선택적으로 지정할 수 있습니다. 이 수명은 요구 사항이 아니며 0보다 크고 다음보다 작거나 같은 임의의 값으로 설정할 수 있습니다:

  • 기본적으로 365일.
  • buffered_token_expiration_limit 기능 플래그를 활성화하면 400일. 이 확장된 제한은 GitLab Dedicated에서 사용할 수 없습니다.

이 설정을 비워 두면 액세스 토큰의 기본 허용 수명은 다음과 같습니다:

  • 기본적으로 365일.
  • buffered_token_expiration_limit 기능 플래그를 활성화하면 400일. 이 확장된 제한은 GitLab Dedicated에서 사용할 수 없습니다.

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

수명 설정#

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

액세스 토큰이 유효한 기간에 수명을 설정하려면:

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

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

  • 새 개인 액세스 토큰에 수명을 적용하고 사용자에게 허용된 수명을 초과하지 않는 만료일을 설정하도록 요구합니다.
  • 3시간 후에 만료일이 없거나 허용된 수명보다 긴 수명을 가진 이전 토큰을 취소합니다. 취소가 시작되기 전에 관리자가 허용된 수명을 변경하거나 제거할 수 있도록 3시간이 주어집니다.

SSH 키 수명 제한#

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

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

수명 설정#

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

SSH 키가 유효한 기간에 수명을 설정하려면:

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

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

  • 사용자에게 새 SSH 키에 허용된 수명을 초과하지 않는 만료일을 설정하도록 요구합니다. 최대 허용 수명은 다음과 같습니다:
    • 기본적으로 365일.
    • buffered_token_expiration_limit 기능 플래그를 활성화하면 400일. 이 확장된 제한은 GitLab Dedicated에서 사용할 수 없습니다.
  • 기존 SSH 키에 수명 제한을 적용합니다. 만료일이 없거나 최대값보다 긴 수명을 가진 키는 즉시 무효가 됩니다.
Note

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

사용자 OAuth 애플리케이션 설정#

사전 요구 사항:

  • 관리자여야 합니다.

사용자 OAuth 애플리케이션 설정은 사용자가 GitLab을 OAuth 공급자로 사용하는 애플리케이션을 등록할 수 있는지 여부를 제어합니다. 이 설정은 사용자가 소유한 OAuth 애플리케이션에 영향을 미치지만 그룹이 소유한 OAuth 애플리케이션에는 영향을 미치지 않습니다.

사용자 OAuth 애플리케이션 설정을 켜거나 끄려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 사용자 OAuth 애플리케이션 확인란을 선택하거나 지웁니다.
  5. 변경 사항 저장을 선택합니다.

사용자 프로필 이름 변경 비활성화#

감사 이벤트에서 사용자 세부 정보의 무결성을 유지하기 위해 GitLab 관리자는 사용자가 프로필 이름을 변경하지 못하도록 할 수 있습니다.

이를 위해:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 프로필 이름을 변경하지 못하도록 방지를 선택합니다.

선택하면 GitLab 관리자는 관리자 영역 또는 API에서 여전히 사용자 이름을 업데이트할 수 있습니다.

사용자가 조직을 만들지 못하도록 방지#

히스토리
  • GitLab 16.7에서 ui_for_organizations라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
Feature flag

GitLab Self-Managed에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용 가능하게 하려면 관리자가 ui_for_organizations라는 기능 플래그를 활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다. 이 기능은 프로덕션 사용에 준비되지 않았습니다.

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 조직을 만들 수 있도록 허용 확인란을 지웁니다.

새 사용자가 최상위 그룹을 만들지 못하도록 방지#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 새 사용자가 최상위 그룹을 만들 수 있도록 허용 확인란을 지웁니다.
Note

이 설정은 설정을 끈 후 추가된 사용자에게만 적용됩니다. 기존 사용자는 여전히 최상위 그룹을 만들 수 있습니다.

비멤버가 프로젝트 및 그룹을 만들지 못하도록 방지#

히스토리
  • GitLab 16.8에서 도입되었습니다.

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

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

사용자가 프로필을 비공개로 설정하지 못하도록 방지#

히스토리
  • GitLab 17.1에서 disallow_private_profiles라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
  • GitLab 17.9에서 일반 사용 가능이 되었습니다. disallow_private_profiles 기능 플래그가 제거되었습니다.

기본적으로 사용자는 프로필을 비공개로 만들 수 있습니다. GitLab 관리자는 이 설정을 비활성화하여 모든 사용자 프로필을 공개로 요구할 수 있습니다. 이 설정은 내부 사용자("봇"이라고도 함)에는 영향을 미치지 않습니다.

사용자가 프로필을 비공개로 설정하지 못하도록 방지하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 프로필을 비공개로 설정할 수 있도록 허용 확인란을 지웁니다.
  5. 변경 사항 저장을 선택합니다.

이 설정을 끄면:

이 설정을 다시 활성화하면 사용자의 이전에 설정된 프로필 가시성이 선택됩니다.

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

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

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

사용자가 프로필을 비공개로 설정할 수 있도록 허용이 비활성화된 경우 이 설정도 비활성화됩니다.

사용자가 계정을 삭제하지 못하도록 방지#

히스토리
  • GitLab 16.1에서 deleting_account_disabled_for_users라는 플래그와 함께 도입되었습니다. 기본적으로 활성화됩니다.

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 자신의 계정을 삭제하도록 허용 확인란을 지웁니다.

문제 해결#

413 Request Entity Too Large#

GitLab의 댓글이나 답장에 파일을 첨부할 때 최대 첨부 파일 크기가 웹 서버의 허용 값보다 크면 오류가 발생할 수 있습니다.

Linux 패키지 설치에서 최대 첨부 파일 크기를 200MB로 늘리려면:

  1. /etc/gitlab/gitlab.rb에 이 줄을 추가합니다:

    nginx['client_max_body_size'] = "200m"
    
  2. 최대 첨부 파일 크기를 늘립니다.

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

Rails 예외 로그에서 다음과 같은 간헐적인 푸시 오류가 발생하는 경우:

Your push to this repository cannot be completed because this repository has exceeded the allocated storage for your project.

하우스키핑 작업으로 인해 리포지터리 크기가 증가할 수 있습니다. 이 문제를 해결하려면 다음 옵션 중 하나가 단기에서 중기적으로 도움이 됩니다:

계정 및 제한 설정

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

GitLab 관리자는 다음과 같은 인스턴스의 프로젝트 및 계정 제한을 구성할 수 있습니다: 새 사용자가 개인 네임스페이스에서 만들 수 있는 최대 프로젝트 수의 기본값을 구성할 수 있습니다. 새 사용자의 개인 네임스페이스에서 최대 프로젝트 수를 구성하려면:

GitLab 관리자는 다음과 같은 인스턴스의 프로젝트 및 계정 제한을 구성할 수 있습니다:

  • 사용자가 만들 수 있는 프로젝트 수.
  • 첨부 파일, 푸시, 리포지터리의 크기 제한.
  • 세션 기간 및 만료.
  • 만료 및 접두사와 같은 액세스 토큰 설정.
  • 사용자 개인 정보 보호 및 삭제 설정.
  • 조직 및 최상위 그룹 생성 규칙.

기본 프로젝트 제한#

새 사용자가 개인 네임스페이스에서 만들 수 있는 최대 프로젝트 수의 기본값을 구성할 수 있습니다. 이 제한은 설정을 변경한 후 생성된 새 사용자 계정에만 영향을 미칩니다. 이 설정은 기존 사용자에게는 소급 적용되지 않지만 사용자의 프로젝트 제한을 별도로 편집할 수 있습니다.

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 기본 프로젝트 제한 값을 늘리거나 줄입니다.

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

사용자의 프로젝트 제한#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 개요 > 사용자를 선택합니다.
  3. 사용자 목록에서 사용자를 선택합니다.
  4. 편집을 선택합니다.
  5. 프로젝트 제한 값을 늘리거나 줄입니다.

최대 첨부 파일 크기#

GitLab 댓글 및 답장의 첨부 파일 최대 크기는 100MB입니다. 최대 첨부 파일 크기를 변경하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 최대 첨부 파일 크기(MiB) 값을 변경하여 늘리거나 줄입니다.

웹 서버에 구성된 값보다 큰 크기를 선택하면 오류가 발생할 수 있습니다. 자세한 내용은 문제 해결 섹션을 참조하세요.

GitLab.com 리포지터리 크기 제한에 대해서는 계정 및 제한 설정을 참조하세요.

최대 푸시 크기#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 최대 푸시 크기(MiB) 값을 변경하여 늘리거나 줄입니다.

GitLab.com 푸시 크기 제한에 대해서는 계정 및 제한 설정을 참조하세요.

Note

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

리포지터리 크기 제한#

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

리포지터리 크기 제한은 비공개 및 공개 프로젝트 모두에 적용됩니다. 리포지터리 파일과 Git LFS 오브젝트(외부 오브젝트 스토리지에 저장된 경우에도)를 포함하지만 다음은 포함하지 않습니다:

  • 아티팩트
  • 컨테이너
  • 패키지
  • 스니펫
  • 업로드
  • 위키

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

  1. 팀이 애플리케이션 리포지터리에 저장해야 하는 대용량 파일이 필요한 앱을 개발합니다.
  2. 프로젝트에 Git LFS를 활성화했지만 스토리지가 크게 증가했습니다.
  3. 사용 가능한 스토리지를 초과하기 전에 리포지터리당 10GB 제한을 설정합니다.

GitLab Self-Managed 및 GitLab Dedicated에서는 GitLab 관리자만 해당 제한을 설정할 수 있습니다. 제한을 0으로 설정하면 제한이 없습니다. GitLab.com 리포지터리 크기 제한에 대해서는 계정 및 제한 설정을 참조하세요.

이 설정은 다음에서 찾을 수 있습니다:

  • 각 프로젝트의 설정:
    1. 프로젝트 홈페이지에서 설정 > 일반으로 이동합니다.
    2. 이름 지정, 주제, 아바타 섹션에서 리포지터리 크기 제한(MiB) 필드를 입력합니다.
    3. 변경 사항 저장을 선택합니다.
  • 각 그룹의 설정:
    1. 그룹 홈페이지에서 설정 > 일반으로 이동합니다.
    2. 이름 지정, 가시성 섹션에서 리포지터리 크기 제한(MiB) 필드를 입력합니다.
    3. 변경 사항 저장을 선택합니다.
  • GitLab 글로벌 설정:
    1. 오른쪽 상단에서 관리자를 선택합니다.
    2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
    3. 계정 및 제한 섹션을 확장합니다.
    4. 리포지터리당 크기 제한(MiB) 필드를 입력합니다.
    5. 변경 사항 저장을 선택합니다.

LFS 오브젝트를 포함한 새 프로젝트의 첫 번째 푸시에서 크기가 확인됩니다. 크기의 합이 허용되는 최대 리포지터리 크기를 초과하면 푸시가 거부됩니다.

리포지터리 크기 확인#

프로젝트가 구성된 리포지터리 크기 제한에 근접하고 있는지 확인하려면:

  1. 스토리지 사용량을 확인합니다. 리포지터리 크기에는 Git 리포지터리 파일과 Git LFS 오브젝트가 모두 포함됩니다.
  2. 현재 사용량을 구성된 리포지터리 크기 제한과 비교하여 남은 용량을 추정합니다.

프로젝트 API를 사용하여 리포지터리 통계를 검색할 수도 있습니다.

리포지터리 크기를 줄이려면 리포지터리 크기 줄이기 방법을 참조하세요.

세션 기간#

기본 세션 기간 사용자 정의#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 세션 기간(분) 필드를 입력합니다.

    [!warning] **세션 기간(분)**을 0으로 설정하면 GitLab 인스턴스가 중단됩니다. 자세한 내용은 이슈 19469를 참조하세요.

  5. 변경 사항 저장을 선택합니다.
  6. 변경 사항을 적용하려면 GitLab을 재시작합니다.

    [!note] GitLab Dedicated의 경우 인스턴스 재시작을 요청하기 위한 지원 티켓을 제출합니다.

로그인 상태 유지 옵션이 활성화된 경우 사용자의 세션이 무기한 활성 상태로 유지될 수 있습니다.

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

생성 날짜로부터 만료되는 세션 설정#

히스토리
  • GitLab 18.0에서 session_expire_from_init이라는 플래그와 함께 도입되었습니다. 기본적으로 활성화됩니다.
  • GitLab 18.3에서 일반 사용 가능이 되었습니다. session_expire_from_init 기능 플래그가 제거되었습니다.

기본적으로 세션은 비활성 후 일정 시간이 지나면 만료됩니다. 대신 세션이 생성된 후 일정 시간이 지나면 만료되도록 구성할 수 있습니다.

세션 기간이 충족되면 다음과 같은 경우에도 세션이 종료되고 사용자가 로그아웃됩니다:

  • 사용자가 여전히 세션을 활발하게 사용 중인 경우.
  • 사용자가 로그인 시 로그인 상태 유지를 선택한 경우.
  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 생성 날짜로부터 세션 만료 확인란을 선택합니다.

세션이 종료되면 사용자에게 다시 로그인하라는 창이 표시됩니다.

로그인 상태 유지 옵션 구성#

히스토리
  • 로그인 상태 유지 설정 활성화 및 비활성화가 GitLab 16.0에서 도입되었습니다.

사용자는 로그인 시 로그인 상태 유지 확인란을 선택할 수 있습니다. 해당 특정 브라우저에서 액세스하면 세션이 무기한 활성 상태로 유지됩니다. 보안 또는 규정 준수 목적으로 세션을 만료하려면 이 설정을 해제합니다. 이 설정을 해제하면 기본 세션 기간을 사용자 정의할 때 설정한 비활성 시간(분) 후에 사용자 세션이 만료됩니다.

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 로그인 상태 유지 확인란을 선택하거나 지워 이 설정을 켜거나 끕니다.

2FA가 활성화된 경우 Git 작업에 대한 세션 기간 사용자 정의#

히스토리
Feature flag

이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요. 이 기능은 프로덕션 사용에 준비되지 않았습니다.

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

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 2FA가 활성화된 경우 Git 작업에 대한 세션 기간(분) 필드를 입력합니다.
  5. 변경 사항 저장을 선택합니다.

최상위 그룹 소유자가 서비스 계정을 만들 수 있도록 허용#

히스토리
  • GitLab 17.5에서 GitLab Self-Managed를 위한 allow_top_level_group_owners_to_create_service_accounts라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
  • GitLab 17.6에서 일반 사용 가능이 되었습니다. allow_top_level_group_owners_to_create_service_accounts 기능 플래그가 제거되었습니다.

기본적으로 관리자만 서비스 계정을 만들 수 있습니다. 최상위 그룹 소유자도 서비스 계정을 만들 수 있도록 GitLab을 구성할 수 있습니다.

사전 요구 사항:

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

최상위 그룹 소유자가 서비스 계정을 만들 수 있도록 허용하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 서비스 계정 생성 아래에서 최상위 그룹 소유자가 서비스 계정을 만들 수 있도록 허용 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

새 액세스 토큰의 만료일 요구#

히스토리
  • GitLab 17.3에서 도입되었습니다.

사전 요구 사항:

  • 관리자여야 합니다.

모든 새 액세스 토큰에 만료일을 요구할 수 있습니다. 이 설정은 기본적으로 켜져 있으며 다음에 적용됩니다:

  • 비서비스 계정 사용자의 개인 액세스 토큰.
  • 그룹 액세스 토큰.
  • 프로젝트 액세스 토큰.

서비스 계정의 개인 액세스 토큰에 대해서는 애플리케이션 설정 API에서 service_access_tokens_expiration_enforced 설정을 사용합니다.

새 액세스 토큰의 만료일을 요구하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 개인/프로젝트/그룹 액세스 토큰 만료 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

새 액세스 토큰에 만료일을 요구하는 경우:

  • 사용자는 새 액세스 토큰에 대해 허용된 수명을 초과하지 않는 만료일을 설정해야 합니다.
  • 최대 액세스 토큰 수명을 제어하려면 액세스 토큰 수명 제한 설정을 사용합니다.

비활성 프로젝트 및 그룹 액세스 토큰 보존 기간#

기본적으로 GitLab은 토큰 패밀리의 마지막 활성 토큰이 비활성화된 후 30일이 지나면 그룹 및 프로젝트 액세스 토큰과 해당 토큰 패밀리를 삭제합니다. 이 삭제는 토큰 패밀리의 모든 토큰, 관련 봇 사용자를 제거하고 봇 기여를 고스트 사용자로 이동합니다.

사전 요구 사항:

  • 관리자 액세스 권한.

비활성 토큰의 보존 기간을 수정하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 비활성 프로젝트 및 그룹 액세스 토큰 보존 기간 텍스트 상자에서 보존 기간을 수정합니다.
    • 숫자가 정의된 경우 모든 그룹 및 프로젝트 액세스 토큰은 지정된 일수 동안 비활성화된 후 삭제됩니다.
    • 필드가 비어 있으면 비활성 토큰이 삭제되지 않습니다.
  5. 변경 사항 저장을 선택합니다.

애플리케이션 설정 API를 사용하여 inactive_resource_access_tokens_delete_after_days 속성을 수정할 수도 있습니다.

개인 액세스 토큰 접두사#

개인 액세스 토큰의 접두사를 지정할 수 있습니다. 사용자 정의 접두사 사용의 이점:

  • 토큰이 뚜렷하고 식별 가능합니다.
  • 유출된 토큰이 보안 스캔 중에 더 쉽게 식별됩니다.
  • 서로 다른 인스턴스 간의 토큰 혼동 위험을 줄입니다.

개인 액세스 토큰의 기본 접두사는 glpat-이지만 관리자가 변경할 수 있습니다. 프로젝트 액세스 토큰그룹 액세스 토큰도 이 접두사를 상속합니다.

Warning

기본적으로 클라이언트 사이드 시크릿 감지, 시크릿 푸시 보호 및 파이프라인 시크릿 감지는 사용자 정의 접두사가 있는 토큰을 감지하지 않습니다. 이로 인해 거짓 음성이 증가할 수 있습니다. 그러나 이러한 토큰을 감지하기 위해 파이프라인 시크릿 감지를 사용자 정의할 수 있습니다.

접두사 설정#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 개인 액세스 토큰 접두사 필드를 입력합니다.
  5. 변경 사항 저장을 선택합니다.

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

인스턴스 토큰 접두사#

히스토리
  • GitLab 17.10에서 custom_prefix_for_all_token_types라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
Feature flag

이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요. 이 기능은 테스트에 사용 가능하지만 프로덕션 사용에 준비되지 않았습니다.

인스턴스에서 생성된 모든 토큰 앞에 추가되는 사용자 정의 접두사를 설정할 수 있습니다. 사용자 정의 접두사 사용의 이점:

  • 토큰이 뚜렷하고 식별 가능합니다.
  • 유출된 토큰이 보안 스캔 중에 더 쉽게 식별됩니다.
  • 서로 다른 인스턴스 간의 토큰 혼동 위험을 줄입니다.
Warning

기본적으로 클라이언트 사이드 시크릿 감지, 시크릿 푸시 보호 및 파이프라인 시크릿 감지는 사용자 정의 접두사가 있는 토큰을 감지하지 않습니다. 이로 인해 거짓 음성이 증가할 수 있습니다. 그러나 이러한 토큰을 감지하기 위해 파이프라인 시크릿 감지를 사용자 정의할 수 있습니다.

사용자 정의 토큰 접두사는 다음 토큰에만 적용됩니다:

사전 요구 사항:

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

사용자 정의 토큰 접두사를 설정하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 인스턴스 토큰 접두사 필드에 사용자 정의 접두사를 입력합니다.
  5. 변경 사항 저장을 선택합니다.

액세스 토큰 수명 제한#

히스토리
  • GitLab 17.6에서 buffered_token_expiration_limit라는 플래그와 함께 최대 허용 수명 제한이 400일로 증가된 값으로 변경되었습니다. 기본적으로 비활성화됩니다.
Feature flag

확장된 최대 허용 수명 제한의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요. 기능 플래그는 GitLab Dedicated에서 사용할 수 없습니다.

사용자는 개인, 그룹, 프로젝트 액세스 토큰을 포함한 액세스 토큰의 최대 수명을 일 단위로 선택적으로 지정할 수 있습니다. 이 수명은 요구 사항이 아니며 0보다 크고 다음보다 작거나 같은 임의의 값으로 설정할 수 있습니다:

  • 기본적으로 365일.
  • buffered_token_expiration_limit 기능 플래그를 활성화하면 400일. 이 확장된 제한은 GitLab Dedicated에서 사용할 수 없습니다.

이 설정을 비워 두면 액세스 토큰의 기본 허용 수명은 다음과 같습니다:

  • 기본적으로 365일.
  • buffered_token_expiration_limit 기능 플래그를 활성화하면 400일. 이 확장된 제한은 GitLab Dedicated에서 사용할 수 없습니다.

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

수명 설정#

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

액세스 토큰이 유효한 기간에 수명을 설정하려면:

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

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

  • 새 개인 액세스 토큰에 수명을 적용하고 사용자에게 허용된 수명을 초과하지 않는 만료일을 설정하도록 요구합니다.
  • 3시간 후에 만료일이 없거나 허용된 수명보다 긴 수명을 가진 이전 토큰을 취소합니다. 취소가 시작되기 전에 관리자가 허용된 수명을 변경하거나 제거할 수 있도록 3시간이 주어집니다.

SSH 키 수명 제한#

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

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

수명 설정#

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

SSH 키가 유효한 기간에 수명을 설정하려면:

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

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

  • 사용자에게 새 SSH 키에 허용된 수명을 초과하지 않는 만료일을 설정하도록 요구합니다. 최대 허용 수명은 다음과 같습니다:
    • 기본적으로 365일.
    • buffered_token_expiration_limit 기능 플래그를 활성화하면 400일. 이 확장된 제한은 GitLab Dedicated에서 사용할 수 없습니다.
  • 기존 SSH 키에 수명 제한을 적용합니다. 만료일이 없거나 최대값보다 긴 수명을 가진 키는 즉시 무효가 됩니다.
Note

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

사용자 OAuth 애플리케이션 설정#

사전 요구 사항:

  • 관리자여야 합니다.

사용자 OAuth 애플리케이션 설정은 사용자가 GitLab을 OAuth 공급자로 사용하는 애플리케이션을 등록할 수 있는지 여부를 제어합니다. 이 설정은 사용자가 소유한 OAuth 애플리케이션에 영향을 미치지만 그룹이 소유한 OAuth 애플리케이션에는 영향을 미치지 않습니다.

사용자 OAuth 애플리케이션 설정을 켜거나 끄려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 사용자 OAuth 애플리케이션 확인란을 선택하거나 지웁니다.
  5. 변경 사항 저장을 선택합니다.

사용자 프로필 이름 변경 비활성화#

감사 이벤트에서 사용자 세부 정보의 무결성을 유지하기 위해 GitLab 관리자는 사용자가 프로필 이름을 변경하지 못하도록 할 수 있습니다.

이를 위해:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 프로필 이름을 변경하지 못하도록 방지를 선택합니다.

선택하면 GitLab 관리자는 관리자 영역 또는 API에서 여전히 사용자 이름을 업데이트할 수 있습니다.

사용자가 조직을 만들지 못하도록 방지#

히스토리
  • GitLab 16.7에서 ui_for_organizations라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
Feature flag

GitLab Self-Managed에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용 가능하게 하려면 관리자가 ui_for_organizations라는 기능 플래그를 활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다. 이 기능은 프로덕션 사용에 준비되지 않았습니다.

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 조직을 만들 수 있도록 허용 확인란을 지웁니다.

새 사용자가 최상위 그룹을 만들지 못하도록 방지#

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 새 사용자가 최상위 그룹을 만들 수 있도록 허용 확인란을 지웁니다.
Note

이 설정은 설정을 끈 후 추가된 사용자에게만 적용됩니다. 기존 사용자는 여전히 최상위 그룹을 만들 수 있습니다.

비멤버가 프로젝트 및 그룹을 만들지 못하도록 방지#

히스토리
  • GitLab 16.8에서 도입되었습니다.

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

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

사용자가 프로필을 비공개로 설정하지 못하도록 방지#

히스토리
  • GitLab 17.1에서 disallow_private_profiles라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다.
  • GitLab 17.9에서 일반 사용 가능이 되었습니다. disallow_private_profiles 기능 플래그가 제거되었습니다.

기본적으로 사용자는 프로필을 비공개로 만들 수 있습니다. GitLab 관리자는 이 설정을 비활성화하여 모든 사용자 프로필을 공개로 요구할 수 있습니다. 이 설정은 내부 사용자("봇"이라고도 함)에는 영향을 미치지 않습니다.

사용자가 프로필을 비공개로 설정하지 못하도록 방지하려면:

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 프로필을 비공개로 설정할 수 있도록 허용 확인란을 지웁니다.
  5. 변경 사항 저장을 선택합니다.

이 설정을 끄면:

이 설정을 다시 활성화하면 사용자의 이전에 설정된 프로필 가시성이 선택됩니다.

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

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

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

사용자가 프로필을 비공개로 설정할 수 있도록 허용이 비활성화된 경우 이 설정도 비활성화됩니다.

사용자가 계정을 삭제하지 못하도록 방지#

히스토리
  • GitLab 16.1에서 deleting_account_disabled_for_users라는 플래그와 함께 도입되었습니다. 기본적으로 활성화됩니다.

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

  1. 오른쪽 상단에서 관리자를 선택합니다.
  2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
  3. 계정 및 제한을 확장합니다.
  4. 사용자가 자신의 계정을 삭제하도록 허용 확인란을 지웁니다.

문제 해결#

413 Request Entity Too Large#

GitLab의 댓글이나 답장에 파일을 첨부할 때 최대 첨부 파일 크기가 웹 서버의 허용 값보다 크면 오류가 발생할 수 있습니다.

Linux 패키지 설치에서 최대 첨부 파일 크기를 200MB로 늘리려면:

  1. /etc/gitlab/gitlab.rb에 이 줄을 추가합니다:

    nginx['client_max_body_size'] = "200m"
    
  2. 최대 첨부 파일 크기를 늘립니다.

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

Rails 예외 로그에서 다음과 같은 간헐적인 푸시 오류가 발생하는 경우:

Your push to this repository cannot be completed because this repository has exceeded the allocated storage for your project.

하우스키핑 작업으로 인해 리포지터리 크기가 증가할 수 있습니다. 이 문제를 해결하려면 다음 옵션 중 하나가 단기에서 중기적으로 도움이 됩니다: