GitGuardian
- GitLab 16.9에서
git_guardian_integration
이라는 플래그로 도입되었습니다. 기본적으로 활성화되어 있으며 GitLab.com에서 비활성화됩니다.
플래그:
Self-managed GitLab의 경우, 기본적으로 이 기능을 사용할 수 있습니다. 해당 기능을 숨기려면 관리자에게 git_guardian_integration
이라는 플래그를 비활성화하도록 요청하십시오. GitLab.com에서는 이 기능을 사용할 수 없습니다. GitLab Dedicated의 경우, 이 기능을 사용할 수 있습니다.
GitGuardian은 API 키나 비밀번호와 같은 민감한 데이터를 소스 코드 저장소에서 감지하는 사이버 보안 서비스입니다. Git 저장소를 스캔하고 정책 위반에 대한 경고를 제공하며, 해커들이 이를 악용하기 전에 조직이 보안 문제를 해결할 수 있도록 돕습니다.
GitGuardian 정책에 따라 커밋을 거부하도록 GitLab을 구성할 수 있습니다.
GitGuardian 통합 설정:
GitGuardian API 토큰 생성
전제 조건:
- GitGuardian 계정이 있어야 합니다.
API 토큰을 생성하려면:
- GitGuardian 계정에 로그인합니다.
- 측면 표시줄의 API 섹션으로 이동합니다.
- API 섹션 사이드바에서 개인 액세스 토큰 페이지로 이동합니다.
- 토큰 생성을 선택합니다. 토큰 생성 대화 상자가 열립니다.
- 토큰 정보를 제공합니다:
- 해당 목적을 식별할 수 있는 의미 있는 이름으로 API 토큰을 지정합니다. 예:
GitLab 통합 토큰
. - 적절한 만료 시간을 선택합니다.
- 스캔 범위 확인란을 선택합니다. 통합에 필요한 유일한 확인란입니다.
- 해당 목적을 식별할 수 있는 의미 있는 이름으로 API 토큰을 지정합니다. 예:
- 토큰 생성을 선택합니다.
- 토큰을 생성한 후 클립 보드에 복사합니다. 이 토큰은 민감한 정보이므로 안전한 곳에 보관하십시오.
이제 성공적으로 GitGuardian API 토큰을 생성했습니다. 이를 사용하여 통합에 사용할 수 있습니다.
프로젝트용 GitGuardian 통합 설정
전제 조건:
- 해당 프로젝트에 적어도 Maintainer 역할이 있어야 합니다.
API 토큰을 생성하고 복사한 후, 커밋을 거부하도록 GitLab을 구성합니다:
프로젝트용 통합을 활성화하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 설정 > 통합을 선택합니다.
- GitGuardian을 선택합니다.
- 통합 사용에서 활성 확인란을 선택합니다.
- API 토큰에 GitGuardian에서 토큰 값을 붙여 넣으십시오.
- 선택 사항. 설정 테스트를 선택합니다.
- 변경 사항 저장을 선택합니다.
이제 GitLab은 GitGuardian 정책에 따라 커밋을 거부할 준비가 되었습니다.
알려진 문제
- 푸시가 지연되거나 시간 초과될 수 있습니다. GitGuardian 통합으로 인해 푸시가 제3자에게 보내지며 GitLab은 GitGuardian 연결이나 프로세스에 대한 제어권이 없습니다.
- GitGuardian API 제한으로 인해 1MB를 초과하는 파일은 무시됩니다. 이 파일들은 스캔되지 않습니다.
- 푸시된 파일의 이름이 256자를 초과하면 푸시가 이루어지지 않습니다.
- 자세한 정보는 GitGuardian API 문서를 참조하십시오.
아래에서 문제 해결 단계를 보여 이러한 문제 중 일부를 완화하는 방법을 확인할 수 있습니다.
문제 해결
GitGuardian 통합을 사용하는 중에 다음과 같은 문제가 발생할 수 있습니다.
500
HTTP 오류
HTTP 500
오류가 발생할 수 있습니다.
이 문제는 많은 파일을 변경한 커밋에 대한 요청 시간 초과가 발생할 때 발생합니다.
이러한 경우 50개 이상의 파일을 변경한 커밋으로 발생하면 변경 사항을 더 작은 커밋으로 나누어 하나씩 푸시하는 것이 해결책입니다.
파일명: 이 값은 최대 256자여야 함
HTTP 400
오류가 발생하여 파일명: 이 값은 최대 256자여야 함
이라고 명시된 경우가 있습니다.
이 문제는 해당 커밋에 푸시하는 일부 변경된 파일이 256자보다 긴 파일 이름(경로가 아님)을 가지고 있을 때 발생합니다.
가능하다면 파일 이름을 줄이는 것이 해결책입니다. 파일 이름을 줄일 수 없는 경우, 예를 들어 프레임워크에서 자동으로 생성된 것이기 때문에 파일 이름을 줄일 수 없는 경우 통합을 비활성화하고 다시 푸시하십시오. 필요한 경우 나중에 통합을 다시 활성화하는 것을 잊지 마십시오.