튜토리얼: 커밋에서 시크릿 제거하기
튜토리얼: 커밋에서 시크릿 제거하기에 대해 설명합니다.
애플리케이션이 외부 리소스를 사용하는 경우, 일반적으로 토큰이나 키 같은 시크릿 으로 애플리케이션을 인증해야 합니다. 시크릿이 원격 저장소에 푸시되면 저장소에 액세스할 수 있는 누구든 여러분이나 애플리케이션을 사칭할 수 있습니다. 실수로 시크릿을 커밋한 경우, 푸시하기 전에 여전히 제거할 수 있습니다. 이 튜토리얼에서는 가짜 시크릿을 커밋한 다음, 프로젝트에 푸시하기 전에 커밋 기록에서 시크릿을 제거합니다. 또한 시크릿이 저장소에 푸시된 경우 수행할 작업을 알아봅니다. 이 튜토리얼은 GitLab Unfiltered 비디오 Remove a secret from your commits 를 참고하여 제작되었습니다. 시작하기 전에 # 이 튜토리얼을 완료하기 전에 다음 사항을 확인하세요: 테스트 프로젝트. 원하는 프로젝트를 사용할 수 있지만, 이 튜토리얼을 위해 특별히 테스트 프로젝트를 만드는 것을 고려하세요. 커맨드라인 Git에 대한 어느 정도의 친숙함. 시크릿 커밋 # GitLab은 특정 문자, 숫자, 기호 패턴을 매칭하여 시크릿을 식별합니다. 이러한 패턴은 시크릿의 유형을 식별하는 데도 사용됩니다. 예를 들어 가짜 시크릿 glpat-12345678901234567890 은 glpat- 문자열로 시작하므로 개인 액세스 토큰입니다. 많은 시크릿을 형식으로 식별할 수 있지만, 저장소에서 작업하는 동안 실수로 시크릿을 커밋할 수 있습니다. 실수로 시크릿을 커밋하는 것을 시뮬레이션해 보겠습니다: 테스트 저장소에서 새 브랜치를 체크아웃합니다: git checkout -b secret-tutorial 다음 내용의 새 텍스트 파일을 만들고, - 앞뒤의 공백을 제거하여 개인 액세스 토큰의 정확한 형식과 일치시킵니다: fake-secret: glpat - 12345678901234567890 message: hello, world! 브랜치에 파일을 커밋합니다: git add . git commit -m "Add fake secret" 이렇게 하면 문제가 발생합니다: 변경 사항이 푸시되면 텍스트 파일의 개인 액세스 토큰이 유출됩니다! 진행하기 전에 커밋 기록에서 시크릿을 제거해야 합니다. 기록에서 시크릿 제거 # 시크릿이 포함된 유일한 커밋이 Git 기록의 가장 최근 커밋인 경우, 기록을 수정하여 제거할 수 있습니다: 텍스트 파일을 열고 가짜 시크릿을 제거합니다: fake-secret: message: hello, world! 변경 사항으로 이전 커밋을 덮어씁니다: git add . git commit --amend 시크릿이 파일과 커밋 기록에서 제거되어 안전하게 변경 사항을 푸시할 수 있습니다. 여러 커밋 수정 # 때로는 여러 번의 추가 커밋을 한 후에야 시크릿이 추가되었다는 것을 알아챌 수 있습니다. 이 경우 가장 최근 커밋에서 시크릿을 삭제하는 것만으로는 충분하지 않습니다. 시크릿이 추가된 이후의 모든 커밋에 변경 사항을 적용해야 합니다: 파일에 가짜 시크릿을 추가하고 브랜치에 커밋합니다. 최소 한 번 이상의 추가 커밋을 만듭니다. 기록을 검사하면 다음과
