Amazon Inspector による SBOM のエクスポート
ソフトウェア部品表 (SBOM) は、コードベースに含まれるすべてのオープンソースソフトウェアコンポーネントとサードパーティーソフトウェアコンポーネントのネストされたインベントリです。Amazon Inspector は、環境内の個々のリソースに SBOM を提供します。Amazon Inspector コンソールまたは Amazon Inspector API を使用して、リソースの SBOM を生成できます。Amazon Inspector がサポートおよびモニタリングしているすべてのリソースの SBOM をエクスポートできます。エクスポートされた SBOM は、ソフトウェアサプライに関する情報を提供します。AWS 環境のカバレッジを評価することで、リソースのステータスを確認できます。このセクションでは、SBOM を設定し、エクスポートする方法について説明します。
注記
現在のところ、Amazon Inspector では Windows Amazon EC2 インスタンス用の SBOM のエクスポートはサポートしていません。
Amazon Inspector 形式
Amazon Inspector では、CycloneDX 1.4 および SPDX 2.3 互換フォーマットでの SBOM のエクスポートをサポートしています。Amazon Inspector では、選択した Amazon S3 バケットに SBOM を JSON
ファイルとしてエクスポートします。
注記
Amazon Inspector からの SPDX 形式のエクスポートは SPDX 2.3 を使用するシステムと互換性がありますが、クリエイティブコモンズゼロ (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" }
SBOM 用フィルター
SBOM をエクスポートする際、フィルターを追加してリソースの特定のサブセットに関するレポートを作成できます。フィルターを指定しない場合、サポート対象のすべてのアクティブリソースの SBOM がエクスポートされます。また、委任された管理者の場合は、メンバー全員のリソースも含まれます。以下のフィルタが利用可能です。
-
AccountID — このフィルターは、特定の AccountID に関連付けられている任意のリソースの SBOM をエクスポートするために使用できます。
-
EC2 インスタンスタグ — このフィルターは、特定のタグを持つ EC2 インスタンスの SBOM をエクスポートするために使用できます。
-
関数名 — このフィルターは、特定の Lambda 関数の SBOM をエクスポートするために使用できます。
-
イメージタグ — このフィルターは、特定のタグが付いたコンテナイメージの SBOM をエクスポートするために使用できます。
-
Lambda 関数タグ — このフィルターを使用して、特定のタグを持つ Lambda 関数の SBOM をエクスポートできます。
-
リソースタイプ — このフィルターは、リソースタイプ EC2/ECR/Lambda をフィルタリングするために使用できます。
-
リソース ID — このフィルターは、特定のリソースの SBOM をエクスポートするために使用できます。
-
リポジトリ名 — このフィルターを使用して、特定のリポジトリ内のコンテナイメージの SBOM を生成できます。
SBOM の設定とエクスポート
SBOM をエクスポートするには、まず Amazon S3 バケットと Amazon Inspector が使用を許可されている AWS KMS キーを設定する必要があります。フィルタを使用して、リソースの特定のサブセットの SBOM をエクスポートできます。AWS 組織内の複数のアカウントの SBOM をエクスポートするには、Amazon Inspector の委任された管理者としてサインインして、以下の手順に従います。
前提条件
Amazon Inspector によってアクティブにモニタリングされているサポート対象リソース。
Amazon Inspector にオブジェクトの追加を許可するポリシーが設定された Amazon S3 バケット。ポリシーの設定については、「Configure export permissions」を参照してください。
Amazon Inspector がレポートの暗号化に使用できるようにするポリシーで設定された AWS KMS キー。ポリシーの設定については、「エクスポート用の AWS KMS キーの設定」を参照してください。
注記
以前に Amazon S3 バケットと検出結果のエクスポート用の AWS KMS キーを設定している場合は、同じバケットとキーを SBOM エクスポートに使用できます。
任意のアクセス方法を選択して、SBOM をエクスポートします。