이미지 스캔 - Amazon ECR

이미지 스캔

Amazon ECR 이미지 스캔은 컨테이너 이미지의 소프트웨어 취약성을 식별하는 데 도움이 됩니다. Amazon ECR는 오픈 소스 CoreOS Clair 프로젝트의 CVE(일반적인 취약성 및 노출도) 데이터베이스를 사용하고 스캔 결과 목록을 제공합니다. 배포 중인 컨테이너 이미지의 보안에 대한 정보는 스캔 결과를 검토하여 얻을 수 있습니다. CoreOS Clair에 대한 자세한 내용은 CoreOS Clair를 참조하십시오.

Amazon ECR에서는 가능한 경우 업스트림 배포 소스의 CVE에 대한 심각도를 사용합니다. 그렇지 않으면 CVSS(Common Vulnerability Scoring System, 공통 취약성 평가 시스템) 점수를 사용합니다. CVSS 점수를 사용하여 NVD 취약성 심각도 등급을 얻을 수 있습니다. 자세한 내용은 NVD 취약성 심각도 등급을 참조하십시오.

Amazon ECR에 저장된 컨테이너 이미지를 수동으로 스캔할 수 있습니다. 또는 이미지를 리포지토리로 푸시할 때 이미지를 스캔하도록 리포지토리를 구성할 수 있습니다. 각 이미지에 대해 마지막으로 완료된 이미지 스캔 결과를 검색할 수 있습니다. 이미지 스캔이 완료되면 Amazon ECR는 Amazon EventBridge(이전 명칭은 CloudWatch 이벤트)에 이벤트를 전송합니다. 자세한 내용은 Amazon ECR 이벤트 및 EventBridge 단원을 참조하십시오.

이미지 스캔 시 몇 가지 일반적인 문제에 대한 문제 해결 세부 정보를 보려면 이미지 스캔 문제 해결 단원을 참조하십시오.

푸시할 때 스캔하도록 리포지토리 구성

기존 리포지토리에 대해 또는 생성 중인 새 리포지토리에 대해 이미지 스캔 설정을 구성할 수 있습니다. scan on push(푸시할 때 스캔)가 활성화되어 있는 경우 이미지는 리포지토리로 푸시된 후 스캔됩니다. 리포지토리에서 scan on push(푸시할 때 스캔)이 비활성화되어 있는 경우 스캔 결과를 얻으려면 이미지 스캔을 매번 수동으로 시작해야 합니다.

푸시할 때 스캔할 새 리포지토리 생성

새 리포지토리가 scan on push(푸시할 때 스캔)하도록 구성하면 리포지토리로 푸시된 모든 새 이미지가 스캔됩니다. 그다음에 마지막으로 완료된 이미지 스캔의 결과를 검색할 수 있습니다. 자세한 내용은 이미지 스캔 결과 검색 단원을 참조하십시오.

AWS Management 콘솔 단계는 리포지토리 생성 단원을 참조하십시오.

다음 명령을 사용하여 이미지를 scan on push(푸시할 때 스캔)하도록 구성된 새 리포지토리를 생성합니다.

  • create-repository(AWS CLI)

    aws ecr create-repository --repository-name name --image-scanning-configuration scanOnPush=true --region us-east-2

다음 명령을 사용하여 이미지를 scan on push(푸시할 때 스캔)하도록 구성된 새 리포지토리를 생성합니다.

  • New-ECRRepository(Windows PowerShell용 AWS 도구)

    New-ECRRepository -RepositoryName name -ImageScanningConfiguration_ScanOnPush true -Region us-east-2 -Force

푸시할 때 스캔하도록 기존 리포지토리 구성

이미지를 리포지토리로 푸시할 때 이미지를 스캔하도록 기존 리포지토리를 구성할 수 있습니다. 이 설정은 향후 이미지 푸시에 적용됩니다. 그다음에 마지막으로 완료된 이미지 스캔의 결과를 검색할 수 있습니다. 자세한 내용은 이미지 스캔 결과 검색 단원을 참조하십시오.

AWS Management 콘솔 단계는 리포지토리 편집 단원을 참조하십시오.

다음 명령을 사용하여 기존 리포지토리의 이미지 스캔 설정을 편집합니다.

  • put-image-scanning-configuration(AWS CLI)

    aws ecr put-image-scanning-configuration --repository-name name --image-scanning-configuration scanOnPush=true --region us-east-2
    참고

    리포지토리에서 이미지를 scan on push(푸시할 때 스캔) 기능을 비활성화하려면 scanOnPush=false를 지정하십시오.

다음 명령을 사용하여 기존 리포지토리의 이미지 스캔 설정을 편집합니다.

  • New-ECRRepository(Windows PowerShell용 AWS 도구)

    Write-ECRImageScanningConfiguration -RepositoryName name -ImageScanningConfiguration_ScanOnPush true -Region us-east-2 -Force

수동으로 이미지 스캔

scan on push(푸시할 때 스캔)하도록 구성되지 않은 리포지토리의 이미지를 스캔하려는 경우 수동으로 이미지 스캔을 시작할 수 있습니다. 이미지는 하루에 한 번만 스캔할 수 있습니다. 이 한도에는 최초의 scan on push(푸시할 때 스캔)(활성화된 경우) 및 수동 스캔이 포함됩니다.

이미지 스캔 시 몇 가지 일반적인 문제에 대한 문제 해결 세부 정보를 보려면 이미지 스캔 문제 해결 단원을 참조하십시오.

AWS Management 콘솔을 사용하여 수동 이미지 스캔을 시작하려면 다음 단계를 따르십시오.

  1. https://console.aws.amazon.com/ecr/repositories에서 Amazon ECR 콘솔을 엽니다.

  2. 탐색 모음에서 리포지토리를 생성할 리전을 선택합니다.

  3. 탐색 창에서 Repositories를 선택합니다.

  4. Repositories(리포지토리) 페이지에서 스캔할 이미지가 들어 있는 리포지토리를 선택합니다.

  5. Images(이미지) 페이지에서 스캔할 이미지를 선택한 다음 Scan(스캔)을 선택합니다.

다음 AWS CLI 명령을 사용하여 이미지 수동 스캔을 시작합니다. imageTag 또는 imageDigest를 사용하여 이미지를 지정할 수 있으며, 둘 다 list-images CLI 명령을 사용하여 가져올 수 있습니다.

  • start-image-scan(AWS CLI)

    다음 예에서는 이미지 태그를 사용합니다.

    aws ecr start-image-scan --repository-name name --image-id imageTag=tag_name --region us-east-2

    다음 예에서는 이미지 다이제스트를 사용합니다.

    aws ecr start-image-scan --repository-name name --image-id imageDigest=sha256_hash --region us-east-2

다음 Windows PowerShell용 AWS 도구 명령을 사용하여 이미지 수동 스캔을 시작합니다. ImageId_ImageTag 또는 ImageId_ImageDigest를 사용하여 이미지를 지정할 수 있으며, 둘 다 Get-ECRImage CLI 명령을 사용하여 가져올 수 있습니다.

  • Get-ECRImageScanFinding(Windows PowerShell용 AWS 도구)

    다음 예에서는 이미지 태그를 사용합니다.

    Start-ECRImageScan -RepositoryName name -ImageId_ImageTag tag_name -Region us-east-2 -Force

    다음 예에서는 이미지 다이제스트를 사용합니다.

    Start-ECRImageScan -RepositoryName name -ImageId_ImageDigest sha256_hash -Region us-east-2 -Force

이미지 스캔 결과 검색

마지막으로 완료된 이미지 스캔의 스캔 결과를 검색할 수 있습니다. 스캔 결과에는 발견된 소프트웨어 취약성이 CVE(일반적인 취약성 및 노출도) 데이터베이스에 근거하여 심각도를 기준으로 나열됩니다.

이미지 스캔 시 몇 가지 일반적인 문제에 대한 문제 해결 세부 정보를 보려면 이미지 스캔 문제 해결 단원을 참조하십시오.

AWS Management 콘솔을 사용하여 이미지 스캔 결과를 검색하려면 다음 단계를 따르십시오.

  1. https://console.aws.amazon.com/ecr/repositories에서 Amazon ECR 콘솔을 엽니다.

  2. 탐색 모음에서 리포지토리를 생성할 리전을 선택합니다.

  3. 탐색 창에서 Repositories를 선택합니다.

  4. Repositories(리포지토리) 페이지에서 스캔 결과를 검색할 이미지가 포함된 리포지토리를 선택합니다.

  5. Images(이미지) 페이지의 Vulnerabilities(취약성) 열에서 스캔 결과를 검색할 이미지의 Details(세부 정보)를 선택합니다.

AWS CLI를 사용하여 이미지 스캔 결과를 검색하려면 다음 AWS CLI 명령을 따르십시오. imageTag 또는 imageDigest를 사용하여 이미지를 지정할 수 있으며, 둘 다 list-images CLI 명령을 사용하여 가져올 수 있습니다.

  • describe-image-scan-findings(AWS CLI)

    다음 예에서는 이미지 태그를 사용합니다.

    aws ecr describe-image-scan-findings --repository-name name --image-id imageTag=tag_name --region us-east-2

    다음 예에서는 이미지 다이제스트를 사용합니다.

    aws ecr describe-image-scan-findings --repository-name name --image-id imageDigest=sha256_hash --region us-east-2

다음 Windows PowerShell용 AWS 도구 명령을 사용하여 이미지 스캔 결과를 검색합니다. ImageId_ImageTag 또는 ImageId_ImageDigest를 사용하여 이미지를 지정할 수 있으며, 둘 다 Get-ECRImage CLI 명령을 사용하여 가져올 수 있습니다.

  • Get-ECRImageScanFinding(Windows PowerShell용 AWS 도구)

    다음 예에서는 이미지 태그를 사용합니다.

    Get-ECRImageScanFinding -RepositoryName name -ImageId_ImageTag tag_name -Region us-east-2

    다음 예에서는 이미지 다이제스트를 사용합니다.

    Get-ECRImageScanFinding -RepositoryName name -ImageId_ImageDigest sha256_hash -Region us-east-2