GitGuardian

Tier: Premium, Ultimate 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 섹션 사이드바에서 개인 액세스 토큰 페이지로 이동합니다.
  4. 토큰 생성을 선택합니다. 토큰 생성 대화 상자가 열립니다.
  5. 토큰 정보를 제공합니다:
    • API 토큰에 목적을 식별하는 의미 있는 이름을 지정합니다. 예: GitLab 통합 토큰.
    • 적절한 만료일을 선택합니다.
    • 스캔 범위 확인란을 선택합니다. 이것만 통합에 필요합니다.
  6. 토큰 생성을 선택합니다.
  7. 토큰을 생성한 후 클립보드에 복사합니다. 이 토큰은 민감한 정보이므로 안전하게 보관해야 합니다.

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

프로젝트에 대한 GitGuardian 통합 설정

전제 조건:

  • 해당 프로젝트의 최소한 Maintainer 역할이어야 합니다.

API 토큰을 생성하고 복사한 후에 커밋을 거부하도록 GitLab를 구성할 수 있습니다:

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

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

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

알려진 문제

  • 푸시가 지연될 수 있거나 시간 초과될 수 있습니다. GitGuardian 통합으로 인해 푸시가 타사로 전송되며, 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자를 초과하는 경우 발생합니다.

가능한 경우 파일 이름을 줄이는 것이 해결 방법입니다. 파일 이름을 줄일 수 없는 경우, 예를 들어 프레임워크에서 자동으로 생성된 경우 통합을 비활성화하고 다시 푸시하도록 해결 방법입니다. 필요한 경우 통합을 다시 활성화하는 것을 잊지 마십시오.