

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

# 使用 Amazon Inspector 匯出 SBOMs
<a name="sbom-export"></a>

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

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

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

## Amazon Inspector 格式
<a name="sbom-formats"></a>

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

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

### 來自 Amazon Inspector 的 CycloneDX 1.4 SBOM 格式範例
<a name="cyclone-schema"></a>

```
                    {
  "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"
        }
      ]
    }
  ]
}
```

### 來自 Amazon Inspector 的 SPDX 2.3 SBOM 格式範例
<a name="cyclone-schema"></a>

```
{
	"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的篩選條件
<a name="sbom-filters"></a>

匯出 SBOMs時，您可以包含篩選條件，以建立特定資源子集的報告。如果您未提供篩選條件，則會匯出所有作用中的支援資源SBOMs。如果您是委派管理員，這也包含所有成員的資源。可用的篩選條件如下：
+  **AccountID** — 此篩選條件可用於匯出與特定帳戶 ID 關聯之任何資源SBOMs。
+  **EC2 執行個體標籤** — 此篩選條件可用於匯出具有特定標籤之 EC2 執行個體的 SBOMs。
+ **函數名稱** — 此篩選條件可用於匯出特定 Lambda 函數SBOMs。
+  **映像標籤** — 此篩選條件可用於匯出具有特定標籤之容器映像SBOMs。
+  **Lambda 函數標籤** — 此篩選條件可用於匯出具有特定標籤的 Lambda 函數的 SBOMs。
+  **資源類型** — 此篩選條件可用於篩選資源類型：EC2/ECR/Lambda。
+  **資源 ID** — 此篩選條件可用於匯出特定資源的 SBOM。
+  **儲存庫名稱** — 此篩選條件可用來產生特定儲存庫中容器映像SBOMs。

## 設定和匯出 SBOMs
<a name="sbom-create"></a>

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

**先決條件**
+ Amazon Inspector 主動監控的支援資源。
+ 設定政策的 Amazon S3 儲存貯體，允許 Amazon Inspector 將物件新增至其中。如需設定政策的資訊，請參閱[設定匯出許可](findings-managing-exporting-reports.md#findings-managing-exporting-permissions)。
+ 設定政策的 AWS KMS 金鑰，允許 Amazon Inspector 使用 來加密您的報告。如需設定政策的資訊，請參閱[設定要匯出的 AWS KMS 金鑰](findings-managing-exporting-reports.md#findings-managing-exporting-KMS)。

**注意**  
如果您先前已為[問題清單匯出](findings-managing-exporting-reports.md)設定 Amazon S3 儲存貯體和 AWS KMS 金鑰，則可以使用相同的儲存貯體和金鑰進行 SBOM 匯出。

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

------
#### [ Console ]

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

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

1.  在導覽窗格中，選擇**匯出 SBOMs**。

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

1. 在**匯出設定**下，選取您要用於 SBOM 的格式。

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

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

------
#### [ API ]
+ 若要以程式設計方式匯出資源SBOMs，請使用 Amazon Inspector API 的 [CreateSbomExport](https://docs.aws.amazon.com/inspector/v2/APIReference/API_CreateSbomExport.html) 操作。

  在您的請求中，使用 `reportFormat` 參數來指定 SBOM 輸出格式，選擇 `CYCLONEDX_1_4`或 `SPDX_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_4`或 `SPDX_2_3`。然後將 s3 目的地{{`user input placeholders`}}的 取代為要匯出的 S3 儲存貯體名稱、用於 S3 中輸出的字首，以及用於加密報告的 KMS 金鑰的 ARN。

------