Amazon의 프라이빗 레지스트리 인증 ECR - 아마존 ECR

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

Amazon의 프라이빗 레지스트리 인증 ECR

AWS Management Console, AWS CLI, 또는 를 사용하여 프라이빗 AWS SDKs 리포지토리를 생성하고 관리할 수 있습니다. 이러한 방법을 사용하여 이미지에 대해 목록 조회 또는 삭제 같은 일부 작업을 수행할 수도 있습니다. 이러한 클라이언트는 표준 AWS 인증 방법을 사용합니다. ECRAPIAmazon을 사용하여 이미지를 푸시하고 가져올 수 있지만 Docker CLI 또는 언어별 Docker 라이브러리를 사용할 가능성이 더 큽니다.

Docker는 기본 인증 방법을 CLI 지원하지 않습니다. IAM Amazon이 Docker 푸시 및 풀 요청을 인증하고 ECR 승인할 수 있도록 추가 조치를 취해야 합니다.

다음에 세부적으로 설명된 레지스트리 인증 방법을 사용할 수 있습니다.

Amazon ECR 자격 증명 도우미 사용

ECRAmazon은 이미지를 Amazon으로 푸시하고 가져올 때 Docker 자격 증명을 더 쉽게 저장하고 사용할 수 있도록 Docker 자격 증명 도우미를 제공합니다. ECR 설치 및 구성 단계는 Amazon ECR Docker 자격 증명 도우미를 참조하십시오.

참고

Amazon ECR Docker 자격 증명 도우미는 현재 멀티 팩터 인증 () 을 지원하지 않습니다. MFA

권한 부여 토큰 사용

인증 토큰의 권한 범위는 인증 토큰을 검색하는 데 사용된 IAM 보안 주체의 권한 범위와 일치합니다. 인증 토큰은 보안 IAM 주체가 액세스할 수 있고 12시간 동안 유효한 모든 Amazon ECR 레지스트리에 액세스하는 데 사용됩니다. 인증 토큰을 얻으려면 GetAuthorizationTokenAPI작업을 사용하여 사용자 AWS 이름과 인코딩된 비밀번호가 포함된 base64로 인코딩된 인증 토큰을 검색해야 합니다. 이 AWS CLI get-login-password 명령은 인증 토큰을 검색 및 디코딩한 다음 명령에 연결하여 인증할 수 있으므로 이 작업을 간소화합니다. docker login

get-login을 사용하여 Amazon ECR 프라이빗 레지스트리에 Docker를 인증하려면
  • 를 사용하여 Amazon ECR 레지스트리에 Docker를 get-login-password 인증하려면 명령을 실행합니다. aws ecr get-login-password 인증 토큰을 docker login 명령에 전달할 때 사용자 이름 값을 AWS 사용하고 URI 인증하려는 Amazon ECR 레지스트리를 지정합니다. 여러 레지스트리에 대해 인증하는 경우 각 레지스트리에 대해 명령을 반복해야 합니다.

    중요

    오류가 발생하면 최신 버전의 AWS CLI를 설치하거나 업그레이드합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서에서 AWS Command Line Interface설치를 참조하세요.

    • get-login-password (AWS CLI)

      aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
    • Get- ECRLoginCommand ()AWS Tools for Windows PowerShell

      (Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

HTTPAPI인증 사용

ECRAmazon은 도커 레지스트리를 HTTP API 지원합니다. 하지만 ECR Amazon은 사설 레지스트리이므로 모든 HTTP 요청에 인증 토큰을 제공해야 합니다. for -H curl 옵션을 사용하여 HTTP 승인 헤더를 추가하고 get-authorization-token AWS CLI 명령에서 제공하는 인증 토큰을 전달할 수 있습니다.

Amazon에서 인증하려면 ECR HTTP API
  1. 를 사용하여 인증 토큰을 검색하고 환경 변수로 설정합니다. AWS CLI

    TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
  2. 에 인증하려면 $TOKEN 변수를 의 -H curl 옵션에 전달하십시오. API 예를 들어, 다음 명령은 Amazon ECR 리포지토리의 이미지 태그를 나열합니다. 자세한 내용은 Docker 레지스트리 HTTP API 참조 설명서를 참조하십시오.

    curl -i -H "Authorization: Basic $TOKEN" https://aws_account_id.dkr.ecr.region.amazonaws.com/v2/amazonlinux/tags/list

    출력값은 다음과 같습니다.

    HTTP/1.1 200 OK
    Content-Type: text/plain; charset=utf-8
    Date: Thu, 04 Jan 2018 16:06:59 GMT
    Docker-Distribution-Api-Version: registry/2.0
    Content-Length: 50
    Connection: keep-alive
    
    {"name":"amazonlinux","tags":["2017.09","latest"]}