클라우드 환경 스캔

Snyk은 클라우드 환경이 생성될 때 자동으로 스캔을 실행합니다. 그 후 Snyk은 24시간마다 환경을 스캔합니다. Snyk APIarrow-up-right를 사용하여 언제든지 새 스캔을 수동으로 트리거할 수도 있습니다.

jq 사용

jq가 설치되어 있는 경우, 단일 명령을 실행하여 Snyk API 스캔 생성arrow-up-right 엔드포인트에서 첫 번째 환경 ID를 검색하여 수동으로 스캔을 트리거한 다음 환경을 수동으로 스캔할 수 있습니다:

SNYK_ORG_ID="YOUR-ORGANIZATION-ID" && \
SNYK_API_TOKEN="YOUR-API-TOKEN" && \
SNYK_ENV_ID=$(curl -s -X GET \
  "https://api.snyk.io/rest/orgs/${SNYK_ORG_ID}/cloud/environments?version=2022-12-21~beta&kind=aws,azure,google" \
  -H "Authorization: token ${SNYK_API_TOKEN}" | jq -r '.data[0].id') && \
curl -X POST \
"https://api.snyk.io/rest/orgs/${SNYK_ORG_ID}/cloud/scans?version=2022-12-21~beta" \
-H "Authorization: token ${SNYK_API_TOKEN}" \
-H "Content-Type:application/vnd.api+json"  -d "{
  \"data\": {\n    \"relationships\": {\n      \"environment\": {\n        \"data\": {\n          \"id\": \"${SNYK_ENV_ID}\",\n          \"type\": \"environment\"\n        }\n      }\n    },\n    \"type\": \"resource\"\n  }\n}"

jq -r '.data[0].id는 Snyk API 환경 목록arrow-up-right 출력에 표시된 첫 번째 환경의 ID를 반환하므로, 이 기술은 조직에 단일 환경이 있는 경우 특히 유용합니다. 0을 다른 숫자로 변경하여 다른 환경을 스캔할 수도 있습니다. 예를 들어, jq -r '.data[1].id는 출력의 두 번째 환경 ID를 반환합니다.

jq 없이

jq가 설치되어 있지 않은 경우, Snyk API에 요청을 보내 모든 환경 ID를 반환하고, 스캔하려는 환경의 ID를 찾아, 다른 요청을 보내 수동으로 스캔을 트리거할 수 있습니다.

환경 ID 찾기

먼저 스캔하려는 클라우드 환경의 ID를 찾습니다. 다음 형식으로 /cloud/environmentsarrow-up-right 엔드포인트에 요청을 보냅니다:

출력에서 data.id 속성을 찾습니다. 다음의 축약된 예시에서 ID는 3b7ccff9-8900-4e54-0000-1234abcd1234입니다:

스캔 트리거

스캔을 수동으로 트리거하려면 다음 형식으로 /cloud/scansarrow-up-right 엔드포인트에 요청을 보냅니다:

참고: 이 예시는 curlarrow-up-right을 사용하지만, Postmanarrow-up-right 또는 HTTPiearrow-up-right와 같은 다른 API 클라이언트를 사용할 수도 있습니다.

API 응답 이해

Snyk은 새 스캔에 대한 세부 정보를 포함하는 JSON 문서를 반환합니다. 예:

다음은 API 응답의 주요 속성입니다:

  • data.id: 스캔 ID

  • data.attributes.status: 스캔 상태

스캔 상태 확인

스캔 상태를 확인하려면 스캔 중인 환경의 세부 정보를 검색합니다. 다음 형식으로 /cloud/environmentsarrow-up-right 엔드포인트에 요청을 보냅니다:

Snyk은 환경 세부 정보가 포함된 JSON 문서를 반환합니다. 스캔 상태를 찾으려면 data.attributes.status 값을 찾습니다. 다음의 축약된 예시에서 상태는 success입니다:

스캔 상태 값은 다음과 같습니다:

  • queued: 스캔이 시작될 예정

  • in_progress: 스캔 진행 중

  • success: 스캔 완료

  • error: 스캔 오류 발생; 잠시 기다린 후 다시 스캔 시도

조직의 모든 스캔 보기

조직의 모든 스캔을 보려면 다음 형식으로 스캔 목록arrow-up-right 엔드포인트에 API 요청을 보냅니다:

Snyk은 모든 스캔에 대한 세부 정보가 포함된 JSON 문서를 반환합니다. 예:

Last updated