secret scanning에 대한 푸시 보호 정보
secret scanning의 푸시 보호 기능은 변경 내용을 리포지토리에 푸시하기 전에 비밀을 검색하여 보안 누출을 방지하는 데 도움이 됩니다. 조직 또는 리포지토리에 푸시 보호를 사용하도록 설정하면 secret scanning은(는) 신뢰도가 높은 비밀(낮은 가양성 비율로 식별됨)에 대한 푸시도 확인합니다. Secret scanning은 검색한 비밀을 나열하므로 작성자는 비밀을 검토하고 제거하거나 필요한 경우 해당 비밀을 푸시할 수 있습니다. 푸시 보호가 지원되는 보안 비밀 및 서비스 제공업체에 대한 정보는 "비밀 검사 패턴"을 참조하세요.
비밀이 진짜인지 확인한 경우 다시 푸시하기 전에 표시되는 모든 커밋에서 분기에서 비밀을 제거해야 합니다.
팁GitHub이(가) 푸시해도 안전하다고 생각되는 비밀을 차단하는 경우 비밀을 허용하고 이를 허용해야 하는 이유를 지정할 수 있습니다. 비밀에 대한 푸시 보호를 우회하는 방법에 대한 자세한 내용은 명령줄 및 웹 UI에 대해 각각 "차단된 비밀을 푸시할 수 있도록 허용" 및 "비밀에 대한 푸시 보호 무시"를 참조하세요.
조직 소유자는 푸시가 차단될 때 GitHub Enterprise Server의 메시지에 포함되는 사용자 지정 링크를 제공할 수 있습니다. 이 사용자 지정 링크에는 조직 및 해당 정책과 관련된 리소스 및 조언이 포함될 수 있습니다.
명령줄에서 차단된 푸시 해결
푸시 보호를 사용하도록 설정된 secret scanning을(를) 사용하여 리포지토리 또는 조직에 지원되는 비밀을 푸시하려고 하면 GitHub이(가) 푸시를 차단합니다. 분기에서 비밀을 제거하거나 제공된 URL을 따라 푸시를 허용할 수 있습니다.
참고:
- git 구성이 현재 분기뿐만 아니라 여러 분기에 대한 푸시를 지원하는 경우 푸시되는 추가 및 의도하지 않은 참조로 인해 푸시가 차단될 수 있습니다. 자세한 내용은 Git 문서의
push.default
옵션을 참조하세요. - 푸시 시 secret scanning이(가) 시간 초과되면 GitHub은(는) 푸시 후에도 커밋에서 비밀을 검사합니다.
차단된 비밀이 분기의 최신 커밋에 의해 도입된 경우 아래 지침을 따를 수 있습니다.
- 코드에서 비밀을 제거합니다.
git commit --amend
를 사용하여 변경 내용을 커밋합니다.git push
를 사용하여 변경 사항을 푸시합니다.
비밀이 Git 기록의 이전 커밋에 표시되는 경우에도 비밀을 제거할 수 있습니다.
git log
를 사용하여 푸시 오류에 나타난 커밋이 기록에서 가장 먼저 발생한 커밋을 확인합니다.git rebase -i <commit-id>~1
을 사용하여 대화형 다시 지정을 시작합니다 .는 1단계의 커밋 ID입니다. - 편집기에 표시되는 텍스트의 첫 줄에서
pick
을edit
로 변경하여 편집할 커밋을 식별합니다. - 코드에서 비밀을 제거합니다.
git commit --amend
를 사용하여 변경 사항을 커밋합니다.git rebase --continue
를 실행하여 다시 지정을 완료합니다.
웹 UI에서 차단된 커밋 해결
웹 UI를 사용하여 푸시 보호가 사용하도록 설정된 비밀 검사를 사용하는 리포지토리 또는 조직에 지원되는 비밀을 커밋하려고 하면 GitHub이(가) 커밋을 차단합니다.
비밀의 위치에 대한 정보와 비밀을 푸시할 수 있는 옵션이 포함된 대화 상자가 표시됩니다. 또한 비밀은 파일에서 밑줄로 표시되므로 쉽게 찾을 수 있습니다.
웹 UI에서 차단된 커밋을 해결하려면 파일에서 비밀을 제거하거나 대화 상자에 나타난 옵션을 사용하여 비밀을 허용해야 합니다. 웹 UI에서 푸시 보호를 우회하는 방법에 대한 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을 참조하세요.
비밀이 진짜인지 확인하는 경우 파일에서 비밀을 제거해야 합니다. 비밀을 제거하면 변경 내용을 커밋할 수 있습니다.