주요 개념
접근 권한
Container Registry 서비스의 접근 권한은 프로젝트에 속한 사용자와 프로젝트에 속하지 않은 사용자에 따라 구분됩니다.
프로젝트에 속한 사용자
Container Registry 서비스는 IAM 권한 체계를 따릅니다. IAM 역할이 프로젝트 관리자 또는 프로젝트 멤버인 경우, 자동으로 Container Registry 관리자 역할이 부여됩니다. Container Registry 관리자 역할이 있는 사용자는 프로젝트 내 생성된 모든 리포지토리와 이미지에 대한 접근 권한을 보유하며, 이미지 Push(업로드)와 Pull(다운로드)을 할 수 있습니다.
프로젝트에 속하지 않은 사용자
같은 조직에 소속되어 있지만 해당 프로젝트에 속하지 않은 사용자에게도 리포지토리 멤버 또는 리포지토리 뷰어 권한을 부여할 수 있습니다. 단, 프로젝트에 속하지 않은 사용자는 Docker CLI와 같은 툴을 통해서 리포지토리에 접근할 수 있으며, 콘솔을 통한 접근은 가능하지 않습니다. 만약 조직에 상관없이 접근 가능한 리포지토리가 필요하다면, 공개 리포지토리를 생성해야 합니다.
리포지토리 접근 권한
리포지토리 접근 권한 | 설명 |
---|---|
리포지토리 멤버 | 이미지의 Push, Pull 작업 가능 |
리포지토리 뷰어 | 이미지 Pull 작업만 가능 가능 |
권한 설정과 관련한 자세한 설명은 리포지토리 권한 설정을 참고하시기 바랍니다.
이미지/태그 이력 관리
이미지에 대한 상세한 이력 관리와 태그 히스토리 관리 기능을 제공합니다. 사용자는 액션별 정보 추적, 태그 사용 이력 및 복구 등의 이미지 관리 기능을 활용하여 이미지의 활용 계획을 세울 수 있습니다. 이미지/태그 이력 관리와 관련한 자세한 설명은 이미지 관리를 참고하시기 바랍니다.
안전한 비공개 저장소 제공
컨테이너 이미지를 안전하게 보관하고 리포지토리별로 관리할 수 있도록 비공개 컨테이너 이미지 저장소를 제공합니다. IAM 연동을 통해 카카오클라우드 사용자 인증을 하여 리포지토리별로 이미지를 Push/Pull 하는 권한 관리를 할 수 있습니다.
콘솔 기반 리포지토리 관리
리포지토리는 이미지를 저장하기 위한 저장소이며, Container Registry에 이미지를 업로드하고 관리하기 위해서는 한 개 이상의 리포지토리가 필요합니다.
Container Registry는 콘솔(웹 브라우저) 기반으로 리포지토리를 생성하고 관리할 수 있습니다. 자세한 설명은 리포지토리 관리를 참고하시기 바랍니다.
편리한 공개 설정
카카오클라우드 인증 사용자는 별도의 인증 없이 URI만 알면 누구나 해당 리포지토리에 있는 이미지를 Pull을 할 수 있도록 설정할 수 있습니다.
콘솔 기반 이미지 관리
Docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 패키지입니다. Container Registry는 Docker를 기반으로 하고 있으며, 콘솔(웹 브라우저) 기반으로 Docker 컨테이너 이미지인 이미지를 관리할 수 있습니다. 자세한 설명은 이미지 관리를 확인하시기 바랍니다.
이미지 Push/Pull
이미지는 계정별로 Push/Pull 권한 제어가 가능하며, Push는 Container Registry로 이미지를 내보내기(업로드)하고, Pull은 대상 서버로 해당 이미지를 가져오기(다운로드)합니다. 이는 가장 기본적인 Container Registry의 작업입니다. 자세한 설명은 이미지 Push/Pull을 참고하시기 바랍니다.
콘솔 기반 태그 관리
태그는 이미지의 특정 버전에 적용할 수 있는 라벨이며, 이미지에 여러 태그를 추가할 수 있습니다. Container Registry는 콘솔(웹 브라우저) 기반으로 태그를 관리할 수 있습니다.
이미지 URI 구조
이미지 URI 구조는 https://{프로젝트 고유 ID}.{리전}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}
으로 구성됩니다.
취약점 분석
저장소에 보관된 이미지 혹은 저장소에 업로드될 이미지의 취약점을 감지할 수 있습니다. 이렇게 지속적으로 업데이트되는 취약점 데이터베이스를 활용하여 배포 전 안전한 이미지인지 확인할 수 있습니다. 또한, 알림 설정을 통해 취약점 분석 결과를 이메일이나 카카오워크(지원 예정)로 받아 볼 수 있습니다.
이미지 스캔
Container Registry는 하루 한 번씩 이미지 스캔을 할 수 있으며, 이미지 스캔 기능은 오픈소스 컨테이너 취약점 스캐너인 Aquasecurity사의 Trivy를 사용해 CVE(Common Vulnerabilities and Exposures) 기반으로 보안 취약점을 식별하고 스캔 결과를 목록 형식으로 제공합니다. 자세한 설명은 이미지 스캔하기(취약점 분석)을 참고하시기 바랍니다.
자동스캔 설정
새 리포지토리를 생성하거나 기존 리포지토리의 이미지 스캔 설정 항목에서 이미지가 푸시될 때 자동 스캔이 실행되도록 설정할 수 있습니다. 필요시 자동이 아닌 수동 스캔 설정도 가능합니다. 자세한 설명은 이미지 자동 스캔을 참고하시기 바랍니다.
리소스 쿼터
Container Registry에서 지원하는 리포지토리, 이미지, 태그에 대한 리소스 서비스 쿼터 정보는 다음과 같습니다. 쿼터 값을 초과한 항목은 더 이상 추가할 수 없습니다.
쿼터 값
항목 | 기준 | 쿼터 값 |
---|---|---|
리포지토리 | 프로젝트 당 | 1,000개 |
이미지 | 리포지토리 당 | 10,000개 |
태그 | 이미지 당 | 1,000개 |
가비지 컬렉션
스토리지 사용량 관리를 위해 가비지 컬렉션(Garbage Collection) 기능을 제공합니다. 가비지 컬렉션을 실행하면 참조된 이미지가 없는 매니페스트의 레이어 데이터를 삭제할 수 있습니다.