Amazon ECR에서 이미지 스캔 문제 해결하기

Amazon ECR에서 이미지 스캔 문제 해결하기 (Troubleshooting image scanning in Amazon ECR)

Amazon ECR에서 이미지 스캔을 수행할 때 발생할 수 있는 일반적인 실패 사례와 그 원인을 안내해요. 이미지 상세 정보를 표시하거나 DescribeImageScanFindings API를 통해 이런 오류를 확인할 수 있어요.

출처: 문서

본문

다음은 일반적인 이미지 스캔 실패 사례예요. Amazon ECR 콘솔에서 이미지 상세 정보를 표시하거나, API 또는 AWS CLI에서 DescribeImageScanFindings API를 사용해 이런 오류를 확인할 수 있어요.

UnsupportedImageError

Amazon ECR이 기본 이미지 스캔을 지원하지 않는 운영 체제로 빌드된 이미지에 기본 스캔을 수행하려고 하면 UnsupportedImageError 오류가 발생할 수 있어요. Amazon ECR은 Amazon Linux, Amazon Linux 2, Debian, Ubuntu, CentOS, Oracle Linux, Alpine, RHEL Linux 배포판의 주요 버전에 대해 패키지 취약점 스캔을 지원해요. 배포판이 공급업체의 지원을 잃으면 Amazon ECR은 더 이상 해당 배포판의 취약점 스캔을 지원하지 않을 수 있어요. Amazon ECR은 Docker scratch 이미지로 빌드된 이미지의 스캔은 지원하지 않아요.

중요: 강화 스캔(enhanced scanning)을 사용할 때 Amazon Inspector는 특정 운영 체제와 미디어 타입의 스캔을 지원해요. 전체 목록은 Amazon Inspector 사용 설명서의 "Supported operating systems and media types"를 참고하세요.

UNDEFINED 심각도 수준이 반환되는 경우

스캔 결과에서 UNDEFINED 심각도 수준을 가진 발견 항목을 받을 수 있어요. 일반적인 원인은 다음과 같아요.

  • CVE 소스에서 취약점에 우선순위가 할당되지 않았을 때
  • Amazon ECR이 인식하지 못하는 우선순위가 할당되었을 때

취약점의 심각도와 설명을 확인하려면 소스에서 해당 CVE를 직접 확인할 수 있어요.

SCAN_ELIGIBILITY_EXPIRED 스캔 상태 이해하기

프라이빗 레지스트리에 Amazon Inspector를 사용하는 강화 스캔을 활성화하고 스캔 취약점을 보면 SCAN_ELIGIBILITY_EXPIRED 스캔 상태를 볼 수 있어요. 가장 일반적인 원인은 다음과 같아요.

  • 프라이빗 레지스트리에 강화 스캔을 처음 켜면 Amazon Inspector는 이미지 푸시 타임스탬프를 기준으로 최근 30일 이내에 Amazon ECR로 푸시된 이미지만 인식해요. 그보다 오래된 이미지는 SCAN_ELIGIBILITY_EXPIRED 스캔 상태를 갖게 돼요. 이런 이미지를 Amazon Inspector가 스캔하길 원한다면 레포지토리에 다시 푸시해야 해요.
  • Amazon Inspector 콘솔에서 ECR 재스캔 기간이 변경되고 그 시간이 경과하면 이미지의 스캔 상태가 reason code가 expired인 inactive로 변경되고, 이미지와 관련된 모든 발견 항목은 종료(close)되도록 예약돼요. 그 결과 Amazon ECR 콘솔은 스캔 상태를 SCAN_ELIGIBILITY_EXPIRED로 표시해요.

더 알아보기 (Learn more)