Skip to main content

비밀 스캔에서 폴더 및 파일 제외

리포지토리에서 secret_scanning.yml 파일을 구성하여 secret scanning을(를) 사용자 지정하면 디렉터리 또는 파일을 분석에서 제외할 수 있습니다.

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

엔터프라이즈에 GitHub Advanced Security에 대한 라이선스가 있는 경우 GitHub Enterprise Server의 조직 소유 리포지토리의 베타에서 Secret scanning를 사용할 수 있습니다. 자세한 내용은 "비밀 검사 경고 정보" 및 "GitHub Advanced Security 정보"을 참조하세요.

secret scanning 정보

{data variables.product.prodname_secret_scanning_caps %}은(는) 리포지토리에 체크인된 토큰 또는 자격 증명을 자동으로 감지합니다. 리포지토리의 보안 탭에서 경고를 확인하여 GitHub이(가) 코드에서 찾은 모든 비밀에 대해 어떤 토큰 또는 자격 증명을 손상된 것으로 처리할지 파악할 수 있습니다.자세한 내용은 "비밀 검사 경고 정보" 항목을 참조하세요.

비밀 검사에서 디렉터리 제외 정보

설명서 또는 예시 애플리케이션에서 가짜 비밀을 제공하려는 경우와 같이 리포지토리에 비밀을 커밋해야 하는 이유가 있을 수 있습니다. 이러한 시나리오에서는 경고를 신속하게 해제하고 이유를 문서화할 수 있습니다. 그러나 대규모로 가양성 경고를 생성하지 않기 위해 디렉터리를 완전히 무시하고 싶은 경우가 있을 수 있습니다. 예를 들어, 더미 키 파일이 포함된 여러 통합이 있는 모놀리식 애플리케이션이 있을 수 있는데, 이 경우에는 분류를 위해 수많은 거짓 경고를 발생시킬 수 있습니다.

푸시 보호를 사용하는 경우를 포함하여 secret scanning에서 디렉터리를 제외하도록 secret_scanning.yml 파일을 구성할 수 있습니다.

비밀 검사에서 디렉터리 제외

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다.

  2. 파일 목록 위에서 파일 추가 드롭다운을 사용하여 새 파일 만들기를 클릭합니다.

  3. 파일 이름 필드에 ".github/secret_scanning.yml"을 입력합니다.

  4. 새 파일 편집에서 paths-ignore:를 입력하고 secret scanning에서 제외할 경로를 입력합니다.

    YAML
    paths-ignore:
      - "docs/**"
    

    이렇게 하면 secret scanning이(가) docs 디렉터리에 있는 모든 항목을 무시하도록 지시합니다. 이 예시 파일을 템플릿으로 사용하여 사용자 고유의 리포지토리에서 제외할 파일 및 폴더를 추가할 수 있습니다.

    * 등의 특수 문자를 사용하여 경로를 필터링할 수도 있습니다. 필터 패턴에 대한 자세한 내용은 “GitHub Actions에 대한 워크플로 구문”을 참조하세요.

    YAML
    paths-ignore:
      - "foo/bar/*.js"
    

    참고 사항:

    • paths-ignore에 1,000개가 넘는 항목이 있는 경우 secret scanning은 검사에서 처음 1,000개의 디렉터리만 제외합니다.
    • secret_scanning.yml이(가) 1 MB보다 크면 secret scanning은(는) 전체 파일을 무시합니다.

폴더가 secret scanning에서 제외되었는지 확인

  1. 비밀 검사에서 제외된 디렉터리에서 파일 열기
  2. 사전 무효성 검사된 비밀 또는 테스트 비밀을 붙여넣습니다.
  3. 변경 내용을 커밋합니다.
  4. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다.
  5. 리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다.
    탭을 보여 주는 리포지토리 헤더의 스크린샷. "보안" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.
    방금 파일에 도입한 비밀에 대한 새 열기 경고가 표시되지 않아야 합니다.

모범 사례

모범 사례는 다음을 포함해야 합니다.

  • 제외되는 디렉터리 수를 최소화하고 제외를 정의할 때 최대한 정밀도를 유지하세요. 이렇게 하면 지침이 최대한 명확하고 제외가 의도한 대로 작동합니다.
  • secret_scanning.yml 파일에 주석으로 특정 파일이나 폴더가 제외된 이유를 설명합니다. 일반 코드와 마찬가지로 주석을 사용하면 사용자의 의도가 명확해지므로 다른 사용자가 원하는 동작을 더 쉽게 이해할 수 있습니다.
  • 정기적으로 secret_scanning.yml 파일을 검토합니다. 일부 제외는 시간이 지남에 따라 더 이상 적용되지 않을 수 있으며 파일을 깨끗하고 최신 상태로 유지하는 것이 좋습니다. 위에서 설명한 대로 주석을 사용하는 것이 유용할 수 있습니다.
  • 보안팀에 어떤 파일과 폴더를 제외했는지, 왜 제외했는지 알려주세요. 원활한 커뮤니케이션은 모든 사용자가 같은 생각을 하고 특정 폴더나 파일이 제외된 이유를 이해하도록 하는 데 매우 중요합니다.