롤아웃 통합 선택

SDLC 통합 지점

Snyk은 SDLC의 모든 단계에서 Snyk과 원활하게 작동할 수 있도록 다양한 통합 기능을 제공합니다.

많은 기업들이 먼저 자동화된 솔루션을 롤아웃한 다음, 개발자를 지원하기 위한 도구를 서서히 도입합니다. 또한 중단을 최소화하기 위해 게이팅(gating) 기능은 일정 기간에 걸쳐 점진적으로 활성화됩니다.

circle-info

여러 통합 기능을 사용하면 문제 보고가 중복될 수 있으므로, 처음부터 두 가지 이상의 통합 유형을 구현할 필요는 없습니다. 예를 들어, 처음에 Git 리포지토리를 통해 모든 것을 가져온 다음, 나중에 세부적인 확인을 위해 CI/CD 보기를 사용할 수 있습니다. 두 보기를 모두 원하지 않는 경우 소스 제어 통합을 제거할 수 있습니다.

통합 유형

다음은 전형적인 초기 통합 기능들입니다.

소스 코드 관리 (SCM) 통합

GitHub, GitLab, Azure Repos, Bitbucket과 같은 인기 있는 버전 관리 플랫폼과의 통합을 통해 Snyk 보안 검사를 코드 리뷰 프로세스에 원활하게 통합할 수 있습니다. 이를 통해 코드가 메인 브랜치에 병합되기 전에 잠재적인 취약점을 식별하고 해결할 수 있습니다. 주요 기능은 다음과 같습니다.

  • 지정된 브랜치(일반적으로 개발 브랜치)에 대한 일일 테스트 및 모니터링

  • (선택 사항) 리포지토리의 모든 브랜치에 대한 풀 리퀘스트/병합 리퀘스트 검사

  • (선택 사항) 풀 리퀘스트를 통한 자동 종속성 업그레이드 및 자동 보안 수정 업그레이드

SCM 통합의 장점은 다음과 같습니다.

  • 리포지토리 보안 상태에 대한 가시성 확보

  • 코드 변경 시 자동 스캔 수행

  • 개발자에게 문제에 대한 즉각적인 피드백 제공

  • UI 또는 API/API Import 도구를 통해 리포지토리 온보딩 구성 가능

  • Snyk 엔터프라이즈 플랜에서 클라우드 및 프라이빗 코드 리포지토리 지원

자세한 내용은 Snyk SCM 통합을 참조하십시오.

온프레미스 Git 리포지토리를 사용하는 경우, Snyk이 리포지토리와 통신할 수 있도록 Snyk Broker 배포를 고려해야 합니다.

circle-info

엔터프라이즈 고객은 API를 사용하여 Snyk Broker를 활성화하고 관리할 수 있습니다.

Snyk Broker 배포를 지원하기 위해 유료 서비스를 이용할 수 있습니다.

지속적 통합/지속적 배포 (CI/CD) 파이프라인 통합

Jenkins, Travis CI 또는 CircleCI와 같은 CI/CD 파이프라인에 Snyk을 통합하면 빌드 및 배포 프로세스 중에 보안 검사를 자동화할 수 있습니다. 이를 통해 소프트웨어 개발 수명 주기 초기에 취약점을 감지하고 프로덕션으로의 확산을 방지할 수 있습니다. 주요 기능은 다음과 같습니다.

  • (선택 사항) 빌드 중 결과를 수동적으로 모니터링하고 Snyk에서 결과를 확인하는 기능

  • (선택 사항) 지정한 기준에 따라 결과가 발견될 경우 빌드를 테스트하고 잠재적으로 중단시키는 기능

CI/CD 통합의 장점은 다음과 같습니다.

  • 로컬 코드 취약점 평가

  • 테스트에 대한 완전한 제어: 어떤 테스트를 실행할지, 빌드 스크립트의 어느 위치에서 실행할지 결정

  • 원하는 경우 CI/CD에 의한 자동화 가능

자세한 내용은 Snyk CI/CD 통합을 참조하십시오.

IDE 통합

Visual Studio Code, IntelliJ IDEA, Eclipse와 같은 통합 개발 환경(IDE) 통합을 통해 개발자는 코딩 환경 내에서 직접 Snyk 보안 기능에 액세스할 수 있습니다. 이를 통해 개발자가 코드를 작성할 때 실시간 스캔 및 문제 해결이 가능해집니다.

자세한 내용은 Snyk IDE 플러그인 및 확장 프로그램을 참조하십시오.

가져오기 전략 고려 사항

프로젝트 가져오기 전략
고려 사항
장점
단점

CLI (CI/CD와 자동화됨)

CI/CD 내의 각 애플리케이션에 대해 구성되어야 함.

  • 테스트할 항목과 시기 선택 가능: 어떤 패키지 관리자, 프로세스의 어느 지점, 분석할 언어

  • 통합을 위해 개발 노력이 필요할 수 있음

애플리케이션별로 구성이 필요함.

CLI (사용자가 로컬에서 실행)

개발자가 애플리케이션 작업 중에 로컬에서 테스트를 수행하는 데 사용될 수 있으며, 스캔 유형별로 매우 유연하게 구성 가능.

로컬 사용 사례

가시성이나 자동화가 목적이 아님. 빌드 가능한 코드나 종속성 설치가 필요할 수 있음 (예: 잠금 파일 없는 Gradle, Scala)

API

  • 일반적으로 고급 사용 사례를 위함.

  • CI/CD 워크플로나 사용자 정의 도구에 통합.

CI/CD 파이프라인에 자동화된 통합

API 숙련도 필요, 엔터프라이즈 플랜을 통한 액세스.

Git 코드 리포지토리 통합

온보딩 및 일일 모니터링에 사용됨: 애플리케이션 포트폴리오 전반에 걸친 신속한 취약점 평가

  • 작업 중이 아닐 때도 리포지토리에 대한 지속적인 모니터링

  • 팀을 위한 중앙 집중식 가시성

  • 지정된 브랜치 모니터링

  • 코드를 빌드할 필요 없음

  • UI를 통해 시작할 수 있지만, 포트폴리오가 큰 경우 Api Import 도구와 함께 API를 사용하여 리포지토리 온보딩을 시작해야 함

  • 일부 언어/패키지 관리자는 CLI를 사용하여 더 나은 해결 능력을 가짐: 잠금 파일 없는 Gradle, Scala

  • 풀 리퀘스트(PR)/병합 리퀘스트(MR) 스캔

  • 리포지토리의 모든 브랜치에 대해 PR/MR에서 도입된 문제에 대한 즉각적인 피드백 제공

통과/실패를 위한 구성 가능한 규칙

통합에 대한 추가 고려 사항

코드형 인프라(Infrastructure as Code) 통합

Snyk Infrastructure as Code의 경우, 일반적으로 Terraform 또는 YAML 구성 파일이 SCM에 보관되지만 별도의 영역이나 리포지토리에 있을 수도 있습니다. 따라서 가져와야 할 다른 영역이 있는지 고려하십시오. 또한 terraform run 프로세스의 일부로 Snyk 테스트를 활성화하기 위해 해당하는 경우 Terraform Cloud와 통합할 수도 있습니다.

복잡한 환경, 모듈 및 템플릿화가 많이 된 구현의 경우, Terraform Plan 파일에 CLI를 활용하는 것이 가장 좋은 결과를 제공할 수 있습니다.

컨테이너 레지스트리 (CR) 통합

Snyk은 또한 다양한 컨테이너 레지스트리와 통합하여 컨테이너를 가져오고 취약점을 모니터링할 수 있게 해줍니다. Snyk은 가져온 컨테이너에 대해 제어 가능한 빈도로 발견된 알려진 보안 취약점을 테스트합니다.

Kubernetes

Snyk은 Kubernetes에 배포된 워크로드를 모니터링하도록 구성될 수 있습니다. 컨트롤러 구성 방법에 대한 자세한 내용은 Kubernetes 통합 개요를 참조하십시오.

Last updated