GitGuardian

Tier: 프리미엄, 얼티밋 Offering: Self-managed, GitLab Dedicated
  • GitLab 16.9에서 git_guardian_integration이라는 플래그로 소개되었습니다. 기본적으로 활성화되어 있으며 GitLab.com에서 비활성화됩니다.

플래그: Self-managed GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 기능을 숨기려면 관리자에게 git_guardian_integration이라는 기능 플래그를 비활성화하도록 요청하십시오. 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 통합 토큰.
    • 적절한 만료일을 선택합니다.
    • scan scope 확인란을 선택합니다. 이 통합에 필요한 유일한 확인란입니다.
  6. 토큰 생성을 선택합니다.
  7. 토큰을 생성한 후 클립보드로 복사합니다. 이 토큰은 민감한 정보이므로 안전하게 보관하십시오.

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

프로젝트용 GitGuardian 통합 설정

필수 조건:

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

API 토큰을 생성하고 복사한 후 GitLab을 구성하여 커밋을 거부합니다:

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

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

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

시크릿 감지 건너뛰기

GitLab 17.0에서 소개되었습니다.

필요한 경우 GitGuardian 시크릿 감지를 건너뛸 수 있습니다. 푸시의 모든 커밋에 대한 시크릿 감지를 건너뛸 수 있는 옵션은 네이티브 시크릿 감지의 옵션과 동일합니다. 둘 중 하나를 사용합니다:

  • 커밋 메시지 중 하나에 [skip secret push protection]를 추가합니다.
  • gitguardian_integration에 대한 push 옵션을 사용합니다.

알려진 문제

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

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

문제 해결

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

500 HTTP 오류

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

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

50개 이상의 파일이 변경된 커밋에 이러한 문제가 발생하는 경우, 문제를 해결하기 위해 변경 사항을 작은 커밋으로 분할하여 하나씩 푸시하십시오.

오류: 파일 이름: 이 값은 최대 256자여야 함

파일 이름: 이 값은 최대 256자여야 함이라는 HTTP 400 오류가 발생할 수 있습니다.

이 문제는 푸시하는 변경된 파일 중 일부의 파일 이름(경로가 아니라 이름)이 256자보다 길 때 발생합니다.

가능한 경우 파일 이름을 줄이십시오. 예를 들어, 파일 이름이 프레임워크에서 자동으로 생성되어 줄일 수 없는 경우, 통합을 비활성화하고 다시 푸시하십시오. 필요한 경우 나중에 다시 통합을 사용할 수 있도록 통합을 다시 활성화하지 않도록 주의하십시오.