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

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

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

교차 계정 정책 유형은 소스 레지스트리에서 사용 중인 레지스트리로 리포지토리를 복제할 수 있도록 AWS 보안 주체에 권한을 부여하는 데 사용됩니다. 기본적으로 자체 레지스트리 내에서 교차 리전 복제를 구성할 수 있는 권한이 있습니다. 레지스트리에 콘텐츠를 복제할 수 있는 다른 계정에 권한을 부여하는 경우에만 레지스트리 정책을 구성하면 됩니다.

레지스트리 정책은 ecr:ReplicateImage API 작업에 대해 권한을 부여해야 합니다. 이 API는 리전 또는 계정 간에 이미지를 복제할 수 있는 내부 Amazon ECR API입니다. ecr:CreateRepository 권한에 대한 권한을 부여할 수 있습니다. 이 권한을 사용하면 Amazon ECR이 레지스트리에 리포지토리가 없는 경우 리포지토리를 생성할 수 있습니다. 만약 ecr:CreateRepository 권한이 제공되지 않으면 소스 리포지토리와 이름이 같은 리포지토리를 레지스트리에 수동으로 생성해야 합니다. 두 작업이 모두 수행되지 않으면 복제가 실패합니다. 모든 실패 CreateRepository 또는 ReplicateImage API 작업이 에 표시됩니다. CloudTrail

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

  2. 탐색 모음에서 레지스트리 정책을 구성할 리전을 선택합니다.

  3. 탐색 창에서 프라이빗 레지스트리(Private registry), 레지스트리 권한(Registry permissions)을 선택합니다.

  4. 레지스트리 권한(Registry permissions) 페이지에서 문 생성(Generate statement)을 선택합니다.

  5. 정책 생성기를 사용하여 정책 설명을 정의하려면 다음 단계를 수행하세요.

    1. 정책 유형(Policy type)으로 교차 계정 정책(Cross account policy)을 선택합니다.

    2. 설명 ID(Statement ID)에 고유한 설명 ID를 입력합니다. 이 필드는 레지스트리 정책에서 Sid로 사용됩니다.

    3. 계정(Accounts)에는 권한을 부여할 각 계정의 계정 ID를 입력합니다. 여러 계정 ID를 지정할 경우 쉼표로 구분합니다.

  6. 정책 설명 미리 보기(Preview policy statement) 섹션을 확장하여 레지스트리 사용 권한 정책 설명을 검토합니다.

  7. 정책 설명이 확인되면 정책에 추가(Add to policy)를 선택하여 정책을 레지스트리에 저장합니다.

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

    { "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ] }
  2. 정책 파일을 사용하여 레지스트리 정책을 만듭니다.

    aws ecr put-registry-policy \ --policy-text file://registry_policy.json \ --region us-west-2
  3. 레지스트리에 대한 정책을 검색하여 확인합니다.

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