Amazon ECR 사설 리포지토리에 저장된 이미지에 서명 - Amazon ECR

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

Amazon ECR 사설 리포지토리에 저장된 이미지에 서명

Amazon ECR은 와 AWS Signer 통합되어 컨테이너 이미지에 서명할 수 있는 방법을 제공합니다. 컨테이너 이미지와 서명을 모두 프라이빗 리포지토리에 저장할 수 있습니다.

고려 사항

Amazon ECR 이미지 서명을 사용할 때는 다음 사항을 고려해야 합니다.

  • 리포지토리에 저장된 서명은 리포지토리당 최대 이미지 수에 대한 서비스 할당량에 포함됩니다. 자세한 정보는 Amazon ECR 서비스 할당량을 참조하세요.

  • 참조 아티팩트가 리포지토리에 있는 경우 Amazon ECR 수명 주기 정책은 주제 이미지 삭제 후 24시간 이내에 해당 아티팩트를 자동으로 정리합니다.

사전 조건 

시작하기 전에 다음 사전 요구 사항이 충족되어야 합니다.

Notary 클라이언트에 대한 인증 구성

Notation CLI를 사용하여 서명을 만들려면 먼저 Amazon ECR에 인증할 수 있도록 클라이언트를 구성해야 합니다. Notation 클라이언트를 설치한 동일한 호스트에 Docker를 설치한 경우 Notation은 Docker 클라이언트에 사용하는 것과 동일한 인증 방법을 재사용합니다. Docker login 및 logout 명령을 사용하면 Notation sign 및 verify 명령에서 동일한 자격 증명을 사용할 수 있으며 Notation을 별도로 인증할 필요가 없습니다. 인증을 위한 Notation 클라이언트 구성에 대한 자세한 내용은 Notary Project 문서의 OCI 준수 레지스트리를 통한 인증을 참조하세요.

Docker 또는 Docker 자격 증명을 사용하는 다른 도구를 사용하지 않는 경우 Amazon ECR Docker 자격 증명 도우미를 자격 증명 스토어로 사용하는 것이 좋습니다. Amazon ECR 자격 증명 도우미를 설치하고 구성하는 방법에 대한 자세한 내용은 Amazon ECR Docker 자격 증명 도우미를 참조하세요.

이미지 서명

다음 단계를 사용하여 컨테이너 이미지에 대한 서명을 생성하고 Amazon ECR 프라이빗 리포지토리에 저장할 수 있습니다. Notation은 다이제스트를 사용하여 이미지에 서명합니다.

이미지에 서명
  1. 서명 플랫폼을 사용하여 AWS Signer 서명 프로필을 생성합니다. Notation-OCI-SHA384-ECDSA --signature-validity-period 파라미터를 사용하여 서명 유효 기간을 선택적으로 지정할 수 있습니다. 이 값은 DAYS, MONTHS 또는 YEARS를 사용하여 지정할 수 있습니다. 유효 기간을 지정하지 않으면 기본값 135개월이 사용됩니다.

    aws signer put-signing-profile --profile-name ecr_signing_profile --platform-id Notation-OCI-SHA384-ECDSA
    참고

    서명 프로필 이름에는 영숫자와 밑줄(_)만 사용할 수 있습니다.

  2. Notation 클라이언트를 기본 레지스트리에 인증합니다. 다음 예제는 AWS CLI 를 사용하여 Amazon ECR 사설 레지스트리에 Notation CLI를 인증합니다.

    aws ecr get-login-password --region region | notation login --username AWS --password-stdin 111122223333.dkr.ecr.region.amazonaws.com
  3. Notation CLI를 사용하여 이미지에 서명하고 리포지토리 이름과 SHA 다이제스트를 사용하여 이미지를 지정합니다. 그러면 서명이 생성되고 서명 중인 이미지가 있는 곳과 동일한 Amazon ECR 프라이빗 리포지토리로 푸시됩니다.

    다음 예시에서는 SHA 다이제스트 sha256:ca78e5f730f9a789ef8c63bb55275ac12dfb9e8099e6EXAMPLE이(가) 있는 curl 리포지토리의 이미지에 서명하고 있습니다.

    notation sign 111122223333.dkr.ecr.region.amazonaws.com/curl@sha256:ca78e5f730f9a789ef8c63bb55275ac12dfb9e8099e6EXAMPLE --plugin "com.amazonaws.signer.notation.plugin" --id "arn:aws:signer:region:111122223333:/signing-profiles/ecrSigningProfileName"

다음 단계

컨테이너 이미지에 서명한 후 로컬에서 서명을 확인할 수 있습니다. 이미지 확인에 대한 지침은 AWS Signer 개발자 안내서에 로그인한 후 로컬에서 이미지 확인을 참조하십시오.