Exportación de SBOM con Amazon Inspector - Amazon Inspector

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Exportación de SBOM con Amazon Inspector

Una lista de materiales de software (SBOM) es un inventario anidado de todos los componentes de software de código abierto y de terceros en el código base. Amazon Inspector proporciona SBOM de recursos específicos del entorno. Puede utilizar la consola de Amazon Inspector o la API de Amazon Inspector para generar SBOM para los recursos. Puede exportar SBOM de todos los recursos que Amazon Inspector admite y supervisa. Las SBOM exportadas proporcionan información sobre el suministro de software. Puede revisar el estado de los recursos mediante la evaluación de la cobertura del entorno de AWS. En esta sección se describe cómo configurar y exportar SBOM.

Algunos componentes de software y administradores de paquetes utilizan rangos de versiones o referencias dinámicas en lugar de versiones fijas para las dependencias. Esta práctica crea hashes sin resolver, en los que Amazon Inspector identifica un archivo hash o jar, pero no puede asignarlo a un nombre y una versión específicos para detectar vulnerabilidades. Amazon Inspector ahora incluye estos hashes no resueltos en las exportaciones de la lista de materiales del software (SBOM). Aunque estos paquetes no se pueden analizar en busca de vulnerabilidades, sus valores de hash están disponibles en la lista de componentes exportados.

nota

Actualmente, Amazon Inspector no admite la exportación de SBOM para instancias de Amazon EC2 de Windows.

Formatos de Amazon Inspector

Amazon Inspector admite la exportación de SBOM en los formatos CycloneDX 1.4 y SPDX 2.3 compatibles. Amazon Inspector exporta las SBOM como archivos JSON a un bucket de Amazon S3 de su elección.

nota

Las exportaciones en formato SPDX de Amazon Inspector son compatibles con los sistemas con SPDX 2.3. No obstante, no contienen el campo Creative Commons Zero (CC0). El motivo es que, si se incluyera este campo, los usuarios podrían redistribuir o editar el material.

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

Filtros para SBOM

Al exportar SBOM, puede incluir filtros para crear informes de subconjuntos específicos de recursos. Si no proporciona un filtro, se exportarán las SBOM de todos los recursos activos y compatibles. Si, además, es administrador delegado, se incluirán los recursos de todos los miembros. Están disponibles los siguientes filtros:

  • ID de cuenta: este filtro se utiliza para exportar SBOM de cualquier recurso asociado a un ID de cuenta específico.

  • Etiqueta de instancia de EC2: este filtro se utiliza para exportar SBOM de instancias de EC2 con etiquetas específicas.

  • Nombre de la función: este filtro se utiliza para exportar SBOM de funciones de Lambda específicas.

  • Etiqueta de imagen: este filtro se utiliza para exportar SBOM de imágenes de contenedores con etiquetas específicas.

  • Etiqueta de función de Lambda: este filtro se utiliza para exportar SBOM de funciones de Lambda con etiquetas específicas.

  • Tipo de recurso: este filtro se utiliza para filtrar por tipo de recurso, que puede ser EC2, ECR o Lambda.

  • ID de recurso: este filtro se utiliza para exportar una SBOM de un recurso específico.

  • Nombre del repositorio: este filtro se utiliza para generar SBOM de imágenes de contenedores en repositorios específicos.

Configuración y exportación de SBOM

Para exportar SBOM, se requiere configurar antes un bucket de Amazon S3 y una clave de AWS KMS que Amazon Inspector pueda utilizar. Puede utilizar filtros para exportar SBOM de subconjuntos específicos de recursos. Para exportar SBOM de varias cuentas en una AWS Organization, siga estos pasos con la sesión iniciada como administrador delegado de Amazon Inspector.

Requisitos previos
  • Recursos compatibles que se estén supervisando con Amazon Inspector.

  • Un bucket de Amazon S3 configurado con una política que permite a Amazon Inspector agregar objetos al bucket. Para obtener información sobre cómo configurar la política, consulte Configuración de los permisos de exportación.

  • Una clave de AWS KMS configurada con una política que permite a Amazon Inspector utilizarla para cifrar informes. Para obtener información sobre cómo configurar la política, consulte Configuración de una clave de AWS KMS de exportación.

nota

Si ya ha configurado un bucket de Amazon S3 y una clave de AWS KMS para exportar resultados, puede utilizar la misma combinación de bucket y clave para la exportación de SBOM.

Elija su método de acceso preferido para exportar una SBOM.

Console
  1. Inicie sesión con las credenciales y, a continuación, abra la consola de Amazon Inspector en https://console.aws.amazon.com/inspector/v2/home.

  2. En el selector de Región de AWS de la esquina superior derecha de la página, seleccione la región en la que se encuentran los recursos para los que desea exportar una SBOM.

  3. En el panel de navegación, elija Exportar SBOM.

  4. (Opcional) En la página Exportar SBOM, utilice el menú Agregar filtro para seleccionar el subconjunto de recursos para el que desea crear informes. Si no se proporciona ningún filtro, Amazon Inspector exportará informes de todos los recursos activos. Si es administrador delegado, se incluirán todos los recursos activos de la organización.

  5. En Configuración de exportación, seleccione el formato de la SBOM.

  6. Introduzca un URI de Amazon S3 o elija Explorar Amazon S3 para seleccionar la ubicación de Amazon S3 en la que desea almacenar la SBOM.

  7. Introduzca la clave de AWS KMS configurada para Amazon Inspector que utilizará para cifrar los informes.

API
  • Para exportar SBOM de recursos programáticamente, utilice la operación CreateSbomExport de la API de Amazon Inspector.

    En la solicitud, utilice el parámetro reportFormat para especificar el formato de salida de la SBOM, que puede ser CYCLONEDX_1_4 o SPDX_2_3. Es obligatorio introducir el parámetro s3Destination y debe especificar un bucket de S3 configurado con una política que permita a Amazon Inspector escribir en él. Si lo desea, puede utilizar parámetros resourceFilterCriteria para limitar el alcance del informe a recursos específicos.

AWS CLI
  • Para exportar las SBOM de sus recursos con la AWS Command Line Interface, ejecute el siguiente comando:

    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

    En su solicitud, sustituya FORMAT por el formato que prefiera, CYCLONEDX_1_4 o SPDX_2_3. A continuación, sustituya user input placeholders del destino de S3 por el nombre del bucket de S3 al que se vaya a exportar, el prefijo que se vaya a utilizar para la salida en S3 y el ARN de la clave de KMS que se vaya a utilizar para cifrar los informes.