Amazon Inspector による SBOM のエクスポート - Amazon Inspector

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 をエクスポートします。

Console
  1. 認証情報を使用してサインインし、Amazon Inspector コンソール (https://console.aws.amazon.com/inspector/v2/home) を開きます。

  2. ページの右上隅にある AWS リージョン セレクターを使用して、SBOM をエクスポートしたいリソースのあるリージョンを選択する。

  3. ナビゲーションペインの [SBOM をエクスポート] を選択します。

  4. (オプション) [SBOM のエクスポート] ページで、[フィルターを追加] メニューを使用して、レポートを作成するリソースのサブセットを選択します。フィルターが指定されていない場合、Amazon Inspector はすべてのアクティブなリソースのレポートをエクスポートします。委任された管理者の場合は、これには組織内のすべてのアクティブなリソースが含まれます。

  5. [エクスポート設定] で、SBOM に必要な形式を選択します。

  6. Amazon S3 URI を入力するか、[Amazon S3 を参照] を選択して SBOM を保存する Amazon S3 の場所を選択します。

  7. Amazon Inspector がレポートの暗号化に使用するように設定したAWS KMS キーを入力します。

API
  • リソースの SBOM をプログラムでエクスポートするには、Amazon Inspector API の CreatesBOMExport オペレーションを使用します。

    リクエストでは、reportFormat パラメータを使用して SBOM 出力形式を指定し、CYCLONEDX_1_4 または SPDX_2_3 を選択します。s3Destination パラメータは必須で、Amazon Inspector による書き込みを許可するポリシーで設定された S3 バケットを指定する必要があります。オプションで、resourceFilterCriteria パラメーターを使用して、レポートのスコープを特定のリソースに制限します。

AWS CLI
  • AWS Command Line Interface を使用してリソースの SBOM をエクスポートするには、以下のコマンドを実行します。

    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 に置き換えます。