이 문서에서는 Container Scanning API를 사용 설정하고, 이미지를 Artifact Registry에 푸시하고, 이미지에서 발견된 취약점 목록을 확인하는 방법을 설명합니다.
Artifact Analysis는 취약점 정보를 메모로 저장합니다. 이미지와 연결된 메모의 각 인스턴스에 대한 어커런스가 작성됩니다. 자세한 내용은 개요 및 가격 책정 문서를 참고하세요.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry and Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Google Cloud CLI를 설치합니다.
-
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry and Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Google Cloud CLI를 설치합니다.
-
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init - Artifact Registry에 Docker 저장소를 만들고 Java 코드가 포함된 컨테이너 이미지를 저장소에 푸시합니다. Artifact Registry에 익숙하지 않으면 Docker 빠른 시작을 참고하세요.
Cloud Build를 사용하여 Java 애플리케이션을 빌드하고 컨테이너화하는 방법은 Java 애플리케이션 빌드, 테스트, 컨테이너화를 참고하세요.
이미지 취약점 보기
Artifact Analysis는 새로운 이미지가 Artifact Registry에 업로드될 때 이를 스캔합니다. 이 스캔은 컨테이너의 패키지에 대한 정보를 추출합니다.
Google Cloud 콘솔, Google Cloud CLI 또는 Container Analysis API를 사용하여 Artifact Registry 이미지의 취약점 어커런스를 볼 수 있습니다. 이미지에 취약점이 있는 경우 세부정보를 가져올 수 있습니다.
Artifact Analysis는 지난 30일 이내에 가져온 이미지와 패키지를 계속 스캔합니다. 30일이 지나면 스캔된 이미지와 패키지의 메타데이터가 더 이상 업데이트되지 않으며 결과가 오래됩니다.
Artifact Analysis는 90일 넘게 비활성 상태인 메타데이터를 보관처리합니다. 보관된 이 메타데이터는 API를 사용해야만 평가할 수 있습니다. 오래된 메타데이터 또는 보관처리된 메타데이터가 있는 이미지를 가져와 다시 스캔할 수 있습니다. 메타데이터를 새로고침하는 데 최대 24시간이 걸릴 수 있습니다. 오래되었거나 보관처리된 메타데이터가 있는 패키지는 다시 스캔할 수 없습니다.
Google Cloud 콘솔에서 발생 보기
이미지의 취약점을 확인하려면 다음 단계를 따르세요.
저장소 목록을 가져옵니다.
저장소 목록에서 저장소를 클릭합니다.
이미지 목록에서 이미지 이름을 클릭합니다.
각 이미지 다이제스트의 취약점 합계가 취약점 열에 표시됩니다.
이미지의 취약점 목록을 보려면 취약점 열에 있는 링크를 클릭하세요.
스캔 결과 섹션에는 스캔된 패키지 유형, 총 취약점, 수정사항이 있는 취약점, 수정사항이 없는 취약점, 효과적인 심각도의 요약이 표시됩니다.
취약점 표에는 발견된 각 취약점의 Common Vulnerabilities and Exposures(CVE) 이름, 실제 심각도, Common Vulnerability Scoring System (CVSS) 점수, 수정사항 (사용 가능한 경우), 취약점이 포함된 패키지의 이름, 패키지 유형이 나열됩니다.
Google Cloud 콘솔에는 이 표에 페이지당 최대 1,200개의 취약점이 표시됩니다. 이러한 파일을 필터링하고 정렬하여 파일 확장자별로 특정 파일, 디렉터리, 레이어 또는 파일 유형을 확인할 수 있습니다.
특정 CVE에 대한 자세한 내용을 보려면 CVE 이름을 클릭하세요.
버전 번호 및 영향을 받는 위치와 같은 취약점 발생 세부정보를 보려면 취약점 이름이 있는 행에서 보기 또는 수정된 항목 보기를 클릭합니다. 수정사항이 없는 취약점의 경우 링크 텍스트는 보기이고, 수정사항이 적용된 취약점의 경우 수정된 항목 보기입니다.
특정 레이어의 취약점 보기
Artifact Analysis는 취약점이 포함된 패키지와 해당 레이어를 도입한 Docker 빌드 명령어를 식별하는 데 도움이 되는 레이어별 메타데이터를 제공합니다.Google Cloud 콘솔에서 레이어 기반 취약점 메타데이터를 보려면 다음 단계를 따르세요.
Artifact Registry에서 저장소 목록을 엽니다.
저장소 페이지에서 저장소를 클릭합니다.
저장소 세부정보 페이지에서 이미지를 클릭합니다.
이미지 버전 목록에서 이미지 다이제스트를 클릭합니다.
이미지 다이제스트 세부정보 페이지에서 취약점 탭을 클릭합니다.
레이어 기반 메타데이터를 사용할 수 있는 경우 Artifact Analysis는 레이어 표시줄에 선택 가능한 레이어 목록을 표시합니다.
레이어 목록을 보려면 레이어 드롭다운 메뉴를 클릭합니다.