Bitbucket 데이터 센터/서버
Bitbucket 데이터 센터/서버 통합을 통해 통합된 모든 리포지토리에서 지속적으로 보안 스캔을 수행하고, 오픈소스 구성 요소의 취약점을 탐지하며, 자동화된 수정을 사용할 수 있습니다. 이 통합은 Bitbucket 데이터 센터/서버 버전 4.0 이상을 지원합니다.
빠른 참조는 Snyk 블로그의 Snyk 및 Bitbucket 모범 사례 치트 시트를 참조하십시오.
Bitbucket DC/서버 통합 설정 방법
Snyk에 Bitbucket DC/서버 계정에 대한 액세스 권한을 부여하려면 Bitbucket DC/서버에서 관리자 권한으로 전용 서비스 계정을 설정하십시오. 사용자 생성에 대한 자세한 내용은 Bitbucket 서버 설명서를 참조하십시오. 새로 생성된 사용자에게 Snyk으로 모니터링해야 하는 모든 리포지토리에 대한 관리자 권한이 있는지 확인하십시오.
Snyk에서 통합 페이지로 이동하여 Bitbucket 서버 카드를 클릭합니다.
Bitbucket DC/서버 URL과 생성한 서비스 계정의 사용자 이름 및 암호를 입력합니다. 또는 개인용 액세스 토큰을 생성하여 암호 대신 사용할 수 있습니다.
Bitbucket DC/서버 인스턴스에 기본 인증이 비활성화된 경우 개인용 액세스 토큰을 사용해야 합니다.
사용자 이름에
x-access-token을 지정하고 암호 대신 개인용 액세스 토큰을 제공합니다.
변경 사항을 저장합니다. Snyk이 Bitbucket DC/서버 인스턴스에 연결됩니다. 연결에 성공하면 통합 화면에 확인 메시지가 나타납니다.
Bitbucket 서버 리포지토리 가져오는 방법
Snyk이 모니터링할 리포지토리를 선택하려면 다음을 수행하십시오.
Snyk에 Bitbucket 서버 리포지토리 추가를 클릭하여 Snyk으로 리포지토리 가져오기를 시작합니다.
메시지가 표시되면 Snyk으로 가져올 리포지토리를 선택하고 선택한 리포지토리 추가를 클릭합니다.
추가되면 Snyk은 선택한 리포지토리에서 전체 디렉토리 트리(예: package.json, pom.xml 등)의 종속성 파일을 스캔하고 Snyk에 프로젝트로 가져옵니다.
가져온 프로젝트는 Snyk 프로젝트 페이지에 나타나며 지속적으로 취약점을 확인합니다.
Bitbucket DC/서버 통합 기능
통합이 완료되면 다음과 같은 기능을 사용할 수 있습니다.
프로젝트 수준 보안 보고서
Snyk은 리포지토리에서 발견된 취약점을 탐색하고 필요한 업그레이드 또는 패치로 리포지토리에 직접 수정 풀 리퀘스트를 열어 즉시 수정할 수 있는 고급 보안 보고서를 생성합니다.
다음 예는 프로젝트 수준 보안 보고서를 보여줍니다.

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

자동 수정 풀 리퀘스트 설정을 검토하고 조정하려면 다음을 수행하십시오.
Snyk에서 조직 설정 > 통합 > 소스 제어 > Bitbucket 서버로 이동하여 설정 편집을 클릭합니다.
자동 수정 PR 섹션으로 스크롤하여 관련 옵션을 구성합니다.

Snyk 풀 리퀘스트는 Bitbucket 서버/데이터 센터 계정의 기본 검토자에게 자동으로 할당됩니다.
Bitbucket 인터페이스에서 연 수동 풀 리퀘스트와 달리 Snyk Bitbucket Cloud 통합의 경우 Snyk 풀 리퀘스트는 Bitbucket Cloud 계정의 기본 검토자에게 자동으로 할당되지 않습니다.
자세한 내용은 새로운 수정에 대한 자동 풀 리퀘스트 생성을 참조하십시오.
풀 리퀘스트 테스트
Snyk Code PR Checks는 Bitbucket DC/서버 버전 7.0 이상에서만 사용할 수 있습니다.
Snyk은 리포지토리에서 새로 생성된 모든 풀 리퀘스트에 대해 보안 취약점을 테스트하고 빌드 확인을 Bitbucket DC/서버로 보냅니다. Bitbucket DC/서버에서 직접 풀 리퀘스트가 새로운 보안 문제를 도입하는지 여부를 확인할 수 있습니다.
다음 예는 Bitbucket DC/서버 풀 리퀘스트 페이지의 Snyk 풀 리퀘스트 빌드 확인을 보여줍니다.

풀 리퀘스트 테스트 설정을 검토하고 조정하려면 다음을 수행하십시오.
Snyk에서 조직 설정 > 통합 > 소스 제어 > Bitbucket 서버로 이동하여 설정 편집을 클릭합니다.
풀 리퀘스트에 대한 기본 Snyk 테스트 > 오픈소스 보안 및 라이선스로 스크롤하여 관련 옵션을 구성합니다.

필수 빌드
Bitbucket 데이터 센터/서버용 Snyk 통합은 이제 풀 리퀘스트에 대한 세분화된 제어를 위해 필수 빌드 기능을 지원합니다.
병합이 발생하기 전에 통과해야 하는 Snyk 보안 검사를 선택할 수 있습니다. Snyk은 다양한 스캔 유형(보안 취약점, 라이선스 준수 및 코드 분석)에 대해 고유한 빌드 상태를 보고하므로 특정 보안 게이트를 적용하도록 Bitbucket 데이터 센터/서버 리포지토리를 구성할 수 있습니다.
구성하려면 가져온 리포지토리에 대한 풀 리퀘스트를 열어 빌드 상태를 사용할 수 있도록 한 다음 필수 빌드 설정에서 추가합니다.
구성하려면 다음을 수행하십시오.
가져온 리포지토리에서 풀 리퀘스트를 열어 Bitbucket 내의 설정 목록에서 빌드 상태를 사용할 수 있도록 합니다.
Bitbucket 리포지토리 설정에서 필수 빌드로 이동한 다음 빌드 추가로 이동합니다. 이름, 패턴 또는 모델별로 보호된 대상 분기를 선택하고 대상 분기로 병합하기 전에 통과할 필요가 없는 소스 분기를 지정할 수 있습니다.
Bitbucket DC/서버 통합에 필요한 권한 범위
Snyk은 통합된 서비스 계정을 대신하여 모든 Bitbucket DC/서버 작업을 수행합니다.
Snyk이 정기적으로 매니페스트 파일을 읽고 수정 또는 업그레이드 PR을 여는 등 모니터링되는 리포지토리에서 필요한 작업을 수행하려면 통합된 Bitbucket DC/서버 서비스 계정에 가져온 리포지토리에 대한 관리자 권한이 필요합니다.
보안 웹훅을 설정하려면 관리자 권한도 필요합니다. Snyk은 PR 확인에서 병합 이벤트 시 커밋 테스트, 향후 자동 가져오기에 이르기까지 다양한 작업을 수행하기 위해 웹훅에 의존합니다. 이벤트가 시스템에서만 발생하고 변조나 스푸핑 없이 발생하도록 하기 위해 연결하는 시스템에서 공유하는 권장 방법을 사용하여 웹훅을 보호합니다. Bitbucket 서버의 경우 이 링크를 참조하십시오. 이를 위해 생성하는 각 보안 웹훅에 대해 비밀 토큰이 생성됩니다. Snyk이 웹훅을 설정하면 확장성 제약이 해결되고 토큰 유출이 제거되며 통합 작업 부하가 줄어듭니다.
필요한 권한 범위에 대한 자세한 내용은 Bitbucket 권한 요구 사항을 참조하십시오.
Bitbucket 데이터 센터/서버 통합 연결을 끊는 방법
Bitbucket 리포지토리 프로젝트에서 Snyk 연결을 끊으면 자격 증명이 Snyk에서 제거되고 Snyk이 모니터링하는 모든 통합 관련 프로젝트가 Snyk에서 비활성화됩니다. 나중에 이 통합을 다시 활성화하려면 자격 증명을 다시 입력하고 프로젝트를 활성화해야 합니다.
이 통합을 비활성화하려면 조직 설정 > 통합에서 다음 단계를 따르십시오.
통합 목록에서 비활성화하려는 Bitbucket 통합을 선택하고 설정 편집을 클릭하여 통합의 현재 상태가 표시된 페이지를 엽니다.
이 페이지에는 자격 증명, API 키, 서비스 주체 또는 연결 세부 정보를 관리할 수 있는 각 통합에 특정한 섹션이 포함되어 있습니다.
관련 섹션으로 스크롤하여 Bitbucket 서버 제거를 클릭합니다.
Bitbucket 서버에서 Bitbucket 데이터 센터로 마이그레이션
일반적으로 Bitbucket 서버에서 Bitbucket 데이터 센터로 마이그레이션하는 데는 추가 조치가 필요하지 않습니다. Bitbucket 서버와 Bitbucket 데이터 센터 API가 동일하므로 Snyk 통합은 계속 작동해야 합니다.
새 Bitbucket 데이터 센터 인스턴스 URL이 Bitbucket 서버 인스턴스 URL과 다른 경우에만 조치가 필요합니다. 이 경우 Snyk.io의 Bitbucket 서버-Bitbucket 데이터 센터 통합 페이지에서 통합을 다시 연결해야 합니다. 다시 연결하려면 Bitbucket DC/서버 통합 설정 방법의 단계를 따르십시오.
Last updated