업스트림 레지스트리와 Amazon ECR 프라이빗 레지스트리를 동기화하는 데 필요한 IAM 권한
풀스루 캐시 규칙을 효과적으로 사용하기 위해서는 프라이빗 레지스트리에 인증하고 이미지를 푸시하고 가져오는 데 필요한 Amazon ECR API 권한과 더불어 다음과 같은 추가 권한이 필요합니다.
-
ecr:CreatePullThroughCacheRule
– 풀스루 캐시 규칙을 생성할 수 있는 권한을 부여합니다. 이 권한은 자격 증명 기반 IAM 정책을 통해 부여되어야 합니다. -
ecr:BatchImportUpstreamImage
– 외부 이미지를 검색하고 이 이미지를 프라이빗 레지스트리로 가져올 수 있는 권한을 부여합니다. 이 권한은 프라이빗 레지스트리 권한 정책, 자격 증명 기반 IAM 정책을 사용하거나 리소스 기반 리포지토리 권한 정책을 사용하여 부여될 수 있습니다. 리포지토리 권한에 대한 자세한 내용은 Amazon ECR의 프라이빗 리포지토리 정책 섹션을 참조하세요. -
ecr:CreateRepository
– 프라이빗 레지스트리에 리포지토리를 생성할 수 있는 권한을 부여합니다. 이 권한은 캐시된 이미지를 저장하는 리포지토리가 이미 존재하지 않는 경우에 필요합니다. 이 권한은 자격 증명 기반 IAM 정책 또는 프라이빗 레지스트리 권한 정책에 의해 부여할 수 있습니다.
레지스트리 권한 사용
Amazon ECR 프라이빗 레지스트리 권한은 풀스루 캐시를 사용하도록 개별 IAM 엔터티의 권한 범위를 지정하는 데 활용할 수 있습니다. IAM 엔터티에 레지스트리 권한 정책에서 허용하는 권한보다 IAM 정책에서 부여한 권한이 많을 경우 IAM 정책이 우선합니다. 예를 들어, 사용자에게 ecr:*
권한이 부여된 경우에는 레지스트리 수준에서 추가 권한이 필요하지 않습니다.
Amazon ECR 콘솔(https://console.aws.amazon.com/ecr/
)을 엽니다. -
탐색 모음에서 프라이빗 레지스트리 권한 문을 구성할 리전을 선택합니다.
-
탐색 창에서 프라이빗 레지스트리, 레지스트리 권한을 선택합니다.
-
레지스트리 권한(Registry permissions) 페이지에서 문 생성(Generate statement)을 선택합니다.
-
생성하려는 각 풀스루 캐시 권한 정책 문에 대해 다음을 수행합니다.
-
정책 유형(Policy type)으로 풀스루 캐시 정책(Pull through cache policy)을 선택합니다.
-
문 ID(Statement id)에서 풀스루 캐시 문 정책의 이름을 입력합니다.
-
IAM 엔터티(IAM entities)에서 정책에 포함할 사용자, 그룹 또는 역할을 지정합니다.
-
리포지토리 네임스페이스(Repository namespace)로 정책을 연결할 풀스루 캐시 규칙을 선택합니다.
-
리포지토리 이름(Repository names)에서 규칙을 적용할 리포지토리 기본 이름을 지정합니다. 예를 들어, Amazon ECR Public에서 Amazon Linux 리포지토리를 지정하려는 경우 리포지토리 이름은
amazonlinux
입니다.
-
AWS CLI를 사용하여 프라이빗 레지스트리 권한을 지정하려면 다음 AWS CLI 명령을 사용하세요.
-
레지스트리 정책의 내용과
ptc-registry-policy.json
이라는 이름의 로컬 파일을 생성합니다. 다음 예제에서는 사용자에게 리포지토리를 생성하고 과거에 생성된 풀스루 캐시 규칙에 연결된 업스트림 소스인 Amazon ECR 퍼블릭에서 이미지를 가져올 수 있는ecr-pull-through-cache-user
권한을 부여합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PullThroughCacheFromReadOnlyRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111122223333
:user/ecr-pull-through-cache-user
" }, "Action": [ "ecr:CreateRepository", "ecr:BatchImportUpstreamImage" ], "Resource": "arn:aws:ecr:us-east-1
:111122223333
:repository/ecr-public
/*" } ] }중요
ecr-CreateRepository
권한은 캐시된 이미지를 저장하는 리포지토리가 이미 존재하지 않는 경우에만 필요합니다. 예를 들어 리포지토리 생성 작업과 이미지 풀 작업이 관리자 및 개발자와 같은 별도의 IAM 보안 주체에 의해 수행되는 경우가 해당됩니다. -
put-registry-policy 명령을 사용하여 레지스트리 정책을 설정합니다.
aws ecr put-registry-policy \ --policy-text file://
ptc-registry.policy.json
다음 단계
풀스루 캐시 규칙을 사용할 준비가 되었으면 다음 단계는 다음과 같습니다.
-
풀스루 캐시 규칙을 생성합니다. 자세한 내용은 Amazon ECR에서 풀스루 캐시 규칙 생성 단원을 참조하십시오.
-
리포지토리 생성 템플릿을 생성합니다. 리포지토리 생성 템플릿을 사용하면 풀스루 캐시 작업 중에 Amazon ECR에서 사용자 대신 생성한 새 리포지토리에 사용할 설정을 정의할 수 있습니다. 자세한 내용은 풀스루 캐시 또는 복제 작업 중에 생성되는 리포지토리를 제어하는 템플릿 단원을 참조하십시오.