View a markdown version of this page

使用 Amazon Inspector 匯出 SBOMs - Amazon Inspector

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon Inspector 匯出 SBOMs

軟體物料清單 (SBOM) 是程式碼庫中所有開放原始碼和第三方軟體元件的巢狀清查。Amazon Inspector 為環境中的個別資源提供 SBOMs。您可以使用 Amazon Inspector 主控台或 Amazon Inspector API 為您的資源產生 SBOMs。您可以匯出 Amazon Inspector 支援和監控的所有資源的 SBOMs。匯出SBOMs 會提供軟體供應的相關資訊。您可以透過評估環境的涵蓋範圍來檢閱資源的狀態 AWS。本節說明如何設定和匯出 SBOMs。

有些軟體元件和套件管理員會使用版本範圍或動態參考,而不是相依性的固定版本。此實務會建立未解決的雜湊,其中 Amazon Inspector 會識別雜湊或 jar 檔案,但無法將其對應至特定名稱和版本以進行漏洞偵測。Amazon Inspector 現在會在軟體物料清單 (SBOM) 匯出中包含這些未解決的雜湊。雖然無法掃描這些套件是否有漏洞,但其雜湊值可在匯出的元件清單中使用。

提示

自 2026 年 2 月 28 日起,Amazon Inspector 現在支援匯出無代理程式 Amazon EC2 Windows 執行個體SBOMs。目前不支援匯出代理程式型 Amazon EC2 Windows 執行個體SBOMs。

Amazon Inspector 格式

Amazon Inspector 支援以 CycloneDX 1.4SPDX 2.3 相容格式匯出 SBOMSBOMs 。Amazon Inspector 會將 SBOMs為您選擇的 Amazon S3 儲存貯體JSON的檔案。

注意

從 Amazon Inspector 匯出的 SPDX 格式與使用 SPDX 2.3 的系統相容,但不包含 Creative Commons Zero (CC0) 欄位。這是因為包含此欄位可讓使用者重新分發或編輯材料。

{ "bomFormat": "CycloneDX", "specVersion": "1.4", "version": 1, "metadata": { "timestamp": "2023-06-02T01:17:46Z", "component": null, "properties": [ { "name": "imageId", "value": "sha256:c8ee97f7052776ef223080741f61fcdf6a3a9107810ea9649f904aa4269fdac6" }, { "name": "architecture", "value": "arm64" }, { "name": "accountId", "value": "111122223333" }, { "name": "resourceType", "value": "AWS_ECR_CONTAINER_IMAGE" } ] }, "components": [ { "type": "library", "name": "pip", "purl": "pkg:pypi/pip@22.0.4?path=usr/local/lib/python3.8/site-packages/pip-22.0.4.dist-info/METADATA", "bom-ref": "98dc550d1e9a0b24161daaa0d535c699" }, { "type": "application", "name": "libss2", "purl": "pkg:dpkg/libss2@1.44.5-1+deb10u3?arch=ARM64&epoch=0&upstream=libss2-1.44.5-1+deb10u3.src.dpkg", "bom-ref": "2f4d199d4ef9e2ae639b4f8d04a813a2" }, { "type": "application", "name": "liblz4-1", "purl": "pkg:dpkg/liblz4-1@1.8.3-1+deb10u1?arch=ARM64&epoch=0&upstream=liblz4-1-1.8.3-1+deb10u1.src.dpkg", "bom-ref": "9a6be8907ead891b070e60f5a7b7aa9a" }, { "type": "application", "name": "mawk", "purl": "pkg:dpkg/mawk@1.3.3-17+b3?arch=ARM64&epoch=0&upstream=mawk-1.3.3-17+b3.src.dpkg", "bom-ref": "c2015852a729f97fde924e62a16f78a5" }, { "type": "application", "name": "libgmp10", "purl": "pkg:dpkg/libgmp10@6.1.2+dfsg-4+deb10u1?arch=ARM64&epoch=2&upstream=libgmp10-6.1.2+dfsg-4+deb10u1.src.dpkg", "bom-ref": "52907290f5beef00dff8da77901b1085" }, { "type": "application", "name": "ncurses-bin", "purl": "pkg:dpkg/ncurses-bin@6.1+20181013-2+deb10u3?arch=ARM64&epoch=0&upstream=ncurses-bin-6.1+20181013-2+deb10u3.src.dpkg", "bom-ref": "cd20cfb9ebeeadba3809764376f43bce" } ], "vulnerabilities": [ { "id": "CVE-2022-40897", "affects": [ { "ref": "a74a4862cc654a2520ec56da0c81cdb3" }, { "ref": "0119eb286405d780dc437e7dbf2f9d9d" } ] } ] }
{ "name": "409870544328/EC2/i-022fba820db137c64/ami-074ea14c08effb2d8", "spdxVersion": "SPDX-2.3", "creationInfo": { "created": "2023-06-02T21:19:22Z", "creators": [ "Organization: 409870544328", "Tool: Amazon Inspector SBOM Generator" ] }, "documentNamespace": "EC2://i-022fba820db137c64/AMAZON_LINUX_2/null/x86_64", "comment": "", "packages": [{ "name": "elfutils-libelf", "versionInfo": "0.176-2.amzn2", "downloadLocation": "NOASSERTION", "sourceInfo": "/var/lib/rpm/Packages", "filesAnalyzed": false, "externalRefs": [{ "referenceCategory": "PACKAGE-MANAGER", "referenceType": "purl", "referenceLocator": "pkg:rpm/elfutils-libelf@0.176-2.amzn2?arch=X86_64&epoch=0&upstream=elfutils-libelf-0.176-2.amzn2.src.rpm" }], "SPDXID": "SPDXRef-Package-rpm-elfutils-libelf-ddf56a513c0e76ab2ae3246d9a91c463" }, { "name": "libcurl", "versionInfo": "7.79.1-1.amzn2.0.1", "downloadLocation": "NOASSERTION", "sourceInfo": "/var/lib/rpm/Packages", "filesAnalyzed": false, "externalRefs": [{ "referenceCategory": "PACKAGE-MANAGER", "referenceType": "purl", "referenceLocator": "pkg:rpm/libcurl@7.79.1-1.amzn2.0.1?arch=X86_64&epoch=0&upstream=libcurl-7.79.1-1.amzn2.0.1.src.rpm" }, { "referenceCategory": "SECURITY", "referenceType": "vulnerability", "referenceLocator": "CVE-2022-32205" } ], "SPDXID": "SPDXRef-Package-rpm-libcurl-710fb33829bc5106559bcd380cddb7d5" }, { "name": "hunspell-en-US", "versionInfo": "0.20121024-6.amzn2.0.1", "downloadLocation": "NOASSERTION", "sourceInfo": "/var/lib/rpm/Packages", "filesAnalyzed": false, "externalRefs": [{ "referenceCategory": "PACKAGE-MANAGER", "referenceType": "purl", "referenceLocator": "pkg:rpm/hunspell-en-US@0.20121024-6.amzn2.0.1?arch=NOARCH&epoch=0&upstream=hunspell-en-US-0.20121024-6.amzn2.0.1.src.rpm" }], "SPDXID": "SPDXRef-Package-rpm-hunspell-en-US-de19ae0883973d6cea5e7e079d544fe5" }, { "name": "grub2-tools-minimal", "versionInfo": "2.06-2.amzn2.0.6", "downloadLocation": "NOASSERTION", "sourceInfo": "/var/lib/rpm/Packages", "filesAnalyzed": false, "externalRefs": [{ "referenceCategory": "PACKAGE-MANAGER", "referenceType": "purl", "referenceLocator": "pkg:rpm/grub2-tools-minimal@2.06-2.amzn2.0.6?arch=X86_64&epoch=1&upstream=grub2-tools-minimal-2.06-2.amzn2.0.6.src.rpm" }, { "referenceCategory": "SECURITY", "referenceType": "vulnerability", "referenceLocator": "CVE-2021-3981" } ], "SPDXID": "SPDXRef-Package-rpm-grub2-tools-minimal-c56b7ea76e5a28ab8f232ef6d7564636" }, { "name": "unixODBC-devel", "versionInfo": "2.3.1-14.amzn2", "downloadLocation": "NOASSERTION", "sourceInfo": "/var/lib/rpm/Packages", "filesAnalyzed": false, "externalRefs": [{ "referenceCategory": "PACKAGE-MANAGER", "referenceType": "purl", "referenceLocator": "pkg:rpm/unixODBC-devel@2.3.1-14.amzn2?arch=X86_64&epoch=0&upstream=unixODBC-devel-2.3.1-14.amzn2.src.rpm" }], "SPDXID": "SPDXRef-Package-rpm-unixODBC-devel-1bb35add92978df021a13fc9f81237d2" } ], "relationships": [{ "spdxElementId": "SPDXRef-DOCUMENT", "relatedSpdxElement": "SPDXRef-Package-rpm-elfutils-libelf-ddf56a513c0e76ab2ae3246d9a91c463", "relationshipType": "DESCRIBES" }, { "spdxElementId": "SPDXRef-DOCUMENT", "relatedSpdxElement": "SPDXRef-Package-rpm-yajl-8476ce2db98b28cfab2b4484f84f1903", "relationshipType": "DESCRIBES" }, { "spdxElementId": "SPDXRef-DOCUMENT", "relatedSpdxElement": "SPDXRef-Package-rpm-unixODBC-devel-1bb35add92978df021a13fc9f81237d2", "relationshipType": "DESCRIBES" } ], "SPDXID": "SPDXRef-DOCUMENT" }

SBOMs的篩選條件

匯出 SBOMs時,您可以包含篩選條件,以建立特定資源子集的報告。如果您未提供篩選條件,則會匯出所有作用中的支援資源SBOMs。如果您是委派管理員,這也包含所有成員的資源。可用的篩選條件如下:

  • AccountID — 此篩選條件可用於匯出與特定帳戶 ID 關聯之任何資源SBOMs。

  • EC2 執行個體標籤 — 此篩選條件可用於匯出具有特定標籤之 EC2 執行個體的 SBOMs。

  • 函數名稱 — 此篩選條件可用於匯出特定 Lambda 函數SBOMs。

  • 映像標籤 — 此篩選條件可用於匯出具有特定標籤之容器映像SBOMs。

  • Lambda 函數標籤 — 此篩選條件可用於匯出具有特定標籤的 Lambda 函數的 SBOMs。

  • 資源類型 — 此篩選條件可用於篩選資源類型:EC2/ECR/Lambda。

  • 資源 ID — 此篩選條件可用於匯出特定資源的 SBOM。

  • 儲存庫名稱 — 此篩選條件可用來產生特定儲存庫中容器映像SBOMs。

設定和匯出 SBOMs

若要匯出 SBOMs,您必須先設定 Amazon S3 儲存貯體和允許 Amazon Inspector 使用的 AWS KMS 金鑰。您可以使用篩選條件匯出特定資源子集的 SBOMs。若要匯出 AWS 組織中多個帳戶的 SBOMs,請在以 Amazon Inspector 委派管理員身分登入時遵循以下步驟。

先決條件
  • Amazon Inspector 主動監控的支援資源。

  • 設定政策的 Amazon S3 儲存貯體,允許 Amazon Inspector 將物件新增至其中。如需設定政策的資訊,請參閱設定匯出許可

  • 設定政策的 AWS KMS 金鑰,允許 Amazon Inspector 使用 來加密您的報告。如需設定政策的資訊,請參閱設定要匯出的 AWS KMS 金鑰

注意

如果您先前已為問題清單匯出設定 Amazon S3 儲存貯體和 AWS KMS 金鑰,則可以使用相同的儲存貯體和金鑰進行 SBOM 匯出。

選擇您偏好的存取方法以匯出 SBOM。

Console
  1. 使用您的登入資料登入,然後開啟位於 https://https://console.aws.amazon.com/inspector/v2/home 的 Amazon Inspector 主控台。

  2. 使用頁面右上角的 AWS 區域 選取器,選取具有您要匯出 SBOM 資源的區域。

  3. 在導覽窗格中,選擇匯出 SBOMs

  4. (選用) 在匯出 SBOMs頁面中,使用新增篩選條件功能表選取要為其建立報告的資源子集。如果未提供篩選條件,Amazon Inspector 會匯出所有作用中資源的報告。如果您是委派管理員,這將包含組織中所有作用中的資源。

  5. 匯出設定下,選取您要用於 SBOM 的格式。

  6. 輸入 Amazon S3 URI 或選擇瀏覽 Amazon S3 以選取要存放 SBOM 的 Amazon S3 位置。

  7. 輸入為 Amazon Inspector 設定的AWS KMS 金鑰,以用於加密您的報告。

API
  • 若要以程式設計方式匯出資源SBOMs,請使用 Amazon Inspector API 的 CreateSbomExport 操作。

    在您的請求中,使用 reportFormat 參數來指定 SBOM 輸出格式,選擇 CYCLONEDX_1_4SPDX_2_3。參數為必要s3Destination參數,您必須指定使用允許 Amazon Inspector 寫入政策設定的 S3 儲存貯體。選擇性地使用resourceFilterCriteria參數來限制特定資源的報告範圍。

AWS CLI
  • 若要使用 AWS Command Line Interface 執行下列命令匯出資源SBOMs:

    aws inspector2 create-sbom-export --report-format FORMAT --s3-destination bucketName=amzn-s3-demo-bucket1,keyPrefix=PREFIX,kmsKeyArn=arn:aws:kms:Region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    在您的請求中,以您選擇的格式取代 FORMATCYCLONEDX_1_4SPDX_2_3。然後將 s3 目的地user input placeholders的 取代為要匯出的 S3 儲存貯體名稱、用於 S3 中輸出的字首,以及用於加密報告的 KMS 金鑰的 ARN。