Amazon ECR에서 교차 계정 복제를 위한 레지스트리 권한 부여

Amazon ECR에서 교차 계정 복제를 위한 레지스트리 권한 부여

교차 계정 정책 유형은 AWS 보안 주체에게 권한을 부여해 소스 레지스트리에서 내 레지스트리로 리포지토리를 복제할 수 있게 하는 데 사용됩니다. 기본적으로 자체 레지스트리 내에서 교차 리전 복제를 구성할 권한이 있습니다. 다른 계정에 콘텐츠를 내 레지스트리로 복제할 권한을 부여하는 경우에만 레지스트리 정책을 구성하면 됩니다. 레지스트리 정책은 ecr:ReplicateImage API 작업에 대한 권한을 부여해야 합니다. 이 API는 리전 또는 계정 간에 이미지를 복제할 수 있는 내부 Amazon ECR API입니다. 또한 ecr:CreateRepository 권한을 부여할 수 있으며, 이는 리포지토리가 아직 존재하지 않는 경우 Amazon ECR이 내 레지스트리에 리포지토리를 만들 수 있게 합니다. ecr:CreateRepository 권한이 제공되지 않으면 소스 리포지토리와 같은 이름의 리포지토리를 내 레지스트리에 수동으로 생성해야 합니다. 둘 중 어느 것도 수행되지 않으면 복제가 실패합니다.

출처: 문서

본문

실패한 CreateRepository 또는 ReplicateImage API 작업은 CloudTrail에 표시됩니다.

다음 단계에 따라 콘솔에서 교차 계정 복제를 위한 레지스트리 권한을 설정합니다.

  1. https://console.aws.amazon.com/ecr/ 에서 Amazon ECR 콘솔을 엽니다.
  2. 탐색 모음에서 레지스트리 정책을 구성할 리전을 선택합니다.
  3. 탐색 창에서 Private registry, Features & Settings를 선택한 다음 Permissions를 선택합니다.
  4. Registry permissions 페이지에서 Generate statement를 선택합니다.
  5. 정책 생성기를 사용해 정책 문을 정의하려면 다음 단계를 완료합니다.
    • Policy type에서 Replication - cross account를 선택합니다.
    • Statement id에 고유한 문 ID를 입력합니다. 이 필드는 레지스트리 정책의 Sid로 사용됩니다.
    • Accounts에 권한을 부여할 각 계정의 계정 ID를 입력합니다. 여러 계정 ID를 지정할 때는 쉼표로 구분합니다.
  6. Save를 선택합니다.

registry_policy.json이라는 파일을 만들고 레지스트리 정책으로 채웁니다.

JSON

{
    "Version":"2012-10-17",
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/*"
            ]
        }
    ]
}

정책 파일을 사용해 레지스트리 정책을 만듭니다.

aws ecr put-registry-policy \
     --policy-text file://registry_policy.json \
     --region us-west-2

확인을 위해 레지스트리의 정책을 검색합니다.

aws ecr get-registry-policy \
     --region us-west-2

더 알아보기 (Learn more)

  • Amazon ECR 프라이빗 레지스트리 권한
  • Amazon ECR 프라이빗 리포지토리 정책
  • Amazon ECR 프라이빗 이미지 복제