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 섹션 사이드바에서 개인 액세스 토큰 페이지로 이동합니다.
  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 통합으로 인해 푸시가 제3자에게 보내지며 GitLab은 GitGuardian 연결이나 프로세스에 대한 제어권이 없습니다.
  • GitGuardian API 제한으로 인해 1MB를 초과하는 파일은 무시됩니다. 이 파일들은 스캔되지 않습니다.
  • 푸시된 파일의 이름이 256자를 초과하면 푸시가 이루어지지 않습니다.
  • 자세한 정보는 GitGuardian API 문서를 참조하십시오.

아래에서 문제 해결 단계를 보여 이러한 문제 중 일부를 완화하는 방법을 확인할 수 있습니다.

문제 해결

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

500 HTTP 오류

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

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

이러한 경우 50개 이상의 파일을 변경한 커밋으로 발생하면 변경 사항을 더 작은 커밋으로 나누어 하나씩 푸시하는 것이 해결책입니다.

파일명: 이 값은 최대 256자여야 함

HTTP 400 오류가 발생하여 파일명: 이 값은 최대 256자여야 함이라고 명시된 경우가 있습니다.

이 문제는 해당 커밋에 푸시하는 일부 변경된 파일이 256자보다 긴 파일 이름(경로가 아님)을 가지고 있을 때 발생합니다.

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