ECR 리포지토리 접근 정책 점검

이미지를 사용할 주체와 작업에 맞게 접근 권한을 제한하세요.

설명

ECR 리포지토리 정책은 특정 리포지토리에 대한 접근 권한을 부여하거나 제한합니다. 정책이 없다고 리포지토리가 공개되는 것은 아니며, 같은 계정에서는 IAM 자격 증명 정책으로도 권한을 부여할 수 있습니다.

잠재적 영향

실제 사용 주체를 고려하지 않고 광범위한 리포지토리 정책을 추가하면 의도하지 않은 이미지 접근을 허용할 수 있습니다.

해결 방법

유효한 IAM 권한을 먼저 확인하고 리포지토리 정책이 필요한 경우 허용할 주체와 작업만 지정하세요. 이미지 송수신 인증에 필요한 ecr:GetAuthorizationToken 권한은 IAM 정책으로 부여하세요.

예시

변경 후는 지정한 역할에 두 이미지 조회 작업을 허용하는 예시입니다. 역할 ARN은 실제 허용할 역할로 바꾸세요.

변경 전

hcl
resource "aws_ecr_repository" "example" {
  name = "bar"
}

변경 후

hcl
resource "aws_ecr_repository" "example" {
  name = "bar"
}

resource "aws_ecr_repository_policy" "example_policy" {
  repository = aws_ecr_repository.example.name

  policy = <<EOF
{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Sid": "new policy",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::123456789012:role/ImagePuller"},
      "Action": [
        "ecr:GetDownloadUrlForLayer",
        "ecr:BatchGetImage"
      ]
    }
  ]
}
EOF
}

참조