GitHub
GitHub 통합의 전제 조건
인터넷에 액세스할 수 있는 리포지토리. 리포지토리가 인터넷에 액세스할 수 없는 경우 Snyk Broker를 사용해야 합니다.
공개 또는 비공개 GitHub 프로젝트.
필요한 PAT 및 GitHub 리포지토리 액세스 범위 권한. 자세한 내용은 GitHub 및 GitHub Enterprise 권한 요구 사항을 참조하십시오.
GitHub 통합의 알려진 제한 사항
GitHub 통합은 Snyk 조직이 아닌 사용자 계정과 연결되므로 Snyk 서비스 계정과 함께 사용할 수 없습니다.
GitHub Enterprise 통합을 사용하여 Snyk 서비스 계정으로 API를 사용하여 공개 및 비공개 프로젝트를 가져옵니다.
GitHub 통합 기능
GitHub 통합을 통해 다음을 수행할 수 있습니다.
통합된 모든 리포지토리에서 지속적으로 보안 스캔 수행
오픈소스 구성 요소의 취약점 탐지
자동 수정 및 업그레이드 제공
조직별이 아닌 사용자별
GitHub 통합은 Snyk 조직이 아닌 사용자 계정에 대해 설정됩니다. GitHub 통합 설정은 사용자 계정과 연결된 모든 조직에 적용되지만 조직의 다른 사용자 계정에는 자동으로 적용되지 않습니다.
Snyk PR 기능이 활성화된 GitHub 통합을 사용하여 Snyk 프로젝트를 가져오면 해당 프로젝트에 대해 Snyk PR이 생성됩니다. 그러나 다른 사용자가 Snyk PR 기능을 비활성화한 후 GitHub 통합으로 프로젝트를 가져오면 가져온 프로젝트에 대해 Snyk PR이 생성되지 않습니다.
GitHub 통합 설정 방법
GitHub 리포지토리를 Snyk에 연결하여 스캔하려면 통합을 설정한 다음 프로젝트를 가져와야 합니다. 자세한 내용은 시작하기를 참조하십시오.
GitHub 통합 설정
GitHub 통합에 대한 모든 설정을 보려면 GitHub 통합 설정 페이지로 이동한 다음 조직 설정으로 이동하여 통합 섹션에서 GitHub를 선택합니다.
그런 다음 필요한 섹션으로 스크롤하여 그에 따라 옵션을 설정할 수 있습니다.
풀 리퀘스트 상태 확인 (PR 확인)
Dockerfiles
일반 GitHub 통합 설정
일반을 선택하여 일반 설정을 봅니다.

통합 ID: Snyk API를 사용하는 경우 필요한 이 통합의 고유 ID입니다.
리포지토리 액세스: Snyk이 (공개 리포지토리 외에) 비공개 리포지토리에 액세스할 수 있는지 여부입니다. 이 설정을 변경하면 기존 프로젝트에 영향을 미칩니다.
GitHub 통합 기능
GitHub를 Snyk에 연결한 후 다음을 사용할 수 있습니다.
프로젝트 수준 보안 보고서
기능 가용성
보고서는 Enterprise 플랜에서만 사용할 수 있습니다. 자세한 내용은 플랜 및 가격을 참조하십시오.
Snyk은 고급 보안 보고서를 생성하여 리포지토리에서 발견된 취약점을 탐색하고 필요한 업그레이드 또는 패치로 리포지토리에 직접 수정 풀 리퀘스트를 열어 즉시 수정할 수 있도록 합니다.
이 예는 프로젝트 수준 보안 보고서를 보여줍니다.

프로젝트 모니터링 및 자동 수정 풀 리퀘스트
Snyk은 매일 또는 매주 프로젝트를 스캔합니다. 새로운 취약점이 발견되면 Snyk은 이메일을 통해 알려주고 리포지토리에 대한 수정 사항이 포함된 자동화된 풀 리퀘스트를 엽니다.
다음 예는 Snyk이 연 수정 풀 리퀘스트를 보여줍니다.

Snyk GitHub 통합 설정 페이지에서 자동 수정 풀 리퀘스트 설정을 검토하고 조정하려면 조직 설정 > 통합 > 소스 제어 > GitHub로 이동합니다.
자동 수정 PR 섹션으로 스크롤하여 옵션을 설정합니다. 정의는 통합 수준에서 자동 수정 PR 구성을 참조하십시오.

커밋 서명
기능 가용성
Snyk Broker와의 가용성은 Broker 문서의 커밋 서명 페이지를 참조하십시오.
Snyk의 풀 리퀘스트에 있는 모든 커밋은 [email protected](GitHub에서 확인된 사용자)에 의해 수행되며 PGP 키로 서명됩니다. 모든 Snyk 풀 리퀘스트는 GitHub에서 확인된 것으로 표시되므로 개발자에게 수정 및 업그레이드 풀 리퀘스트가 신뢰할 수 있는 소스에서 생성되었음을 확신시켜 둡니다.
풀 리퀘스트 상태 확인
Snyk PR 확인 기능을 사용하면 Snyk이 리포지토리에서 새로 생성된 모든 PR에 대해 보안 취약점을 테스트하고 상태 확인을 GitHub로 보낼 수 있습니다. 이를 통해 GitHub에서 직접 풀 리퀘스트가 새로운 보안 문제를 도입하는지 여부를 확인할 수 있습니다.
이 예는 Snyk PR 확인이 GitHub 풀 리퀘스트 페이지에 어떻게 나타나는지 보여줍니다.

조직 설정 > 통합 > 소스 제어 > GitHub에서 Snyk GitHub 통합 설정 페이지를 사용하여 풀 리퀘스트 테스트 설정을 검토하고 조정할 수 있습니다.

GitHub 사용자 권한 및 작업
브로커되지 않은 GitHub 통합에서 Snyk 웹 UI를 통해 트리거되는 작업(예: 수정 PR 열기 또는 프로젝트 다시 테스트)은 실행 중인 사용자를 대신하여 수행됩니다.
따라서 Snyk UI를 통해 GitHub에서 이 작업을 수행하려는 사용자는 이러한 작업을 수행하려는 리포지토리에 대한 필요한 권한 범위로 GitHub 계정을 Snyk에 연결해야 합니다. 자세한 내용은 GitHub 및 GitHub Enterprise 권한 요구 사항을 참조하십시오.
매일 및 매주 테스트 및 자동 PR(수정 및 업그레이드)과 같이 Snyk 웹 UI를 통해 트리거되지 않는 작업은 GitHub 계정을 Snyk에 연결하고 리포지토리에 대한 필요한 권한 범위가 있는 임의의 Snyk 조직 구성원을 대신하여 수행됩니다.
브로커되지 않은 공개 리포지토리의 경우 PR 생성과 같은 일부 작업은 경우에 따라 [email protected]에 의해 수행될 수 있습니다.
Snyk 조직 관리자는 수정 및 업그레이드 PR을 여는 데 사용할 특정 GitHub 계정을 지정할 수 있습니다.
Snyk은 다른 모든 작업을 수행하기 위해 임의의 Snyk 조직 구성원의 GitHub 계정을 계속 사용합니다. 따라서 이 기능을 사용해도 사용자의 GitHub 계정을 Snyk에 연결할 필요가 없어지는 것은 아닙니다.
Snyk PR을 열고 풀 리퀘스트 경험을 활성화하기 위해 GitHub 계정을 설정하는 방법
수정 및 업그레이드 풀 리퀘스트를 열고 풀 리퀘스트 경험을 활성화하기 위해 특정 GitHub 계정을 지정할 수 있습니다.
구성된 계정은 PR을 열고 문제 요약 및 인라인 주석을 게시하는 데만 사용됩니다. 다른 모든 작업은 여전히 GitHub 계정을 Snyk에 연결한 임의로 선택된 Snyk 조직 구성원을 대신하여 수행됩니다.
이 기능을 사용하려면 다음 단계를 따르십시오.
Snyk 웹 UI에서 조직 설정 > 통합 > 소스 제어 > GitHub를 사용하여 GitHub 통합 설정 페이지로 이동합니다.
고정된 GitHub 계정에서 Snyk 자동 PR 열기 섹션에서 GitHub 개인용 액세스 토큰을 입력합니다. GitHub 계정에서 이를 생성할 수 있습니다.
저장을 클릭하여 이 기능을 활성화합니다.

Snyk PR을 열도록 지정한 GitHub 계정에 Snyk으로 모니터링하려는 리포지토리에 대한 쓰기 수준 이상의 권한이 있는지 확인하십시오.
자세한 내용은 GitHub 및 GitHub Enterprise 권한 요구 사항을 참조하십시오.
사용자에게 풀 리퀘스트를 할당하는 방법
기능 가용성
자동 할당 PR 기능은 비공개 리포지토리에서만 지원됩니다.
Snyk은 생성하는 풀 리퀘스트를 자동으로 할당하여 올바른 팀원이 처리하도록 할 수 있습니다.
PR에 대한 자동 할당은 GitHub 및 GitHub Enterprise 통합 및 GitHub를 통해 가져온 모든 프로젝트 또는 프로젝트별로 활성화할 수 있습니다.
사용자를 수동으로 지정하여 모두 할당하거나 마지막 커밋 사용자 계정을 기반으로 자동으로 선택할 수 있습니다.
GitHub 통합의 모든 프로젝트에 대해 자동 할당 활성화
가져온 비공개 리포지토리의 모든 프로젝트에 대한 자동 할당 설정을 구성하려면 조직 설정 > 통합 > 소스 제어 > GitHub를 사용하여 Github 통합 설정으로 이동하고 풀 리퀘스트 할당자 활성화를 선택합니다.
그런 다음 매니페스트 파일을 마지막으로 변경한 사용자 또는 지정된 기여자에게 PR을 할당하도록 선택할 수 있습니다.

풀 리퀘스트 할당자의 경우 매니페스트 파일을 마지막으로 변경한 사용자 옵션은 Git 커밋이 아닌 블레임 데이터를 기반으로 합니다.
단일 프로젝트에 대해 자동 할당 활성화
가져온 비공개 리포지토리의 특정 프로젝트에 대한 자동 할당 설정을 구성하려면 다음 단계를 따르십시오.
조직의 프로젝트 탭에서 관련 비공개 리포지토리를 선택하고 확장한 다음 대상을 선택하고 설정 톱니바퀴를 클릭합니다. 그러면 프로젝트 페이지가 열립니다.
프로젝트 페이지에서 해당 특정 프로젝트에 대한 고유한 설정을 적용합니다. 오른쪽 상단의 설정 탭과 왼쪽 사이드바의 Github 통합 __ 옵션을 선택합니다.
페이지 하단의 비공개 리포지토리에 대한 풀 리퀘스트 할당자 섹션으로 이동하여 통합 설정에서 상속 또는 이 프로젝트에 대해서만 사용자 지정을 선택합니다.
이 비공개 프로젝트에 대한 PR 자동 할당이 활성화되었는지 확인합니다.
매니페스트 파일을 마지막으로 변경한 사용자 또는 지정된 기여자에게 PR을 할당하도록 선택합니다.

GitHub 통합을 비활성화하는 방법
GitHub SCM 통합은 OAuth 앱 통합을 활용합니다. Snyk Broker를 사용하지 않고 GitHub를 통합한 경우 다음 단계에 따라 연결을 끊을 수 있습니다.
GitHub에서 통합을 생성하는 데 사용한 GitHub 계정에 로그인합니다.
GitHub 계정 설정으로 이동하여 왼쪽 사이드바에서 애플리케이션 옵션을 선택합니다.
승인된 OAuth 앱 탭을 선택합니다. 승인된 OAuth 앱 탭으로 직접 이동할 수도 있습니다.
Snyk 항목을 찾아 오른쪽에 있는 세 개의 점을 클릭하고 해지를 선택합니다.

이 액세스를 해지하면 Snyk의 해당 GitHub 계정에 대한 액세스가 효과적으로 연결 해제됩니다.
기존에 가져온 스냅샷은 Snyk에 유지되며 삭제될 때까지 기존 스냅샷을 기반으로 계속 다시 스캔됩니다.
Snyk은 더 이상 GitHub 통합에서 새 프로젝트를 가져올 수 없으며 새 코드 병합 시 다시 스캔하지 않습니다.
또한 기존 분기 보호 규칙에서 Snyk이 활성화되어 있지 않은지 확인해야 합니다.
분기 보호는 PR이 제기된 후에만 활성화됩니다.
GitHub 리포지토리의 기본 페이지에서 설정 > 분기 > 분기 보호 규칙으로 이동합니다.
지난 주에 이 리포지토리에 대해 발견된 상태 확인이 없는지 확인합니다.
연결 해제된 GitHub 통합은 Snyk UI의 통합 메뉴에 여전히 구성된 것으로 표시됩니다. 그러나 통합 설정을 클릭하면 연결되지 않은 것으로 표시됩니다. 이 경우 "구성된" 통합은 안전하게 무시할 수 있습니다.
GitHub Enterprise 통합으로 마이그레이션
GitHub 통합을 사용하여 가져온 Snyk 프로젝트를 삭제하기 전에 보고에 미치는 영향을 고려하십시오. 프로젝트를 삭제하기로 결정하고 대상에 남은 프로젝트가 없으면 대상도 삭제하십시오. 자세한 내용은 Snyk 계정 팀 또는 Snyk 지원에 문의하십시오.
GitHub Enterprise 통합을 사용하여 프로젝트를 구성하고 가져오기 전에 GitHub 통합을 사용하여 가져온 모든 프로젝트를 제거하는 것이 좋습니다. 이렇게 하면 중복된 Snyk 프로젝트가 생기는 것을 방지할 수 있습니다.
GitHub 통합을 사용하여 가져온 프로젝트는 Snyk에서 프로젝트를 제거하여 수동으로 제거할 수 있습니다. 그러나 GitHub 통합을 사용하여 이미 가져온 프로젝트 수에 따라 새 Snyk 조직을 만드는 것이 더 쉬울 수 있습니다.
이미 여러 Snyk 조직을 만들고 각 조직에 GitHub에서 프로젝트를 가져온 경우 Snyk GitHub Enterprise 통합을 사용하도록 각 조직을 수동으로 업데이트하는 것보다 Snyk 조직을 다시 만드는 것이 더 쉬울 수 있습니다. 이렇게 하려면 기존 조직에서 통합 설정을 복사하여 다른 통합을 다시 구성할 필요가 없도록 할 수 있습니다.
마이그레이션 단계
GitHub 통합을 사용하여 가져온 프로젝트가 있는 여러 Snyk 조직이 이미 있는 경우 다음 단계에 따라 GitHub 통합에서 GitHub Enterprise 통합으로 마이그레이션하십시오.
다른 모든 조직의 템플릿으로 사용할 새 Snyk 조직을 만듭니다. 필요한 경우 기존 조직에서 통합 설정을 복사할 수 있습니다.
이 새 템플릿 조직에서 GitHub Enterprise 통합 페이지의 단계에 따라 Snyk GitHub Enterprise 통합을 설정합니다. 해당 단계의 전용 GitHub 서비스 계정은 Snyk과 GitHub 간의 연결로 사용할 별도의 사용자 계정입니다.
Snyk GitHub Enterprise 통합이 구성되면 프로젝트를 템플릿 조직으로 가져와 통합이 예상대로 작동하는지 테스트할 수 있습니다.
이제 GitHub 통합을 사용하여 구성된 기존 조직을 대체할 새 조직을 만들 수 있습니다. 각 새 조직을 만들 때 이 템플릿 조직에서 통합 설정을 복사하여 GitHub Enterprise 통합을 사용할 수 있도록 합니다.
이제 새 조직이 생성되었으므로 소스를 선택할 때 GitHub Enterprise 통합을 선택하여 프로젝트를 가져올 수 있습니다.
이제 GitHub 통합을 사용하여 구성된 이전 조직을 제거할 수 있습니다.
나중에 GitHub 통합을 사용하여 의도치 않게 프로젝트를 가져오는 것을 방지하기 위해 GitHub 통합 연결을 끊을 수 있습니다. GitHub 통합은 조직별이 아닌 사용자 계정별로 구성되므로 GitHub 통합을 설정한 각 사용자는 이 연결 해제 프로세스를 개별적으로 완료해야 합니다.
Last updated