서명 검증
서명 검증
컨테이너 이미지에 서명한 뒤에는 서명을 검증해서 이미지가 변조되지 않았고 신뢰할 수 있는 출처에서 왔는지 확인할 수 있어요. Amazon ECR은 서명을 검증하는 여러 방법을 지원해요.
출처: 문서
본문
- Amazon EKS를 사용한 관리형 검증 – Amazon EKS는 자동 서명 검증을 위한 네이티브 통합을 제공해요. Amazon EKS 클러스터에서 서명 검증을 구성하면 서비스가 컨테이너 실행을 허용하기 전에 이미지 서명을 자동으로 검증해요. 서명 검증 구성에 대한 자세한 내용은 Amazon EKS User Guide의 '배포 중 컨테이너 이미지 서명 검증'을 참고해요.
- Amazon ECS용 Lambda 승인 컨트롤러 – Amazon ECS는 서비스 배포 중에 사용자 정의 로직을 실행할 수 있게 해주는 서비스 수명 주기 훅을 제공해요. 이 훅은 배포 과정의 특정 지점에서 AWS Lambda 함수를 트리거해, 서비스 시작을 허용하기 전에 컨테이너 이미지 서명을 검증할 수 있게 해줘요. 자세한 내용은 AWS Signer Developer Guide의 'Amazon ECS의 컨테이너 이미지 서명 검증'을 참고해요.
- Notation CLI로 수동 검증 – Notation CLI를 사용해 서명을 수동으로 검증할 수 있어요. 이 방법은 로컬 머신이나 검증 환경에 Notation CLI를 설치하고 구성해야 해요. Notation CLI로 이미지를 검증하는 자세한 방법은 AWS Signer Developer Guide의 '서명 후 이미지 로컬 검증'을 참고해요.
Notation 클라이언트 인증 구성하기
수동 서명을 사용하거나 Notation CLI로 서명을 수동으로 검증한다면, Notation 클라이언트가 Amazon ECR에 인증할 수 있도록 구성해야 해요. Notation 클라이언트를 설치한 호스트에 Docker도 설치되어 있다면, Notation은 Docker 클라이언트에 사용하는 것과 같은 인증 방법을 재사용해요. docker login 및 docker logout 명령을 사용하면 Notation의 sign 및 verify 명령이 그와 같은 자격 증명을 사용하게 되므로, Notation을 별도로 인증할 필요가 없어요. Notation 클라이언트 인증 구성에 대한 자세한 내용은 Notary Project 문서의 'OCI 호환 레지스트리로 인증'을 참고해요.
Docker나 Docker 자격 증명을 사용하는 다른 도구를 사용하지 않는다면, 자격 증명 저장소로 Amazon ECR Docker Credential Helper를 사용하는 것을 권장해요. Amazon ECR Credential Helper 설치 및 구성에 대한 자세한 내용은 'Amazon ECR Docker Credential Helper'를 참고해요.