설명
ECR은 기본적으로 S3 관리형 키로 이미지를 암호화합니다. 고객 관리형 KMS 키는 별도 키 정책과 감사 요구에 맞춰 선택할 수 있으며, KMS만 지정하고 키를 생략하면 AWS 관리형 키가 사용됩니다.
잠재적 영향
고객 관리형 키가 필수인 환경에서는 기본 암호화 구성이 해당 요구를 충족하지 못할 수 있습니다.
해결 방법
리포지토리 생성 시 EncryptionConfiguration에 EncryptionType: KMS와 같은 리전의 고객 관리형 KmsKey를 지정하세요. 생성 후 암호화 구성은 변경할 수 없으므로 기존 리포지토리는 새 리포지토리로 이미지를 이전해야 합니다.
예시
서로 다른 생성 구성을 비교하는 예시입니다. 기존 리포지토리의 제자리 변경 예시가 아니며, 키 ARN은 실제 키로 바꿔야 합니다.
변경 전
json
{
"Resources": {
"MyRepository": {
"Type": "AWS::ECR::Repository",
"Properties": {
"RepositoryName": "test-repository"
}
}
}
}
변경 후
json
{
"Resources": {
"MyRepository": {
"Type": "AWS::ECR::Repository",
"Properties": {
"RepositoryName": "test-repository",
"EncryptionConfiguration": {
"EncryptionType": "KMS",
"KmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
}
}
}
}
}