GitGuardian
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitGuardian은 소스 코드 저장소에서 API 키 및 비밀번호와 같은 민감한 데이터를 감지하는 사이버보안 서비스입니다. GitGuardian 정책에 따라 커밋을 거부하도록 GitLab을 구성할 수 있습니다. GitGuardian 통합을 설정하려면:
히스토리
- Introduced in GitLab 16.9 with a flag named
git_guardian_integration. Enabled by default. Disabled on GitLab.com. - Enabled on GitLab.com in GitLab 17.7.
- Generally available in GitLab 17.8. Feature flag
git_guardian_integrationremoved.
GitGuardian은 소스 코드 저장소에서 API 키 및 비밀번호와 같은 민감한 데이터를 감지하는 사이버보안 서비스입니다. Git 저장소를 스캔하고, 정책 위반에 대해 알리고, 해커가 악용하기 전에 보안 문제를 수정하도록 조직을 지원합니다.
GitGuardian 정책에 따라 커밋을 거부하도록 GitLab을 구성할 수 있습니다.
GitGuardian 통합을 설정하려면:
GitGuardian API 토큰 만들기#
사전 요구 사항:
- GitGuardian 계정이 있어야 합니다.
API 토큰을 만들려면:
- GitGuardian 계정에 로그인합니다.
- 사이드바에서 API 섹션으로 이동합니다.
- API 섹션 사이드바에서 개인 액세스 토큰 페이지로 이동합니다.
- 토큰 만들기를 선택합니다. 토큰 만들기 대화 상자가 열립니다.
- 토큰 정보를 제공합니다:
- API 토큰에 목적을 식별할 수 있는 의미 있는 이름을 지정합니다. 예를 들어
GitLab integration token. - 적절한 만료일을 선택합니다.
- scan scope 체크박스를 선택합니다. 통합에 필요한 유일한 범위입니다.
- API 토큰에 목적을 식별할 수 있는 의미 있는 이름을 지정합니다. 예를 들어
- 토큰 만들기를 선택합니다.
- 토큰을 생성한 후 클립보드에 복사합니다. 이 토큰은 민감한 정보이므로 안전하게 보관하세요.
이제 통합에 사용할 수 있는 GitGuardian API 토큰을 성공적으로 만들었습니다.
프로젝트에 GitGuardian 통합 설정#
사전 요구 사항:
- 프로젝트에 대한 유지 관리자 또는 소유자 역할이 있어야 합니다.
API 토큰을 만들고 복사한 후 커밋을 거부하도록 GitLab을 구성합니다:
프로젝트에 통합을 활성화하려면:
- 상단 메뉴에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 설정 > 통합을 선택합니다.
- GitGuardian을 선택합니다.
- 통합 활성화에서 활성 체크박스를 선택합니다.
- API 토큰에 GitGuardian의 토큰 값을 붙여넣습니다.
- 선택 사항. 설정 테스트를 선택합니다.
- 변경 사항 저장을 선택합니다.
이제 GitLab은 GitGuardian 정책에 따라 커밋을 거부할 준비가 되었습니다.
비밀 탐지 건너뛰기#
히스토리
- Introduced in GitLab 17.0.
필요한 경우 GitGuardian 비밀 탐지를 건너뛸 수 있습니다. 푸시의 모든 커밋에 대한 비밀 탐지를 건너뛰는 옵션은 기본 비밀 탐지의 옵션과 동일합니다. 다음 중 하나를 수행합니다:
- 커밋 메시지 중 하나에
[skip secret push protection]을 추가합니다. secret_push_protection.skip_all푸시 옵션을 사용합니다.
알려진 문제#
- 푸시가 지연되거나 시간 초과될 수 있습니다. GitGuardian 통합을 사용하면:
- 푸시가 타사로 전송됩니다.
- GitLab은 GitGuardian과의 연결 또는 GitGuardian 프로세스를 제어할 수 없습니다.
- GitGuardian API 제한으로 인해 통합은 1 MB를 초과하는 파일을 무시합니다. 스캔되지 않습니다.
- 푸시된 파일의 이름이 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자를 초과할 때 발생합니다.
해결 방법은 가능하면 파일 이름을 줄이는 것입니다. 예를 들어 프레임워크에 의해 자동으로 생성되어 파일 이름을 줄일 수 없는 경우, 통합을 비활성화하고 다시 푸시해 보세요. 필요한 경우 나중에 통합을 다시 활성화하는 것을 잊지 마세요.
