Amazon Inspector를 사용하여 SBOM 내보내기 - Amazon Inspector

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Inspector를 사용하여 SBOM 내보내기

Amazon Inspector 콘솔 또는 API를 사용하여 리소스에 대한 Software Bill of Materials(SBOM)를 생성할 수 있습니다. SBOM은 코드베이스의 모든 오픈 소스 및 타사 소프트웨어 구성 요소의 중첩된 인벤토리입니다. Amazon Inspector는 사용 환경의 개별 리소스에 대한 SBOM을 제공합니다. Amazon Inspector에서 내보낸 SBOM을 사용하면 가장 일반적으로 사용되는 패키지, 조직 전체의 관련 취약성 등 소프트웨어 공급에 대한 정보를 파악하는 데 도움이 됩니다.

Amazon Inspector에서 적극적으로 모니터링하고 있는 모든 지원 리소스의 SBOM을 내보낼 수 있습니다. 리소스 상태는 AWS 환경의 Amazon Inspector 적용 범위 평가를 통해 검토할 수 있습니다.

참고

Amazon Inspector는 Windows EC2 인스턴스에 대한 SBOM 내보내기를 지원하지 않습니다.

Amazon Inspector 형식

Amazon Inspector는 CycloneDX 1.4SPDX 2.3 호환 형식으로 SBOM 내보내기를 지원합니다. Amazon Inspector는 선택한 Amazon S3 버킷에 SBOM을 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" }

SBOM용 필터

SBOM을 내보낼 때 필터를 포함시켜 리소스의 특정 하위 집합에 대한 보고서를 생성할 수 있습니다. 필터를 제공하지 않으면 지원되는 모든 활성 리소스의 SBOM을 내보냅니다. 또한 위임 관리자인 경우 여기에 모든 멤버를 위한 리소스도 포함됩니다. 다음과 같은 필터를 사용할 수 있습니다.

  • AccountID - 이 필터는 특정 계정 ID와 연결된 리소스의 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 버킷. 정책 구성에 대한 자세한 내용은 내보내기 권한 구성을 참조하세요.

  • 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
  • 리소스의 sBOM을 내보내려면 다음 명령을 실행합니다. AWS Command Line Interface

    aws inspector2 create-sbom-export --report-format FORMAT --s3-destination bucketName=DOC-EXAMPLE-BUCKET1,keyPrefix=PREFIX,kmsKeyArn=arn:aws:kms:Region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    요청에서 FORMATCYCLONEDX_1_4 또는 SPDX_2_3 중에서 원하는 형식으로 바꾸세요. 그런 다음 s3 대상의 user input placeholders를 내보낼 대상 S3 버킷의 이름, S3의 출력에 사용할 접두사, 보고서를 암호화하는 데 사용하는 KMS 키의 ARN으로 바꾸세요.