查看许可和依赖项

本文档介绍如何查看和过滤 Artifact Analysis 通过自动扫描检测到的依赖项元数据。

当您启用扫描 API 以识别容器映像中的漏洞时,Artifact Analysis 还会收集有关映像中使用的依赖项和许可的信息。

您可以使用此元数据来了解容器映像的组件并解决安全问题。

Artifact Analysis 可为存储在 Docker 格式 Artifact Registry 仓库中的容器映像提供操作系统软件包 和 受支持的语言软件包的依赖项和许可检测。如需了解更多 信息,请参阅容器扫描概览

与漏洞信息类似,每次将映像推送到 Artifact Registry 时,系统都会生成许可和依赖项元数据,然后将其存储在 Artifact Analysis 中。

只要映像和软件包在过去 30 天内被拉取过,Artifact Analysis 就会继续扫描它们。30 天后,扫描的映像和软件包的元数据将不再更新,结果将过时。

Artifact Analysis 会归档过时超过 90 天的元数据。只能使用 API 评估此归档的元数据。 您可以通过拉取映像来重新扫描包含过时或归档元数据的映像。 刷新元数据最多可能需要 24 小时。无法重新扫描包含过时或归档元数据的软件包。

准备工作

  1. 登录您的 Google 账号。

    如果您还没有 Google 账号,请 注册新账号

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Container Analysis, Artifact Registry APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 安装 Google Cloud CLI。

  6. 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

  7. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  8. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Container Analysis, Artifact Registry APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. 安装 Google Cloud CLI。

  12. 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

  13. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  14. 在 Artifact Registry 中拥有 Docker 仓库。请参阅有关 生成 SBOM 的说明

所需的角色

如需获得查看 SBOM 数据和过滤结果所需的权限,请让管理员向您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

在 Google Cloud 控制台中查看许可和依赖项

  1. 打开 Artifact Registry 仓库 页面。

    打开“代码库”页面

    该页面会显示您的仓库列表。

  2. 在仓库列表中,点击仓库名称。

    仓库详情 页面随即打开,并显示您的映像列表。

  3. 在映像列表中,点击映像名称。

    该页面会显示您的映像摘要列表。

  4. 在映像摘要列表中,点击摘要名称。

    该页面会显示一行标签页,其中概览 标签页处于打开状态,显示格式、位置、仓库、虚拟大小和标签等详细信息。

  5. 在该行标签页中,点击依赖项 标签页。

    依赖项标签页随即打开,并显示以下信息:

    • SBOM 部分
    • 许可部分
    • 可过滤的依赖项列表

SBOM

如果您使用 Artifact Analysis 生成或上传软件物料清单 (SBOM),则 SBOM 详细信息会显示在此部分中。SBOM 不会像许可和依赖项信息那样自动生成。如需了解如何在 SBOM 概览中添加 SBOM,请参阅此文档。

许可

许可 摘要部分会显示一个名为最常见许可 的条形图。此图表示在您的依赖项信息中出现频率最高的许可类型。将指针悬停在图表中的条形上时,控制台会显示该许可类型的实例的确切计数。

依赖项

依赖项列表会显示映像摘要的内容,包括:

  • 软件包名称
  • 软件包版本
  • 软件包类型
  • 许可类型

您可以按任意类别过滤依赖项列表。

在 Cloud Build 中查看许可和依赖项

如果您使用的是 Cloud Build,则可以在 安全性数据洞见 侧边栏中查看映像元数据,该侧边栏位于 Google Cloud 控制台中。

安全性数据洞见 侧边栏提供了存储在 Artifact Registry 中的工件的构建安全信息的高级概览。如需详细了解 该侧边栏以及如何使用 Cloud Build 来帮助保护您的 软件供应链,请参阅 查看构建安全性数据洞见

限制

只有在自动扫描的情况下,才能获取有关许可和依赖项的信息。按需扫描不支持此功能。

后续步骤