自动扫描操作系统软件包
了解如何启用自动扫描、将容器映像推送到 Artifact Registry,以及查看在映像中发现的所有漏洞的列表。
每次有映像推送到 Artifact Registry 时,Artifact Analysis 都会扫描是否存在漏洞。平台管理员和应用开发者可以使用此自动扫描功能来帮助识别其软件交付流水线中的风险。
本快速入门使用一个简单的公开软件包来演示一种软件包扫描。默认情况下,Artifact Analysis 会在您启用扫描 API 后扫描多种软件包类型中的漏洞。支持的软件包类型包括:操作系统、Go、Java (Maven)、Python 和 Node.js (npm)。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com
在 Artifact Registry 中创建 Docker 代码库
创建 Docker 代码库以存储此快速入门的示例映像。
打开 Google Cloud 控制台中的制品库页面。
点击创建代码库。
在创建代码库页面上,输入以下设置:
- 名称:
quickstart-docker-repo
- 格式:Docker
- 模式:标准
- 位置类型:区域
- 区域:
us-central1
- 名称:
点击创建。
您会看到代码库页面。您的 quickstart-docker-repo
代码库会添加到代码库列表中。
配置身份验证
如需使用 Artifact Registry 推送或拉取映像,您必须将 Docker 配置为使用 Google Cloud CLI 对向 Artifact Registry 发出的请求进行身份验证。
在 Cloud Shell 或本地 shell 中,为区域 us-central1
中的 Docker 代码库设置身份验证:
gcloud auth configure-docker us-central1-docker.pkg.dev
获取软件包
切换到您要保存容器映像的目录。
将图片复制到本地目录中。例如,您可以使用 docker 从 Docker Hub 拉取最新的 Ubuntu 映像。
docker pull ubuntu:latest
使用代码库名称标记软件包
如需将软件包推送到 Artifact Registry,您需要配置 docker push
命令,以将映像推送到特定位置。
运行以下命令以将映像标记为 quickstart-image:tag1
:
docker tag ubuntu:latest \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
地点
- PROJECT 是您的 Google Cloud 项目 ID。如果您的项目 ID 包含英文冒号 (
:
),请参阅网域级项目。 us-central1
是 Artifact Registry 制品库区域。docker.pkg.dev
是 Docker 代码库的主机名。quickstart-image
是您要在代码库中使用的映像名称。该映像名称可能与本地映像名称不同。tag1
是要添加到 Docker 映像的标记。如果您没有指定标记,Docker 将应用默认标记latest
。
将映像推送到 Artifact Registry
Artifact Analysis 会在有新映像上传到 Artifact Registry 时自动扫描这些映像。
如需将映像推送到 Artifact Registry 中的 Docker 仓库,请运行以下命令:
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
将 PROJECT 替换为您的 Google Cloud 项目 ID。如果您的项目 ID 包含英文冒号 (:
),请参阅网域级项目。
查看漏洞扫描结果
如需查看映像中的漏洞,请执行以下操作:
在 Artifact Analysis 控制台中打开 Artifact Registry 代码库列表。
在代码库列表中,点击一个代码库。
点击映像名称。
您会看到图片的摘要列表。
每个映像摘要的漏洞总数显示在漏洞列中。
点击漏洞列中链接的漏洞总数。
您会看到漏洞列表。
漏洞列表会显示此映像已扫描的次数、漏洞严重级别、可修复情况、包含此漏洞的软件包的名称以及软件包类型。
如需详细了解漏洞来源中的特定漏洞,请点击名称列中链接的 CVE 标识符。
查看结果的其他方式
Google Cloud 控制台最多会显示 1,200 个漏洞。如果您的映像有超过 1200 个漏洞,请使用 gcloud 或API 查看完整列表。
清理
为避免因本页面中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的 Google Cloud 项目。
如果您为本指南创建了一个新项目,现在可以删除该项目了。- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.