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 섹션 사이드바에서 Personal access tokens 페이지로 이동합니다.
- 토큰 생성을 선택합니다. 토큰 생성 대화 상자가 열립니다.
- 토큰 정보를 제공합니다:
- API 토큰에 목적을 식별할 수 있는 의미 있는 이름을 지정하십시오. 예를 들어
GitLab 통합 토큰
. - 적절한 만료일을 선택합니다.
- scan scope 확인란을 선택합니다. 이 통합에 필요한 유일한 확인란입니다.
- API 토큰에 목적을 식별할 수 있는 의미 있는 이름을 지정하십시오. 예를 들어
- 토큰 생성을 선택합니다.
- 토큰을 생성한 후 클립보드로 복사합니다. 이 토큰은 민감한 정보이므로 안전하게 보관하십시오.
이제 GitGuardian API 토큰을 성공적으로 생성하여 통합에 사용할 수 있습니다.
프로젝트용 GitGuardian 통합 설정
필수 조건:
- 프로젝트의 유지자 역할을 최소한으로 가지고 있어야 합니다.
API 토큰을 생성하고 복사한 후 GitLab을 구성하여 커밋을 거부합니다:
프로젝트용 통합을 활성화하려면:
- 좌측 사이드바에서 검색 또는 이동을 선택하고 프로젝트나 그룹을 찾습니다.
- 설정 > 통합을 선택합니다.
- GitGuardian을 선택합니다.
- 통합 활성화에서 활성 확인란을 선택합니다.
- API 토큰에서 GitGuardian에서 가져온 토큰 값을 붙여넣기합니다.
- 선택 사항. 설정 테스트를 선택합니다.
- 변경 사항 저장을 선택합니다.
이제 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자보다 길 때 발생합니다.
가능한 경우 파일 이름을 줄이십시오. 예를 들어, 파일 이름이 프레임워크에서 자동으로 생성되어 줄일 수 없는 경우, 통합을 비활성화하고 다시 푸시하십시오. 필요한 경우 나중에 다시 통합을 사용할 수 있도록 통합을 다시 활성화하지 않도록 주의하십시오.