使用 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) 匯出中包含這些未解決的雜湊。雖然無法掃描這些套件是否有漏洞,但其雜湊值可在匯出的元件清單中使用。

注意

目前,Amazon Inspector 不支援匯出適用於 Windows Amazon EC2 執行個體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

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