Skip to main content

시크릿 스캐닝에서 폴더 및 파일 제외

리포지토리에서 secret_scanning.yml 파일을 구성함으로써 특정 디렉터리 또는 파일에 위치한 시크릿에 대해 자동으로 경고를 닫도록 secret scanning을 사용자 지정할 수 있습니다.

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

리포지토리 소유자, 조직 소유자, 보안 관리자 및 관리자 역할이 있는 사용자

설명 문서 또는 예시 애플리케이션에서 가짜 시크릿을 제공하는 경우를 포함해 리포지토리에 시크릿을 커밋해야 하는 경우가 있습니다. 이러한 시나리오에서는 경고를 신속하게 해제하고 그 이유를 문서로 기록할 수 있어야 합니다. 하지만 대규모로 가양성 경고가 생성되지 않도록 디렉터리를 완전히 무시하고 싶을 때도 있습니다. 예를 들어, 여러 통합이 포함된 모놀리식 애플리케이션이 있고, 그 안에 더미 키 파일이 포함되어 있어 분류해야 할 다수의 오탐 경고가 발생할 수 있습니다.

          `secret_scanning.yml` 파일은 특정 디렉터리에서 발견된 경고를 secret scanning에서 자동으로 닫고 푸시 보호에 포함된 이러한 디렉터리를 제외하도록 구성할 수 있습니다. 이러한 경고는 “구성에서 무시됨”으로 닫힙니다.

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

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 파일 목록 위에서 파일 추가 드롭다운 메뉴를 선택한 다음, 새 파일 생성을 클릭합니다.

    또는 왼쪽의 파일 트리 보기에서 을(를) 클릭합니다.

    위에 설명된 "파일 추가"와 "더하기 기호" 아이콘을 모두 주황색 윤곽선으로 강조 표시한 리포지토리 기본 페이지의 스크린샷

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

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

    이는 docs 디렉터리의 모든 항목에 대한 경고를 자동으로 닫도록 secret scanning에게 알립니다. 사용자 고유의 리포지토리에서 제외할 파일 및 폴더를 추가하기 위해 이 예시 파일을 템플릿으로 사용할 수 있습니다.

    경로 필터링을 위해 * 등 특수 문자를 사용할 수 있습니다. 필터 패턴에 대한 자세한 내용은 “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에서 리포지토리의 기본 페이지로 이동합니다.
  5. 리포지토리 이름 아래에서 탭을 Security 클릭합니다. " Security" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 을 클릭합니다 Security. 방금 사용자가 파일에 추가한 스크릿에 대해 새로 열린 경고가 없어야 합니다.

모범 사례

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

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