소개
이 가이드에서는 리포지토리에 대한 보안 기능을 구성하는 방법을 보여 줍니다. 리포지토리에 대한 보안 설정을 구성하려면 리포지토리 관리자 또는 조직 소유자여야 합니다.
보안 요구 사항은 리포지토리에 고유하므로 리포지토리에 대해 모든 기능을 사용하도록 설정할 필요는 없을 수도 있습니다. 자세한 내용은 GitHub security features(GitHub 보안 기능)을(를) 참조하세요.
일부 기능은 모든 리포지토리에서 사용할 수 있습니다. GitHub Advanced Security를 사용하는 엔터프라이즈에서는 추가 기능을 사용할 수 있습니다. 자세한 내용은 GitHub Advanced Security 정보을(를) 참조하세요.
리포지토리에 대한 액세스 관리
리포지토리를 보호하는 첫 번째 단계는 코드를 보고 수정할 수 있는 사용자를 설정하는 것입니다. 자세한 내용은 리포지토리의 설정 및 기능 관리을(를) 참조하세요.
리포지토리의 기본 페이지에서 설정을 클릭한 다음, 아래로 스크롤하여 “위험 영역”으로 이동합니다.
- 리포지토리를 볼 수 있는 사용자를 변경하려면 표시 여부 변경을 클릭합니다. 자세한 내용은 리포지토리 표시 유형 설정을(를) 참조하세요.
- 리포지토리에 액세스하고 권한을 조정할 수 있는 사용자를 변경하려면 액세스 관리를 클릭합니다. 자세한 내용은 리포지토리에 액세스할 수 있는 팀 및 사용자 관리을(를) 참조하세요.
종속성 그래프 관리
엔터프라이즈 소유자는 엔터프라이즈에 대한 종속성 그래프 Dependabot alerts을(를) 구성할 수 있습니다. 자세한 내용은 엔터프라이즈에 Dependabot 사용을(를) 참조하세요.
자세한 내용은 리포지토리의 종속성 탐색을(를) 참조하세요.
Dependabot alerts 관리
Dependabot alerts는 GitHub가 취약성이 있는 종속성 그래프의 종속성을 식별할 때 생성됩니다.
또한 Dependabot 자동 심사 규칙를 사용하여 대규모로 경고를 관리할 수 있으므로 경고를 자동으로 해제하거나 일시 중지하고 Dependabot에서 끌어오기 요청을 열 경고를 지정할 수 있습니다. 다양한 유형의 자동 분류 규칙과 리포지토리가 적격인지 아닌지 자세한 내용은 "Dependabot 자동 심사 규칙 정보"을 참조하세요.
Dependabot에서 제공하는 다양한 기능에 대한 개요 및 시작하는 방법에 대한 지침은 Dependabot 빠른 시작 가이드을(를) 참조하세요.
엔터프라이즈 소유자는 엔터프라이즈에 대한 종속성 그래프 및 Dependabot alerts을(를) 구성해야 합니다.
Dependabot alerts가 구성되면 리포지토리 관리자와 조직 소유자는 "Code security and analysis" 설정 페이지에서 프라이빗 및 내부 리포지토리에 대해 Dependabot alerts를 사용하도록 설정할 수 있습니다. 퍼블릭 리포지토리는 기본적으로 사용하도록 설정됩니다. 자세한 내용은 엔터프라이즈에 대해 종속성 그래프 사용, 엔터프라이즈에 Dependabot 사용, Dependabot 경고 구성을(를) 참조하세요.
자세한 내용은 Dependabot 경고 정보을(를) 참조하세요.
종속성 검토 관리
종속성 검토를 사용하면 끌어오기 요청이 리포지토리에 병합되기 전에 종속성 변경을 시각화할 수 있습니다. 자세한 내용은 종속성 검토 정보을(를) 참조하세요.
종속성 검토는 GitHub Advanced Security 기능입니다. 리포지토리에 대한 종속성 검토를 사용하도록 설정하려면 종속성 그래프를 사용하도록 설정하고 GitHub Advanced Security을(를) 사용하도록 설정합니다.
- 리포지토리의 기본 페이지에서 설정을 클릭합니다.
- Code security and analysis를 클릭합니다.
- 종속성 그래프가 엔터프라이즈에 대해 구성되어 있는지 확인합니다.
- 아직 GitHub Advanced Security를 사용하도록 설정하지 않은 경우 사용을 클릭합니다.
Dependabot security updates 관리
Dependabot alerts를 사용하는 리포지토리의 경우 취약성이 감지되면 Dependabot security updates를 사용하여 보안 업데이트로 끌어오기 요청을 발생하도록 설정할 수 있습니다.
- 리포지토리의 기본 페이지에서 설정을 클릭합니다.
- Code security and analysis를 클릭합니다.
- Dependabot security updates 옆에 있는 사용을 클릭합니다.
자세한 내용은 Dependabot 보안 업데이트 정보 및 Dependabot 보안 업데이트 구성.을(를) 참조하세요.
Dependabot version updates
관리
Dependabot를 사용하여 자동으로 끌어오기 요청을 발생시켜 종속성을 최신 상태로 유지할 수 있습니다. 자세한 내용은 Dependabot 버전 업데이트 정보을(를) 참조하세요.
Dependabot version updates을(를) 사용하도록 설정하려면 dependabot.yml
구성 파일을 만들어야 합니다. 자세한 내용은 Dependabot 버전 업데이트 구성을(를) 참조하세요.
code scanning 구성
Note
는 엔터프라이즈가 GitHub Advanced Security을(를) 사용하는 경우 조직이 소유한 리포지토리에 대해 사용할 수 있습니다.
code scanning를 구성하여 CodeQL 분석 워크플로 또는 타사 도구를 사용하여 리포지토리에 저장된 코드의 취약성 및 오류를 자동으로 식별할 수 있습니다. 리포지토리의 프로그래밍 언어에 따라, GitHub가 자동으로 스캔할 언어, 실행할 쿼리 모음, 새 스캔을 트리거할 이벤트를 결정하는 기본 설정을 사용하여 CodeQL로 code scanning를 구성할 수 있습니다. 자세한 내용은 코드 스캔을 위한 기본 설정 구성을(를) 참조하세요.
- 리포지토리의 기본 페이지에서 설정을 클릭합니다.
- 사이드바의 "Security" 섹션에서 Code security and analysis 를 클릭합니다.
- "Code scanning" 섹션에서 설정 을 선택한 다음 기본값을 클릭합니다.
- 표시되는 팝업 창에서 리포지토리의 기본 구성 설정을 검토한 다음 CodeQL 사용을 클릭합니다.
또는 CodeQL을(를) 사용하여 code scanning을(를) 사용자에 맞춰 편집할 수 있는 워크플로 파일을 생성하는 고급 설정을 사용할 수 있습니다. 자세한 내용은 코드 스캔을 위한 고급 설정 구성을(를) 참조하세요.
secret scanning
구성
Secret scanning은(는) 다음 리포지토리에 사용할 수 있습니다.
- GitHub Advanced Security을(를) 지원하는 조직 소유 리포지토리
- GitHub Advanced Security을(를) 지원하는 엔터프라이즈의 사용자 소유 리포지토리
-
리포지토리의 기본 페이지에서 설정을 클릭합니다.
-
Code security and analysis를 클릭합니다.
-
아직 GitHub Advanced Security을(를) 사용하도록 설정하지 않은 경우 사용을 클릭합니다.
-
Secret scanning 옆에 있는 사용을 클릭합니다.
보안 정책 만들기
리포지토리 유지 관리자는 리포지토리에 SECURITY.md
(으)로 명명된 파일을 만들어 리포지토리에 대한 보안 정책을 지정하는 것이 좋습니다. 이 파일은 리포지토리에서 보안 취약성을 보고하려는 경우 사용자에게 연락하고 공동 작업하는 최선의 방법을 설명합니다. 리포지토리의 보안 탭에서 리포지토리의 보안 정책을 볼 수 있습니다.
- 리포지토리의 기본 페이지에서 보안을 클릭합니다.
- 보안 정책을 클릭합니다.
- 설치 시작을 클릭합니다.
- 지원되는 프로젝트 버전 및 취약성 보고 방법에 대한 정보를 추가합니다.
자세한 내용은 Adding a security policy to your repository(리포지토리에 보안 정책 추가)을(를) 참조하세요.
다음 단계
보안 기능의 경고를 보고 관리하여 코드의 종속성과 취약성을 해결할 수 있습니다. 자세한 내용은 Dependabot 경고 보기 및 업데이트, 종속성 업데이트에 대한 끌어오기 요청 관리, 리포지토리에 대한 코드 검사 경고 평가, 비밀 검사에서 경고 관리을(를) 참조하세요.
GitHub의 도구를 사용하여 보안 경고에 대한 응답을 감사할 수도 있습니다. 자세한 내용은 보안 경고 감사을(를) 참조하세요.
GitHub Actions을(를) 사용하는 경우 GitHub의 보안 기능을 사용하여 워크플로의 보안을 강화할 수 있습니다. 자세한 내용은 GitHub의 보안 기능을 사용하여 안전하게 GitHub Actions 사용을(를) 참조하세요.