GitGuardian

Tier: Premium, Ultimate Offering: Self-Managed, GitLab Dedicated
  • 소개됨 in GitLab 16.9 with a flag named git_guardian_integration. 기본적으로 활성화됨. GitLab.com에서 비활성화됨.
Self-Managed GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 기능을 숨기려면 관리자에게 git_guardian_integration feature flag를 비활성화할 것을 요청하십시오. GitLab.com에서 이 기능을 사용할 수 없습니다. GitLab Dedicated에서는 이 기능을 사용할 수 있습니다.

GitGuardian은 API 키나 비밀번호와 같은 민감한 데이터를 소스 코드 리포지터리에서 감지하는 사이버보안 서비스입니다. Git 리포지터리를 스캔하여 정책 위반에 대한 경고를 보내고, 해커들이 악용하기 전에 조직이 보안 문제를 해결하는 데 도움을 줍니다.

GitGuardian 정책에 따라 커밋을 거부하도록 GitLab을 구성할 수 있습니다.

GitGuardian 통합 설정:

  1. GitGuardian API 토큰 생성.
  2. 프로젝트용 GitGuardian 통합 설정.

GitGuardian API 토큰 생성

전제 조건:

  • GitGuardian 계정이 있어야 합니다.

API 토큰 생성 방법:

  1. GitGuardian 계정에 로그인합니다.
  2. 사이드바의 API 섹션으로 이동합니다.
  3. API 섹션 사이드바에서 Personal access tokens 페이지로 이동합니다.
  4. 토큰 생성을 선택합니다. 토큰 생성 대화 상자가 열립니다.
  5. 토큰 정보를 제공합니다:
    • API 토큰에 목적을 식별할 수 있는 의미 있는 이름을 지정합니다. 예: GitLab 통합 토큰.
    • 적절한 만료 날짜를 선택합니다.
    • 스캔 범위 확인란을 선택합니다. 통합에 필요한 유일한 항목입니다.
  6. 토큰 생성을 선택합니다.
  7. 토큰을 생성한 후 복사합니다. 이 토큰은 민감한 정보이므로 안전하게 보관하십시오.

이제 GitGuardian API 토큰을 성공적으로 생성했습니다. 이를 통합에 사용할 수 있습니다.

프로젝트용 GitGuardian 통합 설정

전제 조건:

  • 프로젝트의 유지관리자 역할을 최소한으로 가지고 있어야 합니다.

API 토큰을 생성하고 복사한 후에, 커밋을 거부하도록 GitLab을 구성하세요:

프로젝트용 통합을 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트 또는 그룹을 찾습니다.
  2. 설정 > 통합을 선택합니다.
  3. GitGuardian을 선택합니다.
  4. 통합 활성화에서 활성 확인란을 선택합니다.
  5. API 토큰GitGuardian에서 값을 붙여넣습니다.
  6. 선택 사항. 설정 테스트를 선택합니다.
  7. 변경 사항 저장을 선택합니다.

이제 GitLab은 GitGuardian 정책에 따라 커밋을 거부할 준비가 되었습니다.

비밀 감지 건너뛰기

필요한 경우 GitGuardian 비밀 감지를 건너뛸 수 있습니다. 푸시에서 모든 커밋에 대한 비밀 감지 건너뛰기 옵션은 기본 비밀 감지의 옵션과 동일합니다. 두 가지 방법이 있습니다:

  • 커밋 메시지 중 하나에 [skip secret detection]을 추가합니다.
  • secret_detection.skip_all 푸시 옵션을 사용합니다.

알려진 문제

  • 푸시가 지연되거나 시간 초과될 수 있습니다. GitGuardian 통합에서 푸시는 제3자에게 전송되며, GitLab은 GitGuardian 연결이나 GitGuardian 프로세스에 대해 제어할 수 없습니다.
  • GitGuardian API 제한으로 인해 통합은 1MB를 초과하는 파일을 무시합니다. 이러한 파일은 스캔되지 않습니다.
  • 푸시된 파일의 이름이 256자를 초과하는 경우 푸시가 이루어지지 않습니다.
  • 자세한 정보는 GitGuardian API 문서를 참조하십시오.

다음 단계에서는 이러한 문제 중 일부를 완화하는 방법을 안내합니다.

문제 해결

GitGuardian 통합을 사용하는 중 다음과 같은 문제가 발생할 수 있습니다.

500 HTTP 오류

HTTP 500 오류가 발생할 수 있습니다.

이 문제는 파일이 많이 변경된 커밋의 요청이 시간 초과되었을 때 발생합니다.

이러한 경우 50개 이상의 파일이 있는 커밋에 이 문제가 발생하면 변경 사항을 작은 커밋으로 분할하여 하나씩 푸시하는 방법으로 해결할 수 있습니다.

파일명: 값은 256자를 초과할 수 없도록 구성하세요

파일명: 값은 256자를 초과할 수 없도록 구성하세요라는 HTTP 400 오류가 발생할 수 있습니다.

이 문제는 푸시 중인 일부 변경된 파일의 파일 이름(경로가 아님)이 256자보다 긴 경우에 발생합니다.

가능하다면 파일 이름을 줄이는 것이 해결책입니다. 예를 들어 파일 이름이 프레임워크에 의해 자동으로 생성되었기 때문에 파일 이름을 줄일 수 없는 경우, 통합을 비활성화한 후 다시 푸시하십시오. 필요한 경우 통합을 다시 활성화하지 않도록 잊지 마십시오.