업스트림 레지스트리와 Amazon ECR 프라이빗 레지스트리를 동기화하는 데 필요한 IAM 권한 - Amazon ECR

업스트림 레지스트리와 Amazon ECR 프라이빗 레지스트리를 동기화하는 데 필요한 IAM 권한

풀스루 캐시 규칙을 효과적으로 사용하기 위해서는 프라이빗 레지스트리에 인증하고 이미지를 푸시하고 가져오는 데 필요한 Amazon ECR API 권한과 더불어 다음과 같은 추가 권한이 필요합니다.

  • ecr:CreatePullThroughCacheRule – 풀스루 캐시 규칙을 생성할 수 있는 권한을 부여합니다. 이 권한은 자격 증명 기반 IAM 정책을 통해 부여되어야 합니다.

  • ecr:BatchImportUpstreamImage – 외부 이미지를 검색하고 이 이미지를 프라이빗 레지스트리로 가져올 수 있는 권한을 부여합니다. 이 권한은 프라이빗 레지스트리 권한 정책, 자격 증명 기반 IAM 정책을 사용하거나 리소스 기반 리포지토리 권한 정책을 사용하여 부여될 수 있습니다. 리포지토리 권한에 대한 자세한 내용은 Amazon ECR의 프라이빗 리포지토리 정책 섹션을 참조하세요.

  • ecr:CreateRepository – 프라이빗 레지스트리에 리포지토리를 생성할 수 있는 권한을 부여합니다. 이 권한은 캐시된 이미지를 저장하는 리포지토리가 이미 존재하지 않는 경우에 필요합니다. 이 권한은 자격 증명 기반 IAM 정책 또는 프라이빗 레지스트리 권한 정책에 의해 부여할 수 있습니다.

레지스트리 권한 사용

Amazon ECR 프라이빗 레지스트리 권한은 풀스루 캐시를 사용하도록 개별 IAM 엔터티의 권한 범위를 지정하는 데 활용할 수 있습니다. IAM 엔터티에 레지스트리 권한 정책에서 허용하는 권한보다 IAM 정책에서 부여한 권한이 많을 경우 IAM 정책이 우선합니다. 예를 들어, 사용자에게 ecr:* 권한이 부여된 경우에는 레지스트리 수준에서 추가 권한이 필요하지 않습니다.

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

  2. 탐색 모음에서 프라이빗 레지스트리 권한 문을 구성할 리전을 선택합니다.

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

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

  5. 생성하려는 각 풀스루 캐시 권한 정책 문에 대해 다음을 수행합니다.

    1. 정책 유형(Policy type)으로 풀스루 캐시 정책(Pull through cache policy)을 선택합니다.

    2. 문 ID(Statement id)에서 풀스루 캐시 문 정책의 이름을 입력합니다.

    3. IAM 엔터티(IAM entities)에서 정책에 포함할 사용자, 그룹 또는 역할을 지정합니다.

    4. 리포지토리 네임스페이스(Repository namespace)로 정책을 연결할 풀스루 캐시 규칙을 선택합니다.

    5. 리포지토리 이름(Repository names)에서 규칙을 적용할 리포지토리 기본 이름을 지정합니다. 예를 들어, Amazon ECR Public에서 Amazon Linux 리포지토리를 지정하려는 경우 리포지토리 이름은 amazonlinux입니다.

AWS CLI를 사용하여 프라이빗 레지스트리 권한을 지정하려면 다음 AWS CLI 명령을 사용하세요.

  1. 레지스트리 정책의 내용과 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 보안 주체에 의해 수행되는 경우가 해당됩니다.

  2. put-registry-policy 명령을 사용하여 레지스트리 정책을 설정합니다.

    aws ecr put-registry-policy \ --policy-text file://ptc-registry.policy.json

다음 단계

풀스루 캐시 규칙을 사용할 준비가 되었으면 다음 단계는 다음과 같습니다.