InfoGrab DocsInfoGrab Docs

시크릿 푸시 보호

시크릿 푸시 보호에 대해 설명합니다.

히스토리 GitLab 16.7에서 GitLab Dedicated 고객을 위한 실험 기능으로 도입 되었습니다. GitLab 17.1에서 베타로 변경 되었고 GitLab.com에서 사용할 수 있게 되었습니다. GitLab 17.2에서 pre_receive_secret_detection_beta_release 와 pre_receive_secret_detection_push_check 라는 기능 플래그와 함께 GitLab Self-Managed에 활성화 되었습니다. 기능 플래그 pre_receive_secret_detection_beta_release 가 GitLab 17.4에서 제거 되었습니다. GitLab 17.5에서 일반 공개 되었습니다. 기능 플래그 pre_receive_secret_detection_push_check 가 GitLab 17.7에서 제거 되었습니다. 시크릿 푸시 보호는 키나 API 토큰 같은 시크릿이 GitLab으로 푸시되는 것을 차단합니다. 개요는 재생 목록 Get Started with Secret Push Protection 을 참고합니다. 파이프라인 시크릿 탐지를 시크릿 푸시 보호와 함께 사용하면 보안을 한층 더 강화할 수 있습니다. 시크릿 푸시 보호 워크플로 # 시크릿 푸시 보호는 pre-receive 훅에서 동작합니다. GitLab으로 변경 사항을 푸시하면 푸시 보호가 각 파일이나 커밋에서 시크릿을 검사합니다. 기본적으로 시크릿이 탐지되면 푸시가 차단됩니다. 푸시가 차단되면 GitLab 이 다음 내용을 포함한 메시지를 표시합니다. 시크릿이 포함된 커밋 ID 시크릿이 포함된 파일 이름과 줄 시크릿 유형 예를 들어 다음은 Git CLI를 사용한 푸시가 차단되었을 때 반환되는 메시지의 일부입니다. GitLab Web IDE를 포함한 다른 클라이언트를 사용하면 메시지 형식은 다르지만 내용은 같습니다. remote: PUSH BLOCKED: Secrets detected in code changes remote: Secret push protection found the following secrets in commit: 37e54de5e78c31d9e3c3821fd15f7069e3d375b6 remote: remote: -- test.txt:2 GitLab Personal Access Token remote: remote: To push your changes you must remove the identified secrets. 커밋에서 시크릿이 탐지되지 않으면 아무 메시지도 표시되지 않습니다. 감지되는 시크릿 # 시크릿 푸시 보호는 파일이나 커밋에서 특정 패턴을 검사합니다. 각 패턴은 특정 유형의 시크릿에 대응합니다. 시크릿 푸시 보호가 탐지하는 시크릿은 감지되는 시크릿 에서 확인합니다. 커밋을 푸시할 때의 지연과 오탐 건수를 최소화하기 위해 시크릿 푸시 보호에는 신뢰도가 높은 패턴만 선정했습니다. 예를 들어 사용자 지정 접두사를 사용하는 개인 액세스 토큰은 시크릿 푸시 보호가 탐지하지 않습니다. 특정 시크릿은 시