Skip to main content

이 버전의 GitHub Enterprise Server는 다음 날짜에 중단됩니다. 2024-06-29. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

푸시 보호 작업

푸시 보호는 비밀을 포함하는 푸시를 차단하여 리포지토리에서 유출된 비밀에 대해 사전에 보호합니다. 비밀이 포함된 커밋을 푸시하려면 블록을 바이패스할 이유를 지정해야 합니다.

누가 이 기능을 사용할 수 있는 있나요?

엔터프라이즈에 GitHub Advanced Security 라이선스가 있는 경우, GitHub Enterprise Server의 조직 소유 리포지토리에 대한 푸시 보호를 이용할 수 있습니다.

푸시 보호 작업 정보

푸시 보호는 지원되는 비밀을 포함하는 푸시를 차단하여 실수로 리포지토리에 비밀을 커밋하는 것을 방지합니다.

명령줄 또는 웹 UI에서 푸시 보호를 사용할 수 있습니다.

필요한 경우 블록을 바이패스하는 방법을 포함하여 푸시 보호 작업에 대한 자세한 내용은 이 문서의 "명령줄에서 푸시 보호 사용 및 "웹 UI에서 푸시 보호 사용"을 참조하세요.

명령줄에서 푸시 보호 사용

푸시 보호로 보호되는 리포지토리에 지원되는 비밀을 푸시하려 하면 GitHub이(가) 푸시를 차단합니다. 분기에서 비밀을 제거하거나 제공된 URL을 통해 돌려주기를 허용할 수 있습니다.

검색된 비밀은 명령줄에 한 번에 최대 5개까지 표시됩니다. 리포지토리에서 특정 비밀이 이미 검색되고 경고가 이미 있는 경우 GitHub은(는) 해당 비밀을 차단하지 않습니다.

비밀이 진짜인지 확인한 경우 다시 푸시하기 전에 표시되는 모든 커밋에서 분기에서 비밀을 제거해야 합니다. 차단된 비밀을 수정하는 방법에 대한 자세한 내용은 "푸시 보호로 차단된 분기 푸시"을 참조하세요.

비밀이 진짜임을 확인하고 나중에 수정하려는 경우 가능한 한 빨리 비밀을 수정하는 것을 목표로 해야 합니다. 예를 들어 비밀을 해지하고 리포지토리의 커밋 기록에서 비밀을 제거할 수 있습니다. 무단 액세스를 방지하려면 노출된 실제 비밀을 해지해야 합니다. 비밀을 해지하기 전에 먼저 비밀을 교체하는 것을 고려할 수 있습니다. 자세한 내용은 "Removing sensitive data from a repository(리포지토리에서 중요한 데이터 제거)"을(를) 참조하세요.

참고:

  • Git 구성이 현재 분기뿐만 아니라 여러 분기에 대한 푸시를 지원하는 경우 푸시되는 추가 및 의도하지 않은 참조로 인해 푸시가 차단될 수 있습니다. 자세한 내용은 Git 문서의 push.default 옵션을 참조하세요.
  • 푸시 시 secret scanning이(가) 시간 초과되면 GitHub은(는) 푸시 후에도 커밋에서 비밀을 검사합니다.

경우에 따라 비밀에서 블록을 바이패스해야 할 수 있습니다. 푸시 보호를 우회하고 차단된 비밀을 푸시하는 방법에 대한 자세한 내용은 "명령줄을 사용할 때 푸시 보호 바이패스"를 참조하세요.

명령줄을 사용할 때 푸시 보호 바이패스

GitHub에서 푸시해도 안전하다고 생각되는 비밀을 차단하면 에서 푸시할 비밀을 허용하는 이유를 지정하여 블록을 바이패스할 수 있습니다.

비밀을 푸시하도록 허용하면 보안 탭에 경고가 생성됩니다. GitHub은(는) 경고를 닫고 비밀이 가양성이거나 테스트에서만 사용되도록 지정하는 경우 알림을 보내지 않습니다. 비밀이 실제이고 나중에 수정하도록 지정하면 GitHub는 보안 경고를 열어 두고 커밋 작성자와 리포지토리 관리자에게 알림을 보냅니다. 자세한 내용은 "비밀 검사에서 경고 관리"을(를) 참조하세요.

기여자가 비밀에 대한 푸시 보호 블록을 바이패스하면 GitHub는 메일 알림을 옵트인한 조직 소유자, 보안 관리자 및 리포지토리 관리자에게 메일 경고를 보냅니다.

  1. 푸시가 차단되었을 때 GitHub에서 반환된 URL을 방문합니다.

  2. 비밀을 푸시할 수 있어야 하는 이유를 가장 잘 설명하는 옵션을 선택합니다.

    • 비밀이 테스트에만 사용되고 위협이 되지 않는 경우 테스트에 사용됨을 클릭합니다.
    • 검색된 문자열이 비밀이 아니면 가양성임을 클릭합니다.
    • 비밀이 진짜이지만 나중에 수정하려는 경우 나중에 수정을 클릭합니다.
  3. 이 비밀을 푸시하도록 허용을 클릭합니다.

  4. 3시간 이내에 명령줄에서 푸시를 다시 시도합니다. 3시간 이내에 푸시하지 않은 경우 이 프로세스를 반복해야 합니다.

웹 UI에서 푸시 보호 사용

웹 UI를 사용하여 푸시 보호로 안전하게 보호되는 리포지토리에 지원되는 비밀을 커밋하려 하면 GitHub이(가) 해당 커밋을 차단합니다.

비밀의 위치에 대한 정보와 비밀을 푸시할 수 있는 옵션이 포함된 대화 상자가 표시됩니다. 또한 비밀은 파일에서 밑줄로 표시되므로 쉽게 찾을 수 있습니다.

차단된 커밋의 경우 웹 UI를 사용하여 파일에서 비밀을 제거할 수 있습니다. 비밀을 제거하면 변경 내용을 커밋할 수 있습니다.

GitHub은(는) 웹 UI에서 검색된 비밀을 한 번에 하나씩만 표시합니다. 리포지토리에서 특정 비밀이 이미 검색되고 경고가 이미 있는 경우 GitHub은(는) 해당 비밀을 차단하지 않습니다.

조직 소유자는 푸시가 차단될 때 표시되는 사용자 지정 링크를 제공할 수 있습니다. 이 사용자 지정 링크에는 조직과 관련된 리소스 및 조언이 포함될 수 있습니다. 예를 들어 사용자 지정 링크는 조직의 비밀 자격 증명 모음에 대한 정보, 질문을 에스컬레이션할 팀과 개인 또는 비밀 사용 및 커밋 기록을 다시 쓰기에 대해 승인된 조직 정책이 들어 있는 추가 정보 파일을 가리킬 수 있습니다.

비밀을 허용하는 이유를 지정하여 블록을 바이패스할 수 있습니다. 푸시 보호를 바이패스하고 차단된 비밀을 커밋하는 방법에 대한 자세한 내용은 "웹 UI를 사용할 때 푸시 보호 바이패스"를 참조하세요.

웹 UI에서 작업할 때 푸시 보호 무시

비밀이 진짜인지 확인한 경우 다시 푸시하기 전에 표시되는 모든 커밋에서 분기에서 비밀을 제거해야 합니다. 차단된 비밀을 수정하는 방법에 대한 자세한 내용은 "푸시 보호로 차단된 분기 푸시"을 참조하세요.

비밀이 진짜임을 확인하고 나중에 수정하려는 경우 가능한 한 빨리 비밀을 수정하는 것을 목표로 해야 합니다. 자세한 내용은 "Removing sensitive data from a repository(리포지토리에서 중요한 데이터 제거)"을(를) 참조하세요.

GitHub에서 커밋해도 안전하다고 생각되는 비밀을 차단하면 에서 비밀을 허용하는 이유를 지정하여 블록을 바이패스할 수 있습니다.

비밀을 푸시하도록 허용하면 보안 탭에 경고가 생성됩니다. GitHub은(는) 경고를 닫고 비밀이 가양성이거나 테스트에서만 사용되도록 지정하는 경우 알림을 보내지 않습니다. 비밀이 실제이고 나중에 수정하도록 지정하면 GitHub는 보안 경고를 열어 두고 커밋 작성자와 리포지토리 관리자에게 알림을 보냅니다. 자세한 내용은 "비밀 검사에서 경고 관리"을(를) 참조하세요.

기여자가 비밀에 대한 푸시 보호 블록을 바이패스하면 GitHub는 메일 알림을 옵트인한 조직 소유자, 보안 관리자 및 리포지토리 관리자에게 메일 경고를 보냅니다.

  1. GitHub이(가) 커밋을 차단했을 때 나타나는 대화 상자에서 비밀의 이름과 위치를 검토합니다.

  2. 비밀을 푸시할 수 있어야 하는 이유를 가장 잘 설명하는 옵션을 선택합니다.

    • 비밀이 테스트에만 사용되고 위협이 되지 않는 경우 테스트에 사용됨을 클릭합니다.
    • 검색된 문자열이 비밀이 아니면 가양성임을 클릭합니다.
    • 비밀이 진짜이지만 나중에 수정하려는 경우 나중에 수정을 클릭합니다.
  3. 비밀 허용을 클릭합니다.

추가 참고 자료