보조 계정에 Amazon ECR 리포지토리에서 이미지를 푸시하거나 가져올 수 있는 액세스 권한을 부여하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 8월 23일

보조 계정이 Amazon Elastic Container Registry(Amazon ECR)이미지 리포지토리에서 이미지를 푸시하거나 가져오도록 허용하려고 합니다. 이미지를 가져오거나 푸시할 수 있도록 내 이미지 리포지토리에 대한 내 보조 계정 액세스 권한을 부여하려면 어떻게 해야 합니까?

간략한 설명

다른 계정의 Amazon ECR 리포지토리로 이미지를 푸시하거나 가져오려면 보조 계정이 리포지토리에 대해 API 호출을 수행하도록 허용하는 정책을 생성해야 합니다. 권한을 구성하고 리포지토리에 대한 토큰을 얻은 후에는 허용된 작업에 따라 이미지를 푸시하거나 가져올 수 있습니다. 토큰을 획득한 사용자는 리포지토리를 수정하려면 관련 AWS Identity and Access Management(IAM)API 권한도 필요합니다.

해결 방법

1.    기본 계정에 대한 Amazon ECR 콘솔을 엽니다.

2.    수정할 리포지토리의 이름을 선택합니다.

3.    탐색 메뉴에서 [Permissions]를 선택합니다.

4.    기본 계정 내에서 보조 계정에 대한 리포지토리 정책을 추가하려면 [Edit policy JSON]을 선택하고 코드 편집기에 정책을 입력한 다음 [Save]를 선택합니다.

중요: 정책에 보조 계정의 계정 번호와 해당 계정이 리포지토리에 대해 수행할 수 있는 작업을 포함시킵니다. 리포지토리 정책의 예는 예: 다른 계정 허용을 참조하십시오.

보조 계정은 12시간 동안 유효한 필수 임시 인증 토큰을 받기 전에는 리포지토리에서 정책 작업을 수행할 수 없습니다. Amazon ECS 외부에서 이미지를 푸시 및 가져오는 계정에 대한 Docker 인증 토큰을 가져오려면 --registry-ids 파라미터에 대한 기본 계정 ID를 사용하여 다음 get-login 명령을 실행합니다.

$ aws ecr get-login --registry-ids 123456789012 --region us-east-1

이 토큰을 사용하면 보조 계정에서 생성된 토큰을 사용하여 기본 계정 리포지토리에 대해 일반 Docker push 및 pull 명령을 사용할 수 있습니다. Amazon ECS를 사용하여 리포지토리에서 이미지를 가져오려면 작업 정의에서 이미지를 설정합니다.

참고: 토큰을 가져오는 계정에는 리포지토리 계정에서 필요한 API 호출에 대한 권한이 필요합니다. 예제는 Amazon ECR 관리형 정책을 참조하십시오. Docker 관련 문제를 해결하려면 Docker 데몬에서 디버그 모드를 활성화하십시오.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?