프로젝트 범위 무시를 자산 범위 무시로 변환
변환 설정
Snyk을 처음 사용하거나 Snyk Code 프로젝트가 처음인 경우, 변환할 기존 무시가 없으므로 이 단계를 건너뛸 수 있습니다.
변환(Conversion)을 통해 Snyk이 어떤 무시를 변환할지 제어할 수 있습니다. 예를 들어, 특정 리포지토리에 대해 여러 브랜치를 모니터링하는 경우, 어떤 무시 메타데이터를 변환하여 향후 단일 진실 공급원(single source of truth)으로 사용할지 결정할 수 있습니다.
다음 시나리오는 Snyk Code 일관된 무시를 활성화하기 전에 Snyk Code 프로젝트 내에서 이슈를 무시했다고 가정합니다.
Snyk Code 일관된 무시 기능을 활성화한 후 아직 재스캔을 수행하지 않은 경우, Ignore across repository 버튼이 활성화되려면 프로젝트를 재테스트해야 할 수도 있습니다. 대부분의 경우 Ignore across repository 버튼은 활성화되어 있으며 이 단계는 필요하지 않습니다.
개별 무시 변환
Snyk 웹 UI에서 프로젝트로 이동하여 이 기능을 활성화하기 전에 무시되었던 이슈가 포함된 이슈 카드를 엽니다.

무시가 레거시 시스템을 통해 생성되었으며 리포지토리 전체에서 일관되지 않는다는 경고가 표시됩니다. 기능을 활성화하기 전에 무시된 모든 이슈는 이 경고와 함께 나타나므로, 어떤 무시 메타데이터를 변환하여 진실의 소스로 사용할지 결정할 수 있습니다.
이슈를 프로젝트 범위(Project-scoped)에서 자산 범위(asset-scoped) 무시로 변환하려면 Ignore across repository를 클릭하십시오.
Snyk의 메타데이터 처리 방식
변환에 대한 다음 영향 사항을 고려하십시오.
Ignored by 및 Timestamp는 원래 무시 생성자나 무시 날짜가 아닌, 변환을 수행한 사용자와 시간을 반영합니다.
사유(Reason), 설명(Description), **만료 날짜(Expiration date)**는 모두 유지됩니다.
대량 무시 변환 (Bulk ignore conversion)
Snyk 웹 UI에서의 대량 변환
Snyk 웹 UI를 통한 변환은 레거시 무시가 200개 이하인 프로젝트에서만 가능합니다. 200개 이상의 무시가 있는 프로젝트의 무시를 변환해야 하는 경우, Snyk API를 사용하여 무시 변환을 참조하십시오.
프로젝트 페이지에서 수동으로 기존 프로젝트 범위 무시를 자산 범위 무시로 마이그레이션할 수 있습니다.
프로젝트 페이지에서 모든 레거시 무시를 변환하려면, Organization > Projects로 이동한 다음 Convert (무시 수) ignores in this Project를 클릭하십시오.
Snyk API를 사용하여 무시 변환
레거시 프로젝트 범위 무시가 200개 이상인 Snyk Code 프로젝트의 경우, 또는 무시 속성에 적용된 값을 더 세밀하게 제어하려는 시나리오에서는 Snyk API 사용을 고려하십시오. 이를 통해 프로그래밍 방식으로 프로젝트 범위 무시를 자산 범위 무시로 변환할 수 있습니다.
다음 API 호출 시퀀스를 통해 이 변환을 위한 조직의 요구 사항에 맞는 사용자 정의 스크립트를 작성할 수 있습니다. 이는 규정된 접근 방식을 제공하는 것이 아니라, 고려해야 할 가장 가능성 있는 엔드포인트에 대한 정보를 제공합니다.
따라야 할 단계:
관련 Snyk Code 프로젝트 나열
목표: 무시를 변환하려는 Snyk Code 프로젝트의 project_id를 식별합니다.
API 엔드포인트:
GET /rest/orgs/{org_id}/projects필터: Snyk Code 프로젝트만 나열하려면 쿼리 파라미터
&types=sast를 사용하십시오.
응답에는 각 프로젝트의 ID(project_id), 출처(예: GitHub, CLI), 대상 리포지토리 또는 브랜치 정보를 포함한 세부 정보가 들어 있습니다. 이는 동일한 리포지토리가 서로 다른 SCM 통합을 통해 여러 번 가져와졌거나 사용자 정의 브랜치 기능을 사용하는 경우 등에 올바른 프로젝트를 선택하는 데 도움이 됩니다.
프로젝트의 기존 프로젝트 범위 무시 검색
목표: 1단계에서 식별된 특정 프로젝트에 대해 현재의 모든 프로젝트 범위 무시 세부 정보를 가져옵니다.
API 엔드포인트:
GET /v1/org/{org_id}/project/{project_id}/ignores응답 형식: 응답은 무시가 적용된 프로젝트 범위 발견 사항 ID(
snyk/org/project/finding/v1)가 각 키인 객체입니다. 값은 해당 발견 사항에 대한 무시 세부 정보를 포함하는 배열입니다.
변환하려는 각 무시에 대해 프로젝트 범위 발견 사항 ID(예: 1ddad474-...), reason, reasonType을 기록해 두십시오.
프로젝트 범위 발견 사항을 자산 범위 발견 사항에 매핑
목표: 2단계에서 식별된 각 프로젝트 범위 발견 사항 ID에 해당하는 자산 범위 발견 사항 ID(
snyk/asset/finding/v1)를 찾습니다.API 엔드포인트:
GET /rest/orgs/{org_id}/issues필터:
특정 프로젝트의 이슈를 필터링하려면
&scan_item.type=project&scan_item.id={project_id}를 사용하십시오.선택적으로, 열린 발견 사항만 매핑해야 하는 경우
&status=open을 사용하십시오. 무시된 발견 사항은 해결된 발견 사항에 대해서도 존재할 수 있음에 유의하십시오.
응답 형식: 응답에는 프로젝트 내의 이슈 목록이 포함됩니다.
2단계에서의 각 프로젝트 범위 발견 사항 ID(key)에 대해, 이 응답에서 일치하는 이슈를 찾고 그에 해당하는 자산 범위 발견 사항 ID(key_asset)를 추출하십시오. 새로운 무시 정책을 생성하려면 이 key_asset 값이 필요합니다.
새로운 자산 범위 무시 정책 생성
목표: 원래의 무시를 복제하지만 3단계에서 얻은 자산 범위 발견 사항 ID를 타겟으로 하는 새로운 정책을 생성합니다.
API 엔드포인트:
POST /rest/orgs/{org_id}/policies페이로드: 수집된 정보를 사용하여 페이로드를 구성합니다. 2단계의
reasonType을ignore_type필드에 매핑하고, 2단계의 사유를 사용하며, 3단계의 자산 범위 ID(key_asset)를 조건의 값으로 사용합니다.
원래의 프로젝트 범위 무시 삭제
목표: 동일한 자산 범위 정책이 존재하므로 레거시 프로젝트 범위 무시를 제거합니다.
API 엔드포인트:
DELETE /v1/org/{org_id}/project/{project_id}/ignore/{project_scoped_id}주요 정보: 1단계의 project_id와 2단계 응답의 키인
{project_scoped_id}(예:1ddad474-39f1-4ac4-b9c6-f2f79a65fd88)를 사용하십시오.
변경 사항 검증
목표: 변환이 성공적이었으며 새로운 정책에 따라 발견 사항이 계속 무시되는지 확인합니다.
조치: Snyk에서 관련 프로젝트를 재테스트합니다(
snyk code test또는 Snyk 웹 UI 사용).확인: 이전에 프로젝트 범위 무시에 의해 커버되었던 발견 사항이 여전히 무시되는지 확인합니다.
Last updated