

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

# Amazon ECR에 대한 Security Hub CSPM 제어
<a name="ecr-controls"></a>

이러한 Security Hub CSPM 제어는 Amazon Elastic Container Registry(Amazon ECR) 서비스 및 리소스를 평가합니다.

이러한 제어는 일부에서는 사용할 수 없습니다 AWS 리전. 자세한 내용은 [리전별 제어 기능 사용 가능 여부](securityhub-regions.md#securityhub-regions-control-support) 단원을 참조하십시오.

## [ECR.1] ECR 프라이빗 리포지토리에는 이미지 스캔이 구성되어 있어야 합니다.
<a name="ecr-1"></a>

**관련 요구 사항:** NIST.800-53.r5 RA-5, PCI DSS v4.0.1/6.2.3, PCI DSS v4.0.1/6.2.4

**범주:** 식별 > 취약성, 패치 및 버전 관리

**심각도:** 높음

**리소스 유형:** `AWS::ECR::Repository`

**AWS Config 규칙:** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-image-scanning-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-image-scanning-enabled.html)

**스케줄 유형:** 주기적

**파라미터:** 없음

이 제어는 프라이빗 Amazon ECR 리포지토리에 이미지 스캔이 구성되어 있는지 확인합니다. 프라이빗 ECR 리포지토리가 푸시 시 스캔 또는 연속 스캔에 대해 구성되지 않은 경우, 제어가 실패합니다.

ECR 이미지 스캔은 컨테이너 이미지의 소프트웨어 취약성을 식별하는 데 도움이 됩니다. ECR 리포지토리에서 이미지 스캔을 구성하면 저장되는 이미지의 무결성과 안전성에 대한 검증 계층이 추가됩니다.

### 문제 해결
<a name="ecr-1-remediation"></a>

ECR 리포지토리의 이미지 스캔을 구성하려면 *Amazon Elastic Container 레지스트리 사용 설명서*의 [이미지 스캔](https://docs.aws.amazon.com//AmazonECR/latest/userguide/image-scanning.html)을 참조하세요.

## [ECR.2] ECR 프라이빗 리포지토리에는 태그 불변성이 구성되어 있어야 합니다.
<a name="ecr-2"></a>

**관련 요구 사항:** NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2, NIST.800-53.r5 CM-8(1)

**범주:** 식별 > 인벤토리 > 태그 지정

**심각도:** 중간

**리소스 유형:** `AWS::ECR::Repository`

**AWS Config 규칙:** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-tag-immutability-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-tag-immutability-enabled.html)

**스케줄 유형:** 변경이 트리거됨

**파라미터:** 없음

이 제어는 프라이빗 ECR 리포지토리에 태그 불변성이 활성화되어 있는지 확인합니다. 프라이빗 ECR 리포지토리에 태그 불변성이 비활성화된 경우, 이 제어가 실패합니다. 이 규칙은 태그 불변성이 활성화되고 값이 `IMMUTABLE`인 경우, 통과됩니다.

Amazon ECR Tag Immuability를 사용하면 고객은 이미지를 추적하고 고유하게 식별하는 안정적인 메커니즘으로 이미지 설명 태그를 활용할 수 있습니다. 불변 태그는 정적입니다. 즉, 각 태그는 고유한 이미지를 참조합니다. 정적 태그를 사용하면 항상 동일한 이미지가 배포되므로 안정성과 확장성이 향상됩니다. 태그 불변성을 구성하면 태그 불변성으로 인해 태그가 재정의되지 않아 공격 표면이 줄어듭니다.

### 문제 해결
<a name="ecr-2-remediation"></a>

변경할 수 없는 태그가 구성된 리포지토리를 만들거나 기존 리포지토리의 이미지 태그 변경 가능성 설정을 업데이트하려면 *Amazon Elastic Container Registry 사용 설명서*의 [이미지 태그 변경 가능성](https://docs.aws.amazon.com//AmazonECR/latest/userguide/image-tag-mutability.html)을 참조하세요.

## [ECR.3] ECR 리포지토리에는 수명 주기 정책이 하나 이상 구성되어 있어야 합니다.
<a name="ecr-3"></a>

**관련 요구 사항:** NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2, NIST.800-53.r5 CM-2(2)

**범주**: 식별 > 리소스 구성

**심각도:** 중간

**리소스 유형:** `AWS::ECR::Repository`

**AWS Config 규칙:** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-lifecycle-policy-configured.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-lifecycle-policy-configured.html)

**스케줄 유형:** 변경이 트리거됨

**파라미터:** 없음

이 제어는 Amazon ECR 리포지토리에 하나 이상의 수명 주기 정책이 구성되어 있는지 확인합니다. ECR 저장소에 수명 주기 정책이 구성되어 있지 않으면 이 제어가 실패합니다.

Amazon ECR 수명 주기 정책을 통해 리포지토리의 이미지에 대한 수명 주기 관리를 지정할 수 있습니다. 수명 주기 정책을 구성하면 사용하지 않는 이미지의 정리 및 사용 기간 또는 개수에 따른 이미지 만료를 자동화할 수 있습니다. 이러한 작업을 자동화하면 저장소에서 오래된 이미지를 실수로 사용하는 것을 방지할 수 있습니다.

### 문제 해결
<a name="ecr-3-remediation"></a>

수명 주기 정책을 구성하려면 *Amazon Elastic Container Registry 사용 설명서*의 [수명 주기 정책 미리 보기 생성](https://docs.aws.amazon.com//AmazonECR/latest/userguide/lpp_creation.html)을 참조하세요.

## [ECR.4] ECR 퍼블릭 리포지토리에 태그를 지정해야 합니다.
<a name="ecr-4"></a>

**범주:** 식별 > 인벤토리 > 태그 지정

**심각도: ** 낮음

**리소스 유형:** `AWS::ECR::PublicRepository`

**AWS Config 규칙:** `tagged-ecr-publicrepository` (사용자 지정 Security Hub CSPM 규칙)

**스케줄 유형:** 변경이 트리거됨

**파라미터:**


| 파라미터 | 설명 | 형식 | 허용된 사용자 지정 값 | Security Hub CSPM 기본값 | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | 평가된 리소스에 포함되어야 하는 비시스템 태그 키 목록입니다. 태그 키는 대소문자를 구별합니다. | StringList(최대 6개 항목)  | [AWS 요구](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions) 사항을 충족하는 1\$16개의 태그 키. | 기본값 없음  | 

이 제어는 Amazon ECR 퍼블릭 리포지토리에 파라미터 `requiredTagKeys`에 정의된 특정 키가 있는 태그가 있는지 확인합니다. 퍼블릭 리포지토리에 태그 키가 없거나 파라미터 `requiredTagKeys`에 지정된 모든 키가 없는 경우, 제어가 실패합니다. 파라미터 `requiredTagKeys`이 제공되지 않은 경우 제어는 태그 키의 존재만 확인하고 퍼블릭 리포지토리에 키로 태그가 지정되지 않은 경우, 제어가 실패합니다. 자동으로 적용되고 `aws:`로 시작하는 시스템 태그는 무시됩니다.

태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 정리, 검색 및 필터링하는 데 도움을 줍니다. 태깅은 또한 작업 및 알림에 대한 책임 리소스 소유자를 추적하는 데도 도움이 됩니다. 태깅을 사용하는 경우, 속성 기반 액세스 제어(ABAC)를 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 구현할 수 있습니다. IAM 엔터티(사용자 또는 역할) 및 AWS 리소스에 태그를 연결할 수 있습니다. IAM 보안 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 생성할 수 있습니다. 이러한 ABAC 정책은 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 설계할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [ABAC란 무엇입니까 AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)를 참조하세요.

**참고**  
개인 식별 정보(PII)나 기타 기밀 정보 또는 민감한 정보를 태그에 추가하지 않습니다. 태그를 AWS 서비스비롯한 많은 사용자가 태그에 액세스할 수 있습니다 AWS Billing. 태그 지정 모범 사례는의 [AWS 리소스 태그 지정](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)을 참조하세요*AWS 일반 참조*.

### 문제 해결
<a name="ecr-4-remediation"></a>

ECR 퍼블릭 리포지토리에 태그를 추가하려면 *Amazon Elastic Container Registry 사용 설명서*의 [Amazon ECR 퍼블릭 리포지토리 태그 지정](https://docs.aws.amazon.com/AmazonECR/latest/public/ecr-public-using-tags.html)을 참조하세요.

## [ECR.5] ECR 리포지토리는 고객 관리형 로 암호화해야 합니다. AWS KMS keys
<a name="ecr-5"></a>

**관련 요구 사항:** NIST.800-53.r5 SC-12(2), NIST.800-53.r5 CM-3(6), NIST.800-53.r5 SC-13, NIST.800-53.r5 SC-28, NIST.800-53.r5 SC-28(1), NIST.800-53.r5 SC-7(10), NIST.800-53.r5 CA-9(1), NIST.800-53.r5 SI-7(6), NIST.800-53.r5 AU-9

**범주:** 보호 > 데이터 보호 > 저장 데이터 암호화

**심각도:** 중간

**리소스 유형:** `AWS::ECR::Repository`

**AWS Config 규칙:** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-repository-cmk-encryption-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-repository-cmk-encryption-enabled.html)

**스케줄 유형:** 변경이 트리거됨

**파라미터:**


| 파라미터 | 설명 | 형식 | 허용된 사용자 지정 값 | Security Hub CSPM 기본값 | 
| --- | --- | --- | --- | --- | 
|  `kmsKeyArns`  |  평가에 AWS KMS keys 포함할의 Amazon 리소스 이름(ARNs) 목록입니다. ECR 리포지토리가 목록의 KMS 키로 암호화되지 않은 경우, 제어는 `FAILED` 조사 결과를 생성합니다.  |  StringList(최대 10개 항목)  |  기존 KMS 키의 ARN 1\$110개. 예: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`  |  기본값 없음  | 

이 제어는 Amazon ECR 리포지토리가 고객 관리형 AWS KMS key로 저장 시 암호화되는지 확인합니다. ECR 리포지토리가 고객 관리형 KMS 키로 암호화되지 않은 경우 제어가 실패합니다. 선택적으로 평가에 포함할 제어에 대한 KMS 키 목록을 지정할 수 있습니다.

기본적으로 Amazon ECR은 AES-256 알고리즘을 사용하여 Amazon S3 관리형 키(SSE-S3)로 리포지토리 데이터를 암호화합니다. 추가 제어를 위해 대신 AWS KMS key (SSE-KMS 또는 DSSE-KMS)를 사용하여 데이터를 암호화하도록 Amazon ECR을 구성할 수 있습니다. KMS 키는 Amazon ECR이 생성 및 관리하고 별칭 `aws/ecr`이 있는 AWS 관리형 키 또는 AWS 계정에서 생성 및 관리하는 고객 관리형 키일 수 있습니다. 고객 관리형 KMS 키를 사용하면 고객이 키를 완전히 제어할 수 있습니다. 여기에는 키 정책 정의 및 유지 관리, 권한 부여 관리, 암호화 자료 교체, 태그 할당, 별칭 생성, 키 활성화 및 비활성화가 포함됩니다.

**참고**  
AWS KMS 는 KMS 키에 대한 교차 계정 액세스를 지원합니다. ECR 리포지토리가 다른 계정이 소유한 KMS 키로 암호화된 경우 이 제어는 리포지토리를 평가할 때 교차 계정 확인을 수행하지 않습니다. 제어는 Amazon ECR이 리포지토리에 대한 암호화 작업을 수행할 때 키에 액세스하고 사용할 수 있는지 여부를 평가하지 않습니다.

### 문제 해결
<a name="ecr-5-remediation"></a>

기존 ECR 리포지토리의 암호화 설정은 변경할 수 없습니다. 그러나 이후에 생성하는 ECR 리포지토리에 대해 다른 암호화 설정을 지정할 수 있습니다. Amazon ECR은 개별 리포지토리에 다양한 암호화 설정을 사용하도록 지원합니다.

ECR 리포지토리의 암호화 옵션에 대한 자세한 내용은 *Amazon ECR 사용 설명서*의 [저장 시 암호화](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html)를 참조하세요. 고객 관리형에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*[AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)의 섹션을 AWS KMS keys참조하세요.