GitGuardian

Tier: Premium, Ultimate Offering: Self-managed, GitLab Dedicated

셀프 관리형 GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 기능을 숨기려면 관리자에게 기능 플래그 비활성화 요청을 하세요.
GitLab.com에서는 이 기능을 사용할 수 없습니다. GitLab Dedicated에서는 이 기능이 가능합니다.

GitGuardian는 API 키 및 비밀번호와 같은 민감한 데이터를 소스 코드 저장소에서 감지하는 사이버 보안 서비스입니다.
Git 저장소를 스캔하고, 정책 위반에 대해 경고하며, 조직이 해커가 악용하기 전에 보안 문제를 해결하도록 돕습니다.

GitLab을 구성하여 GitGuardian 정책을 기반으로 커밋을 거부할 수 있습니다.

GitGuardian 통합을 설정하려면:

  1. GitGuardian API 토큰 생성하기.
  2. 프로젝트에 대한 GitGuardian 통합 설정하기.

Create a GitGuardian API token

Prerequisites:

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

API 토큰을 만들려면:

  1. GitGuardian 계정에 로그인합니다.
  2. 사이드바에서 API 섹션으로 이동합니다.
  3. API 섹션 사이드바에서 개인 액세스 토큰 페이지로 이동합니다.
  4. 토큰 생성을 선택합니다. 토큰 생성 대화 상자가 열립니다.
  5. 토큰 정보를 제공합니다:
    • API 토큰의 목적을 식별하기 위해 의미 있는 이름을 지정합니다.
      예를 들어, GitLab integration token.
    • 적절한 만료 기간을 선택합니다.
    • 스캔 범위 체크박스를 선택합니다.
      통합에 필요합니다.
  6. 토큰 생성을 선택합니다.
  7. 토큰을 생성한 후 클립보드에 복사합니다.
    이 토큰은 민감한 정보이므로 안전하게 보관하세요.

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

Set up the GitGuardian integration for your project

Prerequisites:

  • 프로젝트에 대해 최소한 Maintainer 역할을 가져야 합니다.

API 토큰을 생성하고 복사한 후, GitLab에서 커밋을 거부하도록 구성합니다:

프로젝트에 대한 통합을 활성화하려면:

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

이제 GitLab에서 GitGuardian 정책을 기반으로 커밋을 거부할 준비가 완료되었습니다.

Skip secret detection

필요한 경우 GitGuardian 비밀 탐지를 건너뛸 수 있습니다. 커밋 푸시에 대한 비밀 탐지를 건너뛰기 위한 옵션은 네이티브 비밀 탐지에 대한 옵션과 동일합니다. 다음 중 하나를 선택하세요:

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

알려진 문제

  • 푸시가 지연되거나 시간 초과될 수 있습니다. GitGuardian 통합을 통해 푸시는 제3자에게 전송되며, GitLab은 GitGuardian과의 연결 또는 GitGuardian 프로세스에 대한 통제권이 없습니다.

  • GitGuardian API 제한으로 인해 통합은 1MB 이상의 파일을 무시합니다. 이 파일들은 스캔되지 않습니다.

  • 푸시된 파일의 이름이 256자보다 길 경우 푸시가 진행되지 않습니다.

  • 자세한 내용은 GitGuardian API 문서를 참조하십시오.

아래의 문제 해결 단계는 이러한 문제를 완화하는 방법을 보여줍니다.

문제 해결

GitGuardian 통합을 사용할 때 다음과 같은 문제에 직면할 수 있습니다.

500 HTTP 오류

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

이 문제는 변경된 파일이 많은 커밋에 대한 요청이 시간 초과될 때 발생합니다.

50개 이상의 파일이 변경된 커밋의 경우, 해결 방법은 변경 사항을 더 작은 커밋으로 나누어 차례로 푸시하는 것입니다.

오류: Filename: ensure this value has at most 256 characters

Filename: ensure this value has at most 256 characters라는 HTTP 400 오류가 발생할 수 있습니다.

이 문제는 푸시하는 커밋의 일부 변경된 파일이 파일 이름(경로가 아닌)이 256자보다 긴 경우 발생합니다.

가능한 경우 파일 이름을 줄이는 것이 해결 방법입니다.

예를 들어, 파일 이름이 프레임워크에 의해 자동 생성되어 줄일 수 없는 경우, 통합을 비활성화하고 다시 푸시를 시도하십시오.

필요한 경우 이후에 통합을 다시 활성화하는 것을 잊지 마십시오.