이 페이지에서는 컨테이너 이미지 빌드 및 실행을 위한 권장사항에 대한 정보를 제공합니다.
컨테이너 빌드
컨테이너를 빌드하는 접근 방식은 빌드 및 배포 속도와 이미지 유지보수에 필요한 작업에 영향을 줄 수 있습니다.
이미지 빌드에 대한 Docker 권장사항을 읽어보세요.
공개 레지스트리 고려사항
다음과 같은 경우 신중한 고려를 요합니다.
- 공개 소스에서 이미지 사용
Docker Hub와 같은 공개 소스의 이미지를 사용하면 조직에서 소프트웨어 공급망에 제어할 수 없는 코드를 도입하게 됩니다. 위험을 완화하기 위해 다음을 수행할 수 있습니다.
- 자체 이미지를 빌드하여 이미지 콘텐츠를 제어합니다.
- 표준화된 기본 이미지를 사용하고 해당 이미지 위에 빌드합니다.
- 취약점에 대한 이미지를 검사하고 식별된 취약점을 해결합니다.
- 배포하는 이미지에 표준 및 정책을 적용합니다.
- 레지스트리 공개 선택
allUsers
ID에 레지스트리 스토리지 버킷에 대한 읽기 액세스 권한을 부여하여 Google Cloud 프로젝트의 레지스트리를 공개로 설정할 수 있습니다.모든 사용자에게 Google Cloud 계정이 있는 경우 대신
allAuthenticatedUsers
ID를 사용하여 인증된 사용자로 액세스를 제한할 수 있습니다.레지스트리를 공개로 설정하기 전에 다음 가이드라인을 고려하세요.
사용하지 않는 이미지 삭제
사용하지 않는 컨테이너 이미지를 삭제해서 스토리지 비용을 줄이고 오래된 소프트웨어를 사용할 때 발생하는 위험을 줄입니다. gcr-cleaner를 포함하여 이 태스크에 도움이 되는 여러 도구가 있습니다. gcr-cleaner 도구는 공식 Google 제품이 아닙니다.
컨테이너 보안 평가
인터넷 보안 센터(CIS)에는 Docker 컨테이너의 보안을 평가하는 Docker Benchmark가 있습니다.
Docker는 Docker Bench for Security라는 오픈소스 스크립트를 제공합니다. 이 스크립트를 사용하면 CIS Docker Benchmark를 기준으로 실행 중인 Docker 컨테이너의 유효성을 검사할 수 있습니다.
Docker Bench For Security는 CIS Docker Benchmark의 여러 항목을 확인하는 데 도움이 되지만 모든 항목을 스크립트로 확인할 수 있는 것은 아닙니다. 예를 들어 스크립트는 컨테이너의 호스트가 강화되었는지, 컨테이너 이미지에 개인 정보가 포함되어 있는지 확인할 수 없습니다. 벤치마크의 모든 항목을 검토하고 추가 확인이 필요한 사항을 파악하세요.
배포 보호
Google Cloud에서 보안 소프트웨어 공급망을 구축하고 취약점 스캔 및 Binary Authorization을 사용하여 배포 정책을 정의하고 시행하는 방법에 대해 알아보세요.
소프트웨어 공급망을 보호하는 방법에 대해 설명하는 동영상도 시청할 수 있습니다.