secret scanning 정보
{data variables.product.prodname_secret_scanning_caps %}은(는) 리포지토리에 체크인된 토큰 또는 자격 증명을 자동으로 감지합니다. 리포지토리의 보안 탭에서 경고를 확인하여 GitHub이(가) 코드에서 찾은 모든 비밀에 대해 어떤 토큰 또는 자격 증명을 손상된 것으로 처리할지 파악할 수 있습니다.자세한 내용은 "비밀 검사 경고 정보" 항목을 참조하세요.
비밀 검사에서 디렉터리 제외 정보
설명서 또는 예시 애플리케이션에서 가짜 비밀을 제공하려는 경우와 같이 리포지토리에 비밀을 커밋해야 하는 이유가 있을 수 있습니다. 이러한 시나리오에서는 경고를 신속하게 해제하고 이유를 문서화할 수 있습니다. 그러나 대규모로 가양성 경고를 생성하지 않기 위해 디렉터리를 완전히 무시하고 싶은 경우가 있을 수 있습니다. 예를 들어, 더미 키 파일이 포함된 여러 통합이 있는 모놀리식 애플리케이션이 있을 수 있는데, 이 경우에는 분류를 위해 수많은 거짓 경고를 발생시킬 수 있습니다.
푸시 보호를 사용하는 경우를 포함하여 secret scanning에서 디렉터리를 제외하도록 secret_scanning.yml
파일을 구성할 수 있습니다.
비밀 검사에서 디렉터리 제외
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
파일 목록 위에서 파일 추가 드롭다운을 사용하여 새 파일 만들기를 클릭합니다.
-
파일 이름 필드에 ".github/secret_scanning.yml"을 입력합니다.
-
새 파일 편집에서
paths-ignore:
를 입력하고 secret scanning에서 제외할 경로를 입력합니다.YAML paths-ignore: - "docs/**"
paths-ignore: - "docs/**"
이렇게 하면 secret scanning이(가)
docs
디렉터리에 있는 모든 항목을 무시하도록 지시합니다. 이 예시 파일을 템플릿으로 사용하여 사용자 고유의 리포지토리에서 제외할 파일 및 폴더를 추가할 수 있습니다.*
등의 특수 문자를 사용하여 경로를 필터링할 수도 있습니다. 필터 패턴에 대한 자세한 내용은 “GitHub Actions에 대한 워크플로 구문”을 참조하세요.YAML paths-ignore: - "foo/bar/*.js"
paths-ignore: - "foo/bar/*.js"
Note
paths-ignore
에 1,000개가 넘는 항목이 있는 경우 secret scanning은 검사에서 처음 1,000개의 디렉터리만 제외합니다.secret_scanning.yml
이(가) 1 MB보다 크면 secret scanning은(는) 전체 파일을 무시합니다.
폴더가 secret scanning에서 제외되었는지 확인
- 비밀 검사에서 제외된 디렉터리에서 파일 열기
- 사전 무효성 검사된 비밀 또는 테스트 비밀을 붙여넣습니다.
- 변경 내용을 커밋합니다.
- GitHub에서 리포지토리의 기본 페이지로 이동합니다.
- 리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다. 방금 파일에 도입한 비밀에 대한 새 열기 경고가 표시되지 않아야 합니다.
모범 사례
모범 사례는 다음을 포함해야 합니다.
- 제외되는 디렉터리 수를 최소화하고 제외를 정의할 때 최대한 정밀도를 유지하세요. 이렇게 하면 지침이 최대한 명확하고 제외가 의도한 대로 작동합니다.
secret_scanning.yml
파일에 주석으로 특정 파일이나 폴더가 제외된 이유를 설명합니다. 일반 코드와 마찬가지로 주석을 사용하면 사용자의 의도가 명확해지므로 다른 사용자가 원하는 동작을 더 쉽게 이해할 수 있습니다.- 정기적으로
secret_scanning.yml
파일을 검토합니다. 일부 제외는 시간이 지남에 따라 더 이상 적용되지 않을 수 있으며 파일을 깨끗하고 최신 상태로 유지하는 것이 좋습니다. 위에서 설명한 대로 주석을 사용하는 것이 유용할 수 있습니다. - 보안팀에 어떤 파일과 폴더를 제외했는지, 왜 제외했는지 알려주세요. 원활한 커뮤니케이션은 모든 사용자가 같은 생각을 하고 특정 폴더나 파일이 제외된 이유를 이해하도록 하는 데 매우 중요합니다.