

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 이미지에서 Amazon ECR의 소프트웨어 취약성 스캔
<a name="image-scanning"></a>

Amazon ECR 이미지 스캔을 사용하면 컨테이너 이미지의 소프트웨어 취약성을 식별할 수 있습니다. 다음과 같은 스캔 유형이 제공됩니다.

**중요**  
**고급 스캔**과 **기본 스캔을** 전환하면 이전에 설정한 스캔을 더 이상 사용할 수 없게 됩니다. 스캔을 다시 설정해야 합니다. 그러나 이전 스캔 유형으로 다시 전환하면 설정된 스캔을 사용할 수 있습니다.

**참고**  
보관된 이미지는 스캔할 수 없습니다. 보관된 이미지를 스캔하려면 먼저 복원해야 합니다. 이미지 보관 및 복원에 대한 자세한 내용은 섹션을 참조하세요[Amazon ECR에 이미지 보관](archive_restore_image.md).
+ **고급 스캔** - Amazon ECR이 Amazon Inspector와 통합되어 리포지토리를 계속해서 자동 스캔할 수 있는 기능을 제공합니다. 운영 체제 및 프로그래밍 언어 패키지 취약성 모두에 대해 컨테이너 이미지가 스캔됩니다. 새로운 취약성이 나타나면 스캔 결과가 업데이트되고, Amazon Inspector가 이벤트를 EventBridge에 전송하여 사용자에게 알립니다. 고급 스캔은 다음을 제공합니다.
  + OS 및 프로그래밍 언어 패키지 취약성
  + 두 가지 스캔 빈도: 푸시할 때 스캔 및 연속 스캔
+ **기본 스캔** - Amazon ECR은 일반 취약성 및 노출(CVEs) 데이터베이스와 함께 AWS 네이티브 기술을 사용하여 운영 체제 취약성을 스캔합니다.

  기본 스캔을 사용하면 푸시할 때 스캔하도록 리포지토리를 구성하거나 수동 스캔을 수행할 수 있으며, Amazon ECR에서 스캔 결과 목록을 제공합니다. 기본 스캔은 다음을 제공합니다.
  + OS 스캔
  + 두 가지 스캔 빈도: 수동 및 푸시할 때 스캔
**중요**  
Amazon ECR 기본 스캔의 새 버전은 `DescribeImages` API 응답의 ` imageScanFindingsSummary` 및 `imageScanStatus` 속성을 사용하여 스캔 결과를 반환하지 않습니다. 대신에 ` DescribeImageScanFindings` API를 사용하세요. 자세한 내용은 [https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_DescribeImageScanFindings.html](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_DescribeImageScanFindings.html) 단원을 참조하십시오.

# Amazon ECR에서 스캔할 리포지토리를 선택하는 필터
<a name="image-scanning-filters"></a>

프라이빗 레지스트리에 대한 이미지 스캔을 구성할 때 필터를 사용하여 스캔할 리포지토리를 선택할 수 있습니다.

**기본** 스캔을 사용하는 경우 푸시 필터에서 스캔을 지정하여 새 이미지를 푸시할 때 이미지 스캔을 수행하도록 설정되는 리포지토리를 지정할 수 있습니다. 푸시 필터의 기본 스캔과 일치하지 않는 리포지토리는 ** 수동** 스캔 빈도로 설정됩니다. 즉, 스캔을 수행하려면 스캔을 수동으로 트리거해야 합니다.

**고급** 스캔을 사용하는 경우 푸시 및 연속 스캔 시 스캔을 위한 별도의 필터를 지정할 수 있습니다. 고급 스캔 필터와 일치하지 않는 리포지토리는 스캔이 비활성화됩니다. 고급 스캔을 사용하며 여러 필터가 동일한 리포지토리와 일치하는 푸시 및 연속 스캔 시 스캔을 위한 별도의 필터를 지정하는 경우, Amazon ECR은 해당 리포지토리의 푸시 필터 스캔에 연속 스캔 필터를 적용합니다.

## 필터 와일드카드
<a name="image-scanning-filters-wildcards"></a>

필터를 지정하면 와일드카드가 없는 필터는 필터를 포함하는 모든 리포지토리 이름과 일치합니다. 와일드카드가 있는 필터(`*`)는 와일드카드가 리포지토리 이름에서 0개 이상의 문자를 대체하는 리포지토리 이름과 일치합니다.

다음 테이블에서는 리포지토리 이름이 가로축에 표시되고 세로축에 예제 필터가 지정되는 예제를 보여줍니다.


|  |  prod  |  repo-prod  |  prod-repo  |  repo-prod-repo  |  prodrepo  | 
| --- | --- | --- | --- | --- | --- | 
|  prod  | 예 | 예 | 예 | 예 | 예 | 
|  \$1prod  | 예 | 예 | 아니요 | 아니요 | 아니요 | 
|  prod\$1  | 예 | 아니요 | 예 | 아니요 | 예 | 
|  \$1prod\$1  | 예 | 예 | 예 | 예 | 예 | 
|  prod\$1repo  | 아니요 | 아니요 | 예 | 아니요 | 예 | 

# 이미지에서 Amazon ECR의 OS 및 프로그래밍 언어 패키지 취약성 스캔
<a name="image-scanning-enhanced"></a>

Amazon ECR 고급 스캔은 Amazon Inspector와 통합되어 컨테이너 이미지에 대한 취약성 스캔 기능을 제공합니다. 운영 체제 및 프로그래밍 언어 패키지 취약성 모두에 대해 컨테이너 이미지가 스캔됩니다. Amazon ECR과 Amazon Inspector 모두를 사용하여 스캔 결과를 직접 확인할 수 있습니다. Amazon Inspector에 대한 자세한 내용은 *Amazon Inspector 사용 설명서*의 [Amazon Inspector로 컨테이너 이미지 스캔](https://docs.aws.amazon.com/inspector/latest/user/enable-disable-scanning-ecr.html)을 참조하세요.

고급 스캔을 사용하면 자동 연속 스캔을 위해 구성된 리포지토리와 푸시할 때 스캔하도록 구성된 리포지토리를 선택할 수 있습니다. 이 작업은 스캔 필터를 설정하여 수행됩니다.

## 고급 스캔 고려 사항
<a name="image-scanning-enhanced-considerations"></a>

Amazon ECR 고급 스캔을 활성화하기 전에 다음 사항을 고려해야 합니다.
+ Amazon ECR에서 이 기능을 사용하는 데 드는 추가 비용은 없지만 이미지를 스캔하려면 Amazon Inspector에서 비용을 지불해야 합니다. 이 기능은 Amazon Inspector를 사용할 수 있는 모든 리전에서 사용할 수 있습니다. 자세한 내용은 다음을 참조하세요.
  + Amazon Inspector 요금 - [Amazon Inspector 요금](https://aws.amazon.com/inspector/pricing/).
  + Amazon Inspector에서 지원하는 리전 - [리전 및 엔드포인트](https://docs.aws.amazon.com//inspector/latest/user/inspector_regions.html).
+ Amazon ECR 고급 스캔은 Amazon EKS 및 Amazon ECS에서 이미지가 사용되는 방법을 보여줍니다. 이미지가 마지막으로 사용된 시기를 확인하고 얼마나 많은 클러스트가 각 이미지를 사용하는지 식별할 수 있습니다. 이 정보는 활발하게 사용되는 이미지의 취약성 수정 우선순위를 지정하는 데 도움이 됩니다. 새로 발견된 취약성의 영향을 받을 수 있는 클러스터를 빠르게 파악할 수 있습니다. 이러한 정보를 요청하고 응답을 보는 방법에 대한 자세한 내용은 [https://docs.aws.amazon.com//AmazonECR/latest/APIReference/API_DescribeImageScanFindings.html](https://docs.aws.amazon.com//AmazonECR/latest/APIReference/API_DescribeImageScanFindings.html) 섹션을 참조하세요.
+ Amazon Inspector는 특정 운영 체제에 대한 스캔을 지원합니다. 전체 목록은 *Amazon Inspector 사용 설명서*의 [지원되는 운영 체제 - Amazon ECR 스캔](https://docs.aws.amazon.com/inspector/latest/user/supported.html#supported-os)을 참조하세요.
+ Amazon Inspector는 리포지토리에 대한 고급 스캔 기능을 제공하는 데 필요한 권한을 지원하는 서비스 연결 IAM 역할을 사용합니다. 프라이빗 레지스트리에 대해 고급 스캔을 켜면 Amazon Inspector에서 서비스 연결 IAM 역할이 자동으로 생성됩니다. 자세한 내용은 *Amazon Inspector 사용 설명서*의 [Amazon Inspector에 대한 서비스 연결 역할 사용](https://docs.aws.amazon.com/inspector/latest/user/using-service-linked-roles.html)을 참조하세요.
+ 프라이빗 레지스트리에 대한 고급 스캔을 처음 켜면 Amazon Inspector는 이미지 푸시 타임스탬프를 기반으로 지난 14일 동안 Amazon ECR로 푸시된 이미지만 인식합니다. 이전 이미지에는 ` SCAN_ELIGIBILITY_EXPIRED` 스캔 상태가 포함됩니다. Amazon Inspector에서 이러한 이미지를 스캔하려는 경우에는 이미지를 해당 리포지토리로 다시 푸시해야 합니다.
+ Amazon ECR 프라이빗 레지스트리에 대해 고급 검색이 켜져 있으면 검색 필터와 일치하는 리포지토리가 고급 검색만 사용하여 스캔됩니다. 필터와 일치하지 않는 리포지토리에는 `Off` 스캔 빈도가 설정되며 스캔되지 않습니다. 고급 스캔을 사용한 수동 스캔은 지원되지 않습니다. 자세한 정보는 [Amazon ECR에서 스캔할 리포지토리를 선택하는 필터](image-scanning-filters.md)을 참조하세요.
+ 여러 필터가 동일한 리포지토리와 일치하는 푸시 및 연속 스캔 시 스캔을 위한 별도의 필터를 지정하는 경우, Amazon ECR은 해당 리포지토리의 푸시 필터 스캔에 연속 스캔 필터를 적용합니다.
+ 고급 스캔을 켜면 Amazon ECR은 리포지토리의 스캔 빈도가 변경될 때 이벤트를 EventBridge로 전송합니다. Amazon Inspector는 초기 스캔이 완료되고 이미지 스캔 결과가 생성, 업데이트 또는 종료될 때 이벤트를 EventBridge로 전송합니다.

## Amazon Inspector에서 이미지의 고급 스캔 기간 변경
<a name="image-scanning-enhanced-duration"></a>

고급 스캔이 활성화된 후 Amazon ECR은 구성된 기간 동안 계속해서 새로 푸시된 이미지를 스캔됩니다. 기본적으로 Amazon Inspector는 이미지가 삭제되거나 고급 스캔이 비활성화될 때까지 리포지토리를 모니터링합니다. 환경의 요구 사항에 맞게 Amazon Inspector 콘솔에서 푸시 날짜 기간(최대값은 수명)과 재스캔 기간을 모두 구성할 수 있습니다. 리포지토리의 스캔 기간이 경과하면 스캔 상태는 `SCAN_ELIGIBILITY_EXPIRED`로 표시됩니다. Amazon Inspector에서 Amazon ECR의 재스캔 기간 설정을 구성하는 방법에 대한 자세한 내용은 *Amazon Inspector 사용 설명서*의 [Amazon ECR 재스캔 기간 구성](https://docs.aws.amazon.com/inspector/latest/user/enable-disable-scanning-ecr.html#scan-duration-setting)을 참조하세요.

# Amazon ECR의 고급 스캔에 필요한 IAM 권한
<a name="image-scanning-enhanced-iam"></a>

Amazon ECR 고급 스캔에는 Amazon Inspector 서비스 연결 IAM 역할이 필요하며, 고급 스캔을 활성화 및 사용하는 IAM 주체에는 스캔에 필요한 Amazon Inspector API를 호출할 권한이 있습니다. 프라이빗 레지스트리에 대해 고급 스캔을 켜면 Amazon Inspector에서 Amazon Inspector 서비스 연결 IAM 역할이 자동으로 생성됩니다. 자세한 내용은 *Amazon Inspector 사용 설명서*의 [Amazon Inspector에 대한 서비스 연결 역할 사용](https://docs.aws.amazon.com/inspector/latest/user/using-service-linked-roles.html)을 참조하세요.

다음 IAM 정책은 고급 스캔을 활성화하고 사용하기 위한 필수 권한을 부여합니다. 여기에는 Amazon Inspector가 서비스 연결 IAM 역할을 생성하는 데 필요한 권한과 고급 스캔을 켜거나 끄고 스캔 결과를 검색하는 데 필요한 Amazon Inspector API 권한이 포함되어 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "inspector2:Enable",
                "inspector2:Disable",
                "inspector2:ListFindings",
                "inspector2:ListAccountPermissions",
                "inspector2:ListCoverage"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": [
                        "inspector2.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

# Amazon ECR의 이미지에 대한 고급 스캔 구성
<a name="image-scanning-enhanced-enabling"></a>

프라이빗 레지스트리의 리전에 따라 고급 스캔을 구성합니다.

고급 스캔을 구성할 수 있는 적절한 IAM 권한이 있는지 확인합니다. 자세한 내용은 [Amazon ECR의 고급 스캔에 필요한 IAM 권한](image-scanning-enhanced-iam.md) 단원을 참조하세요.

------
#### [ AWS Management Console ]

**프라이빗 레지스트리에 대한 고급 스캔을 켜려면**

1. Amazon ECR 콘솔([https://console.aws.amazon.com/ecr/repositories](https://console.aws.amazon.com/ecr/repositories))을 엽니다.

1. 탐색 모음에서 스캔 구성을 설정할 리전을 선택합니다.

1. 탐색 창에서 **프라이빗 레지스트리**, **설정**을 차례로 선택합니다.

1. **스캔 구성(Scanning configuration)** 페이지의 **스캔 유형(Scan type)**에서 **고급 스캔(Enhanced scanning)**을 선택합니다.

   기본적으로 **고급 스캔**을 선택하면 모든 리포지토리가 연속적으로 스캔됩니다.

1. 연속적으로 스캔할 특정 리포지토리를 선택하려면 **모든 리포지토리를 지속적으로 스캔** 확인란을 선택 취소한 다음 필터를 정의합니다.
**중요**  
와일드카드가 없는 필터는 필터를 포함하는 모든 리포지토리 이름과 일치합니다. 와일드카드가 있는 필터(`*`)는 와일드카드가 리포지토리 이름에서 0개 이상의 문자를 대체하는 리포지토리 이름과 일치합니다. 필터 작동 방식에 대한 예를 보려면 [필터 와일드카드](image-scanning-filters.md#image-scanning-filters-wildcards) 섹션을 참조하세요.

   1. 리포지토리 이름을 기반으로 필터를 입력한 다음 **필터 추가**를 선택합니다.

   1. 이미지를 푸시할 때 스캔할 리포지토리를 결정합니다.
      + 푸시할 때 모든 리포지토리를 스캔하려면 **모든 리포지토리 푸시 시 스캔**을 선택합니다.
      + 푸시할 때 스캔할 특정 리포지토리를 선택하려면 리포지토리 이름을 기반으로 필터를 입력한 다음 **필터 추가**를 선택합니다.

1. **저장**을 선택합니다.

1. 고급 스캔을 켜려는 각 리전에 대해 이 단계를 반복합니다.

------
#### [ AWS CLI ]

다음 AWS CLI 명령을 사용하여를 사용하여 프라이빗 레지스트리에 대한 고급 스캔을 켭니다 AWS CLI. ` rules` 객체를 사용하여 스캔 필터를 지정할 수 있습니다.
+ [ put-registry-scanning-configuration](https://docs.aws.amazon.com/cli/latest/reference/ecr/put-registry-scanning-configuration.html)(AWS CLI)

  다음 예제에서는 프라이빗 레지스트리에 대한 고급 스캔을 켭니다. 기본적으로 `rules`가 지정되지 않은 경우 Amazon ECR은 스캔 구성을 모든 리포지토리에 대해 연속 스캔으로 설정합니다.

  ```
  aws ecr put-registry-scanning-configuration \
       --scan-type ENHANCED \
       --region us-east-2
  ```

  다음 예제에서는 프라이빗 레지스트리에 대해 고급 스캔을 켜고 스캔 필터를 지정합니다. 예제의 스캔 필터를 사용하면 이름에 `prod`가 있는 모든 리포지토리에 대해 연속 스캔을 켤 수 있습니다.

  ```
  aws ecr put-registry-scanning-configuration \
       --scan-type ENHANCED \
       --rules '[{"repositoryFilters" : [{"filter":"prod","filterType" : "WILDCARD"}],"scanFrequency" : "CONTINUOUS_SCAN"}]' \
       --region us-east-2
  ```

  다음 예제에서는 프라이빗 레지스트리에 대해 고급 스캔을 켜고 다중 스캔 필터를 지정합니다. 예제의 스캔 필터는 이름에 `prod`가 포함된 모든 리포지토리에 대해 연속 스캔을 켜고 다른 모든 리포지토리에 대해서만 푸시할 때 스캔을 켭니다.

  ```
  aws ecr put-registry-scanning-configuration \
       --scan-type ENHANCED \
       --rules '[{"repositoryFilters" : [{"filter":"prod","filterType" : "WILDCARD"}],"scanFrequency" : "CONTINUOUS_SCAN"},{"repositoryFilters" : [{"filter":"*","filterType" : "WILDCARD"}],"scanFrequency" : "SCAN_ON_PUSH"}]' \
       --region us-west-2
  ```

------

# Amazon ECR의 고급 스캔을 위한 EventBridge 이벤트 전송
<a name="image-scanning-enhanced-events"></a>

고급 스캔을 켜면 Amazon ECR은 리포지토리의 스캔 빈도가 변경될 때 이벤트를 EventBridge로 전송합니다. Amazon Inspector는 초기 스캔이 완료되고 이미지 스캔 결과가 생성, 업데이트 또는 종료될 때 이벤트를 EventBridge로 전송합니다.

 **리포지토리 스캔 빈도 변경에 대한 이벤트** 

레지스트리에 대해 고급 스캔을 켠 경우 고급 스캔이 켜진 리소스가 변경되면 Amazon ECR에서 다음 이벤트를 전송합니다. 여기에는 생성 중인 새 리포지토리, 변경 중인 리포지토리의 스캔 빈도 또는 고급 스캔 기능이 켜진 리포지토리에서 이미지를 생성하거나 삭제하는 시점이 포함됩니다. 자세한 내용은 [이미지에서 Amazon ECR의 소프트웨어 취약성 스캔](image-scanning.md) 단원을 참조하십시오.

```
{
	"version": "0",
	"id": "0c18352a-a4d4-6853-ef53-0abEXAMPLE",
	"detail-type": "ECR Scan Resource Change",
	"source": "aws.ecr",
	"account": "123456789012",
	"time": "2021-10-14T20:53:46Z",
	"region": "us-east-1",
	"resources": [],
	"detail": {
		"action-type": "SCAN_FREQUENCY_CHANGE",
		"repositories": [{
				"repository-name": "repository-1",
				"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-1",
				"scan-frequency": "SCAN_ON_PUSH",
				"previous-scan-frequency": "MANUAL"
			},
			{
				"repository-name": "repository-2",
				"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-2",
				"scan-frequency": "CONTINUOUS_SCAN",
				"previous-scan-frequency": "SCAN_ON_PUSH"
			},
			{
				"repository-name": "repository-3",
				"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-3",
				"scan-frequency": "CONTINUOUS_SCAN",
				"previous-scan-frequency": "SCAN_ON_PUSH"
			}
		],
		"resource-type": "REPOSITORY",
		"scan-type": "ENHANCED"
	}
}
```

 **초기 이미지 스캔 이벤트(고급 스캔)** 

레지스트리에 대해 고급 스캔을 켠 경우 초기 이미지 스캔이 완료되면 Amazon Inspector에서 다음 이벤트를 전송합니다. `finding-severity-counts` 파라미터는 심각도 수준이 있는 경우에만 값을 반환합니다. 예를 들어, 이미지에 `CRITICAL` 수준의 결과가 없으면 심각 카운트가 반환되지 않습니다. 자세한 정보는 [이미지에서 Amazon ECR의 OS 및 프로그래밍 언어 패키지 취약성 스캔](image-scanning-enhanced.md)을 참조하세요.

이벤트 패턴:

```
{
  "source": ["aws.inspector2"],
  "detail-type": ["Inspector2 Scan"]
}
```

출력 예시:

```
{
    "version": "0",
    "id": "739c0d3c-4f02-85c7-5a88-94a9EXAMPLE",
    "detail-type": "Inspector2 Scan",
    "source": "aws.inspector2",
    "account": "123456789012",
    "time": "2021-12-03T18:03:16Z",
    "region": "us-east-2",
    "resources": [
        "arn:aws:ecr:us-east-2:123456789012:repository/amazon/amazon-ecs-sample"
    ],
    "detail": {
        "scan-status": "INITIAL_SCAN_COMPLETE",
        "repository-name": "arn:aws:ecr:us-east-2:123456789012:repository/amazon/amazon-ecs-sample",
        "finding-severity-counts": {
            "CRITICAL": 7,
            "HIGH": 61,
            "MEDIUM": 62,
            "TOTAL": 158
        },
        "image-digest": "sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77e5EXAMPLE",
        "image-tags": [
            "latest"
        ]
    }
}
```

 **이미지 스캔 결과 업데이트 이벤트(고급 스캔)** 

레지스트리에 대해 고급 스캔을 켜면 이미지 스캔 결과가 생성, 업데이트 또는 종료될 때 Amazon Inspector에서 다음 이벤트를 전송합니다. 자세한 내용은 [이미지에서 Amazon ECR의 OS 및 프로그래밍 언어 패키지 취약성 스캔](image-scanning-enhanced.md) 단원을 참조하십시오.

이벤트 패턴:

```
{
  "source": ["aws.inspector2"],
  "detail-type": ["Inspector2 Finding"]
}
```

출력 예시:

```
{
    "version": "0",
    "id": "42dbea55-45ad-b2b4-87a8-afaEXAMPLE",
    "detail-type": "Inspector2 Finding",
    "source": "aws.inspector2",
    "account": "123456789012",
    "time": "2021-12-03T18:02:30Z",
    "region": "us-east-2",
    "resources": [
        "arn:aws:ecr:us-east-2:123456789012:repository/amazon/amazon-ecs-sample/sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77eEXAMPLE"
    ],
    "detail": {
        "awsAccountId": "123456789012",
        "description": "In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server.",
        "findingArn": "arn:aws:inspector2:us-east-2:123456789012:finding/be674aaddd0f75ac632055EXAMPLE",
        "firstObservedAt": "Dec 3, 2021, 6:02:30 PM",
        "inspectorScore": 6.5,
        "inspectorScoreDetails": {
            "adjustedCvss": {
                "adjustments": [],
                "cvssSource": "REDHAT_CVE",
                "score": 6.5,
                "scoreSource": "REDHAT_CVE",
                "scoringVector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N",
                "version": "3.0"
            }
        },
        "lastObservedAt": "Dec 3, 2021, 6:02:30 PM",
        "packageVulnerabilityDetails": {
            "cvss": [
                {
                    "baseScore": 6.5,
                    "scoringVector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N",
                    "source": "REDHAT_CVE",
                    "version": "3.0"
                },
                {
                    "baseScore": 5.8,
                    "scoringVector": "AV:N/AC:M/Au:N/C:P/I:N/A:P",
                    "source": "NVD",
                    "version": "2.0"
                },
                {
                    "baseScore": 8.1,
                    "scoringVector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H",
                    "source": "NVD",
                    "version": "3.1"
                }
            ],
            "referenceUrls": [
                "https://access.redhat.com/errata/RHSA-2020:3915"
            ],
            "source": "REDHAT_CVE",
            "sourceUrl": "https://access.redhat.com/security/cve/CVE-2019-17498",
            "vendorCreatedAt": "Oct 16, 2019, 12:00:00 AM",
            "vendorSeverity": "Moderate",
            "vulnerabilityId": "CVE-2019-17498",
            "vulnerablePackages": [
                {
                    "arch": "X86_64",
                    "epoch": 0,
                    "name": "libssh2",
                    "packageManager": "OS",
                    "release": "12.amzn2.2",
                    "sourceLayerHash": "sha256:72d97abdfae3b3c933ff41e39779cc72853d7bd9dc1e4800c5294dEXAMPLE",
                    "version": "1.4.3"
                }
            ]
        },
        "remediation": {
            "recommendation": {
                "text": "Update all packages in the vulnerable packages section to their latest versions."
            }
        },
        "resources": [
            {
                "details": {
                    "awsEcrContainerImage": {
                        "architecture": "amd64",
                        "imageHash": "sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77e5EXAMPLE",
                        "imageTags": [
                            "latest"
                        ],
                        "platform": "AMAZON_LINUX_2",
                        "pushedAt": "Dec 3, 2021, 6:02:13 PM",
                        "lastInUseAt": "Dec 3, 2021, 6:02:13 PM",
                        "inUseCount": 1,
                        "registry": "123456789012",
                        "repositoryName": "amazon/amazon-ecs-sample"
                    }
                },
                "id": "arn:aws:ecr:us-east-2:123456789012:repository/amazon/amazon-ecs-sample/sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77EXAMPLE",
                "partition": "N/A",
                "region": "N/A",
                "type": "AWS_ECR_CONTAINER_IMAGE"
            }
        ],
        "severity": "MEDIUM",
        "status": "ACTIVE",
        "title": "CVE-2019-17498 - libssh2",
        "type": "PACKAGE_VULNERABILITY",
        "updatedAt": "Dec 3, 2021, 6:02:30 PM"
    }
}
```

# Amazon ECR에서 고급 스캔에 대한 결과 검색
<a name="image-scanning-enhanced-describe-scan-findings"></a>

마지막으로 완료된 고급 이미지 스캔의 스캔 결과를 검색한 다음 Amazon Inspector에서 결과를 열어 자세한 내용을 확인할 수 있습니다. 발견된 소프트웨어 취약성은 일반적인 취약성 및 노출도(CVE) 데이터베이스에 기반한 심각도를 기준으로 나열됩니다.

이미지 스캔 시 몇 가지 일반적인 문제에 대한 문제 해결 세부 정보를 보려면 [Amazon ECR에서 이미지 스캔 문제 해결](image-scanning-troubleshooting.md) 단원을 참조하세요.

------
#### [ AWS Management Console ]

 AWS Management Console을 사용하여 이미지 스캔 결과를 검색하려면 다음 단계를 따르세요.

**이미지 스캔 결과를 검색하려면**

1. Amazon ECR 콘솔([https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/))을 엽니다.

1. 탐색 모음에서 리포지토리가 있는 리전을 선택합니다.

1. 탐색 창에서 **리포지토리**를 선택합니다.

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

1. **이미지** 페이지의 **이미지 태그** 열에서 스캔 결과를 검색할 이미지 태그를 선택합니다.

1. Amazon Inspector 콘솔에서 세부 정보를 보려면 **이름** 열에서 취약성 이름을 선택합니다.

------
#### [ AWS CLI ]

다음 AWS CLI 명령을 사용하여를 사용하여 이미지 스캔 결과를 검색합니다 AWS CLI. `imageTag` 또는 ` imageDigest`를 사용하여 이미지를 지정할 수 있으며, 둘 다 [list-images](https://docs.aws.amazon.com/cli/latest/reference/ecr/list-images.html) CLI 명령을 사용하여 가져올 수 있습니다.
+ [ describe-image-scan-findings](https://docs.aws.amazon.com/cli/latest/reference/ecr/describe-image-scan-findings.html)(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
  ```

------

# 이미지에서 Amazon ECR의 OS 취약성 스캔
<a name="image-scanning-basic"></a>

Amazon ECR 기본 스캔은 AWS 네이티브 기술을 사용하여 컨테이너 이미지에서 소프트웨어 취약성을 스캔합니다. 기본 스캔은 널리 사용되는 광범위한 운영 체제에서 취약성을 감지하여 50개 이상의 데이터 피드를 소싱하여 일반적인 취약성 및 노출(CVEs)에 대한 조사 결과를 생성합니다. 이러한 소스에는 공급업체 보안 권고, 데이터 피드, 위협 인텔리전스 피드, 국가 취약성 데이터베이스(NVD) 및 MITRE가 포함됩니다.

Amazon ECR 기본 스캔은 리전[AWS 별 서비스에](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 나열된 모든 리전에서 지원됩니다.

Amazon ECR은 가능한 경우 업스트림 배포 소스의 CVE에 대한 심각도를 사용합니다. 그렇지 않으면 공통 취약성 평가 시스템(CVSS) 점수가 사용됩니다. CVSS 점수를 사용하여 NVD 취약성 심각도 등급을 얻을 수 있습니다. 자세한 내용은 [NVD 취약성 심각도 등급](https://nvd.nist.gov/vuln-metrics/cvss)을 참조하세요.

Amazon ECR 기본 스캔은 필터를 지원하여 푸시 시 스캔할 리포지토리를 지정합니다. 푸시 필터의 스캔과 일치하지 않는 리포지토리는 ** 수동** 스캔 빈도로 설정되므로 스캔을 수동으로 시작해야 합니다. 이미지는 24시간마다 한 번만 스캔할 수 있습니다. 이 24시간에는 최초의 푸시할 때 스캔(구성된 경우) 및 모든 수동 스캔이 포함됩니다. 기본 스캔을 사용하면 주어진 레지스트리에서 24시간당 최대 100,000개의 이미지를 스캔할 수 있습니다.

각 이미지에 대해 마지막으로 완료된 이미지 스캔 결과를 검색할 수 있습니다. 이미지 스캔이 완료되면 Amazon ECR은 Amazon EventBridge로 이벤트를 전송합니다. 자세한 내용은 [Amazon ECR 이벤트 및 EventBridge](ecr-eventbridge.md) 단원을 참조하십시오.

## 기본 스캔을 위한 운영 체제 지원
<a name="image-scan-basic-support-operating-systems"></a>

보안 모범 사례에 따르고 지속적인 보장을 받을 수 있도록 지원되는 버전의 운영 체제를 계속 사용하는 것이 좋습니다. 공급업체 정책에 따라 중단된 운영 체제는 더 이상 패치로 업데이트되지 않으므로 대부분의 경우 해당 운영 체제에 대한 새로운 보안 권고도 더 이상 발표되지 않습니다. 또한 일부 공급업체의 경우 영향을 받는 운영 체제의 표준 지원이 종료되면 피드에서 기존 보안 권고 및 탐지를 제거합니다. 배포판이 공급업체의 지원을 받지 못하게 되면 Amazon ECR에서 취약성 검색을 더 이상 지원하지 않을 수 있습니다. 중단된 운영 체제에 대해 Amazon ECR이 생성하는 모든 결과는 정보 제공 목적으로만 사용해야 합니다. 지원되는 운영 체제 및 버전의 전체 목록은 [ Amazon Inspector 사용 설명서의 지원되는 운영 체제 - Amazon Inspector 스캔을](https://docs.aws.amazon.com/inspector/latest/user/supported.html#supported-os-scan-inspector-scan) 참조하세요. *Amazon Inspector *

# Amazon ECR의 이미지에 대한 기본 스캔 구성
<a name="image-scanning-basic-enabling"></a>

기본적으로 Amazon ECR은 모든 프라이빗 레지스트리에 대해 기본 스캔을 켭니다. 따라서 프라이빗 레지스트리에서 스캔 설정을 변경하지 않는 한 기본 스캔을 켤 필요가 없습니다.

다음 단계에 따라 하나 이상의 푸시할 때 스캔 필터를 정의할 수 있습니다.

**프라이빗 레지스트리에 대한 기본 스캔을 켜려면**

1.  [ https://console.aws.amazon.com/ecr/private-registry/repositories Amazon ECR 콘솔을 엽니다.](https://console.aws.amazon.com/ecr/private-registry/repositories)

1. 탐색 모음에서 스캔 구성을 설정할 리전을 선택합니다.

1. 탐색 창에서 **프라이빗 레지스트리**, ** 스캔을** 선택합니다.

1. **스캔 구성** 페이지의 **스캔 유형**에서 **기본 스캔**을 선택합니다.

1. 기본적으로 모든 리포지토리는 **수동** 스캔으로 설정됩니다. 필요에 따라 **필터 푸시 시 스캔**을 지정하여 푸시할 때 스캔을 구성할 수 있습니다. 모든 리포지토리 또는 개별 리포지토리에 대해 푸시할 때 스캔을 설정할 수 있습니다. 자세한 내용은 [Amazon ECR에서 스캔할 리포지토리를 선택하는 필터](image-scanning-filters.md) 단원을 참조하십시오.
**참고**  
리포지토리에 대해 푸시 시 스캔이 활성화된 경우 보관 후 복원된 이미지에 대해서도 스캔이 수행됩니다. 복원된 이미지에서는 이전 스캔을 사용할 수 없습니다.

# 이미지에서 Amazon ECR의 OS 취약성 수동 스캔
<a name="manual-scan"></a>

리포지토리에 **푸시할 때 스캔**이 구성되어 있지 않은 경우 이미지 스캔을 수동으로 시작할 수 있습니다. 이미지는 24시간마다 한 번만 스캔할 수 있습니다. 이 24시간에는 최초의 푸시할 때 스캔(구성된 경우) 및 모든 수동 스캔이 포함됩니다.

이미지 스캔 시 몇 가지 일반적인 문제에 대한 문제 해결 세부 정보를 보려면 [Amazon ECR에서 이미지 스캔 문제 해결](image-scanning-troubleshooting.md) 단원을 참조하세요.

------
#### [ AWS Management Console ]

 AWS Management Console을 사용하여 수동 이미지 스캔을 시작하려면 다음 단계를 따르세요.

1.  [ https://console.aws.amazon.com/ecr/private-registry/repositories Amazon ECR 콘솔을 엽니다.](https://console.aws.amazon.com/ecr/private-registry/repositories)

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

1. 탐색 창에서 **리포지토리**를 선택합니다.

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

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

------
#### [ AWS CLI ]
+ [ start-image-scan](https://docs.aws.amazon.com/cli/latest/reference/ecr/start-image-scan.html)(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
  ```

------
#### [ AWS Tools for Windows PowerShell ]
+ [ Get-ECRImageScanFinding](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-ECRImageScan.html)(AWS Tools for Windows PowerShell)

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

  ```
  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
  ```

------

# Amazon ECR에서 기본 스캔 결과 검색
<a name="describe-scan-findings"></a>

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

이미지 스캔 시 몇 가지 일반적인 문제에 대한 문제 해결 세부 정보를 보려면 [Amazon ECR에서 이미지 스캔 문제 해결](image-scanning-troubleshooting.md) 단원을 참조하세요.

------
#### [ AWS Management Console ]

 AWS Management Console을 사용하여 이미지 스캔 결과를 검색하려면 다음 단계를 따르세요.

**이미지 스캔 결과를 검색하려면**

1.  [ https://console.aws.amazon.com/ecr/private-registry/repositories Amazon ECR 콘솔을 엽니다.](https://console.aws.amazon.com/ecr/private-registry/repositories)

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

1. 탐색 창에서 **리포지토리**를 선택합니다.

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

1. **이미지** 페이지의 **이미지 태그** 열에서 스캔 결과를 검색할 이미지 태그를 선택합니다.

------
#### [ AWS CLI ]

다음 AWS CLI 명령을 사용하여를 사용하여 이미지 스캔 결과를 검색합니다 AWS CLI. `imageTag` 또는 ` imageDigest`를 사용하여 이미지를 지정할 수 있으며, 둘 다 [list-images](https://docs.aws.amazon.com/cli/latest/reference/ecr/list-images.html) CLI 명령을 사용하여 가져올 수 있습니다.
+ [ describe-image-scan-findings](https://docs.aws.amazon.com/cli/latest/reference/ecr/describe-image-scan-findings.html)(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
  ```

------
#### [ AWS Tools for Windows PowerShell ]
+ [ Get-ECRImageScanFinding](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ECRImageScanFinding.html)(AWS Tools for Windows PowerShell)

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

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

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

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

------

# Amazon ECR에서 이미지 스캔 문제 해결
<a name="image-scanning-troubleshooting"></a>

다음은 일반적인 이미지 스캔 오류입니다. 이미지 세부 정보를 표시하거나 API를 통해 또는 ` DescribeImageScanFindings` API를 AWS CLI 사용하여 Amazon ECR 콘솔에서 이와 같은 오류를 볼 수 있습니다.

UnsupportedImageError  
Amazon ECR이 기본 이미지 스캔을 지원하지 않는 운영 체제를 사용하여 구축된 이미지에 대해 기본 스캔을 수행하려고 하면 `UnsupportedImageError` 오류가 발생할 수 있습니다. Amazon ECR은 Amazon Linux, Amazon Linux 2, Debian, Ubuntu, CentOS, Oracle Linux, Alpine, and RHEL Linux 배포판의 주 버전에 대한 패키지 취약점 검색을 지원합니다. 배포판이 판매업체의 지원을 받지 않게 되면 Amazon ECR에서 취약성 검색을 더 이상 지원하지 않을 수 있습니다. Amazon ECR은 [Docker scratch](https://hub.docker.com/_/scratch) 이미지에서 구축된 이미지의 스캔을 지원하지 않습니다.  
고급 스캔을 사용할 경우 Amazon Inspector는 특정 운영 체제 및 미디어 유형에 대한 스캔을 지원합니다. 전체 목록은 *Amazon Inspector 사용 설명서*의 [지원되는 운영 체제 및 미디어 유형](https://docs.aws.amazon.com/inspector/latest/user/enable-disable-scanning-ecr.html#ecr-supported-media)을 참조하세요.

`UNDEFINED` 심각도 수준이 반환됩니다.  
심각도 수준이 ` UNDEFINED`인 스캔 결과를 받을 수 있습니다. 이에 대한 일반적인 원인은 다음과 같습니다.  
+ 이 취약성에는 CVE 소스에 의해 우선 순위가 할당되지 않았습니다.
+ 이 취약성에는 Amazon ECR이 인식하지 못한 우선 순위가 할당되었습니다.
취약성의 심각도 및 설명을 확인하려면 소스에서 직접 CVE를 확인하면 됩니다.

## 스캔 상태 `SCAN_ELIGIBILITY_EXPIRED` 이해
<a name="image-scanning-troubleshooting-eligibility"></a>

프라이빗 레지스트리에 대해 Amazon Inspector를 사용한 고급 스캔이 활성화되어 있고 스캔 취약성을 보고 있는 경우 스캔 상태가 ` SCAN_ELIGIBILITY_EXPIRED`로 표시될 수 있습니다. 이에 대한 가장 일반적인 원인은 다음과 같습니다.
+ 프라이빗 레지스트리에 대해 고급 스캔을 처음 켜면 Amazon Inspector는 이미지 푸시 타임스탬프를 근거로 지난 30일 동안 Amazon ECR에 푸시된 이미지만 인식합니다. 이전 이미지에는 ` SCAN_ELIGIBILITY_EXPIRED` 스캔 상태가 포함됩니다. Amazon Inspector에서 이러한 이미지를 스캔하려는 경우에는 이미지를 해당 리포지토리로 다시 푸시해야 합니다.
+ Amazon Inspector 콘솔에서 **ECR 재스캔 기간(ECR re-scan duration)**이 변경되고 이 시간이 경과하면 이미지의 스캔 상태가 사유 코드 ` inactive`와 함께 `expired`로 변경되고 이미지에 대한 모든 관련 검색 결과가 닫히도록 예약됩니다. 그 결과 Amazon ECR 콘솔에 스캔 상태가 ` SCAN_ELIGIBILITY_EXPIRED`로 표시됩니다.