

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

# Amazon Inspector를 사용하여 SBOM 내보내기
<a name="sbom-export"></a>

 소프트웨어 자재 명세서(SBOM)는 코드베이스에 있는 모든 오픈 소스 및 타사 소프트웨어 구성 요소의 중첩된 인벤토리입니다. Amazon Inspector는 사용 환경의 개별 리소스에 대한 SBOM을 제공합니다. Amazon Inspector 콘솔 또는 Amazon Inspector API를 사용하여 리소스에 대한 SBOM을 생성할 수 있습니다. Amazon Inspector에서 지원하고 모니터링하는 모든 리소스에 대한 SBOM을 내보낼 수 있습니다. 내보낸 SBOM은 소프트웨어 공급에 대한 정보를 제공합니다. [AWS 환경의 적용 범위를 평가하여 리소스 상태를 검토할 수 있습니다](https://docs.aws.amazon.com/inspector/latest/user/assessing-coverage.html). 이 단원에서는 SBOM을 구성하고 내보내는 방법에 대해 설명합니다.

 일부 소프트웨어 구성 요소 및 패키지 관리자는 종속성에 고정 버전 대신 버전 범위 또는 동적 참조를 사용합니다. 이 방법은 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 내보내기를 지원합니다. Amazon Inspector는 선택한 Amazon S3 버킷에 SBOM을 `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"
}
```

## SBOM용 필터
<a name="sbom-filters"></a>

SBOM을 내보낼 때 필터를 포함시켜 리소스의 특정 하위 집합에 대한 보고서를 생성할 수 있습니다. 필터를 제공하지 않으면 지원되는 모든 활성 리소스의 SBOM을 내보냅니다. 또한 위임 관리자인 경우 여기에 모든 멤버를 위한 리소스도 포함됩니다. 다음과 같은 필터를 사용할 수 있습니다.
+  **AccountID** - 이 필터는 특정 계정 ID와 연결된 리소스의 SBOM을 내보내는 데 사용할 수 있습니다.
+  **EC2 인스턴스 태그** - 이 필터는 특정 태그가 있는 EC2 인스턴스의 SBOM을 내보내는 데 사용할 수 있습니다.
+ **함수 이름** - 이 필터는 특정 Lambda 함수의 SBOM을 내보내는 데 사용할 수 있습니다.
+  **이미지 태그** - 이 필터는 특정 태그가 있는 컨테이너 이미지의 SBOM을 내보내는 데 사용할 수 있습니다.
+  **Lambda 함수 태그** - 이 필터는 특정 태그가 있는 Lambda 함수의 SBOM을 내보내는 데 사용할 수 있습니다.
+  **리소스 유형** - 이 필터는 리소스 유형(EC2/ECR/Lambda)을 필터링하는 데 사용할 수 있습니다.
+  **리소스 ID** - 이 필터는 특정 리소스의 SBOM을 내보내는 데 사용할 수 있습니다.
+  **리포지토리 이름** - 이 필터는 특정 리포지토리에 있는 컨테이너 이미지의 SBOM을 생성하는 데 사용할 수 있습니다.

## SBOM 구성 및 내보내기
<a name="sbom-create"></a>

SBOMs 내보내려면 먼저 Amazon S3 버킷과 Amazon Inspector에서 사용할 수 있는 AWS KMS 키를 구성해야 합니다. 필터를 사용하여 리소스의 특정 하위 집합에 대한 SBOM을 내보낼 수 있습니다. AWS 조직의 여러 계정에 대한 SBOMs을 내보내려면 Amazon Inspector 위임된 관리자로 로그인한 상태에서 다음 단계를 따르세요.

**사전 조건**
+ Amazon Inspector에서 적극적으로 모니터링하고 있는 지원 리소스
+ Amazon Inspector에서 객체를 추가할 수 있도록 허용하는 정책으로 구성된 Amazon S3 버킷. 정책 구성에 대한 자세한 내용은 [내보내기 권한 구성](findings-managing-exporting-reports.md#findings-managing-exporting-permissions)을 참조하세요.
+ Amazon Inspector가를 사용하여 보고서를 암호화하도록 허용하는 정책으로 구성된 AWS KMS 키입니다. 정책 구성에 대한 자세한 내용은 [내보낼 AWS KMS 키 구성을 참조하세요](findings-managing-exporting-reports.md#findings-managing-exporting-KMS).

**참고**  
이전에 Amazon S3 버킷과 [결과 내보내기](findings-managing-exporting-reports.md)를 위한 AWS KMS 키를 구성한 경우 SBOM 내보내기에 동일한 버킷과 키를 사용할 수 있습니다.

원하는 액세스 방법을 선택하여 SBOM을 내보냅니다.

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

1.  자격 증명을 사용하여 로그인한 다음 Amazon Inspector 콘솔([https://console.aws.amazon.com/inspector/v2/home](https://console.aws.amazon.com/inspector/v2/home))을 엽니다.

1. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 SBOM을 내보낼 리소스가 있는 리전을 선택합니다.

1.  탐색 창에서 **SBOM 내보내기**를 선택합니다.

1.  (선택 사항) **SBOM 내보내기** 페이지에서 **필터 추가** 메뉴를 사용하여 보고서를 생성할 리소스의 하위 집합을 선택합니다. 필터를 제공하지 않으면 Amazon Inspector에서 모든 활성 리소스에 대한 보고서를 내보냅니다. 위임 관리자인 경우 여기에 조직의 모든 활성 리소스가 포함됩니다.

1. **내보내기 설정**에서 SBOM에 사용할 형식을 선택합니다.

1.  **Amazon S3 URI**를 입력하거나 **Amazon S3 찾아보기**를 선택하여 SBOM을 저장할 Amazon S3 위치를 선택합니다.

1.  Amazon Inspector에서 보고서를 암호화하는 데 사용하도록 구성된 **AWS KMS 키**를 입력합니다.

------
#### [ API ]
+ 리소스의 SBOM을 프로그래밍 방식으로 내보내려면 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 ]
+ 를 사용하여 리소스의 SBOMs을 내보내려면 다음 명령을 AWS Command Line Interface 실행합니다.

  `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으로 바꾸세요.

------