컨테이너 권장사항

이 페이지에서는 컨테이너 이미지 빌드 및 실행을 위한 권장사항에 대한 정보를 제공합니다.

컨테이너 빌드

컨테이너를 빌드하는 접근 방식은 빌드 및 배포 속도와 이미지 유지보수에 필요한 작업에 영향을 줄 수 있습니다.

이미지 빌드에 대한 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을 사용하여 배포 정책을 정의하고 시행하는 방법에 대해 알아보세요.

소프트웨어 공급망을 보호하는 방법에 대해 설명하는 동영상도 시청할 수 있습니다.