查看及篩選 SBOM

本文說明如何存取軟體物料清單 (SBOM) 記錄和相關依附元件中繼資料,協助您瞭解儲存在 Artifact Registry 中的容器映像檔元件。

事前準備

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Container Analysis, Artifact Registry APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Container Analysis, Artifact Registry APIs.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. 將 SBOM 儲存在 Cloud Storage 中。請參閱產生 SBOM 的操作說明。
  15. 必要的角色

    如要取得查看 SBOM 資料和篩選結果所需的權限,請要求管理員為您授予專案的下列 IAM 角色:

    如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

    在 Google Cloud 控制台中查看 SBOM

    如要查看儲存在 Artifact Registry 中的容器映像檔的 SBOM 和相關依附元件中繼資料,請按照下列步驟操作:

    1. 開啟 Artifact Registry 的「Repositories」(存放區) 頁面。

      開啟「Repositories」(存放區) 頁面

      這個頁面會顯示存放區清單。

    2. 在存放區清單中,按一下存放區名稱。

      「Repository details」(存放區詳細資料) 頁面隨即開啟,並顯示映像檔清單。

    3. 在圖片清單中,按一下圖片名稱。

      這個頁面會顯示圖片摘要清單。

    4. 在映像檔摘要清單中,按一下摘要名稱。

      頁面會顯示一列分頁,其中「總覽」分頁已開啟,並顯示格式、位置、存放區、虛擬大小和標記等詳細資料。

    5. 在分頁列中,按一下「Dependencies」分頁。

      「依附元件」分頁隨即開啟,並顯示下列資訊:

      • SBOM 專區
      • 「授權」專區
      • 可篩選的依附元件清單

    SBOM

    「SBOM」SBOM摘要部分會顯示下列資訊:

    • 檔案:可點選的 SBOM 檔案名稱,點選後會開啟 SBOM 在 Cloud Storage 中的儲存位置。
    • 類型:使用的 SBOM 標準類型,例如軟體套件資料交換 (SPDX) 或 Cyclone。
    • 版本:使用的 SBOM 標準版本。
    • 產生來源:SBOM 資料的來源,無論是由構件分析產生,還是手動上傳。

    授權

    「授權」摘要部分會顯示名為「最常見的授權」的長條圖。這代表依附元件資訊中最常出現的授權類型。將指標懸停在圖表中的長條上,控制台就會顯示該授權類型執行個體的確切數量。

    依附元件

    依附元件清單會顯示映像檔摘要的內容,包括:

    • 套件名稱
    • 套件版本
    • 套件類型
    • 授權類型

    您可以依據上述任一類別篩選依附元件清單。

    在 Cloud Build 中查看 SBOM

    如果您使用 Cloud Build,可以在 Google Cloud 控制台的「安全性洞察」側邊面板中查看映像檔中繼資料。

    「安全性深入分析」側邊面板會顯示儲存在 Artifact Registry 中的構件,以及建構安全資訊的整體概況。如要進一步瞭解側邊面板,以及如何使用 Cloud Build 協助保護軟體供應鏈,請參閱「查看建構作業安全洞察資訊」。

    使用 gcloud CLI 查看 SBOM

    使用 gcloud artifacts sbom list 指令,搜尋儲存在 Cloud Storage 中的 SBOM。這項搜尋功能適用於 Cloud Storage 中的所有 SBOM,包括 Artifact Analysis 產生的 SBOM,以及您選擇使用支援格式從其他來源上傳的 SBOM。

    您可以使用 gcloud 指令搭配篩選器,縮小結果範圍,並著重於與特定安全性疑慮或法規遵循要求最相關的 SBOM。

    舉例來說,下列指令示範如何取得儲存在 Artifact Registry 中的 Docker 映像檔 my-image 的 SBOM 相關資訊:

    gcloud artifacts sbom list \
        --resource="us-east1-docker.pkg.dev/my-project/my-repo/my-image:1.0"
    

    其中:

    • --resource 指定要列出 SBOM 檔案參照的映像檔資源 URI。

    輸出內容包含下列項目:

    • SBOM 的 Cloud Storage 位置。使用 Cloud Storage 位置,您可以在 gcloud CLI 中執行 gcloud storage cat 指令,查看 SBOM。
    • SBOM 仍保留在 Cloud Storage bucket 中,還是已移除。
    • SBOM 的雜湊值,可用於驗證 SBOM 是否經過修改。

    篩選器

    您可以使用下列任一選用旗標,篩選特定 SBOM:

    旗標 目的 輸入值
    --dependency 列出資源安裝指定套件的所有 SBOM 檔案參照。請參閱支援的套件類型 已安裝套件的名稱
    --resource 列出與特定映像檔相關的 SBOM 檔案參照。 資源 URI
    --resource-prefix 列出與資源路徑前置字串相關的 SBOM 檔案參照。 資源路徑,將做為搜尋的前置字串

    篩選條件範例

    依資源 URI 篩選結果:

    gcloud artifacts sbom list \
    --resource="us-east1-docker.pkg.dev/project/repo/my-image@sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356"
    

    依資源前置字串篩選:

    gcloud artifacts sbom list \
    --resource-prefix="us-east1-docker.pkg.dev/project/repo"
    

    限制

    後續步驟