SBOM 자격 증명
SBOM 자격 증명
SBOM 자격 증명은 이미지가 포함하는 소프트웨어 산출물과 이미지를 만드는 데 사용된 산출물을 검증해 소프트웨어 공급망 투명성을 보장하는 데 도움을 줘요. SBOM에서 소프트웨어 산출물을 설명하는 데 포함될 수 있는 메타데이터는 다음과 같아요:
- 산출물의 이름 (Name of the artifact)
- 버전 (Version)
- 라이선스 유형 (License type)
- 저자 (Authors)
- 고유 패키지 식별자 (Unique package identifier)
출처: 문서
본문
빌드 중에 이미지 내용을 인덱싱하는 것은 최종 이미지를 스캔하는 것보다 이점이 있어요. 빌드의 일부로 스캔하면 이미지를 만드는 데 사용했지만 최종 이미지에는 나타나지 않을 수 있는 소프트웨어도 감지할 수 있어요.
Docker는 BuildKit과 자격 증명을 사용하는 SLSA 호환 빌드 과정을 통해 SBOM 생성과 자격 증명을 지원해요. BuildKit이 생성한 SBOM은 SPDX 표준을 따르며, in-toto SPDX predicate가 정의하는 형식으로 JSON으로 인코딩된 SPDX 문서로 최종 이미지에 붙어요. 이 페이지에서는 Docker 도구로 SBOM 자격 증명을 만들고, 관리하고, 검증하는 방법을 배워요.
SBOM 자격 증명 만들기 (Create SBOM attestations)
--attest type=sbom으로 SBOM 자격 증명을 생성할 수 있어요:
$ docker buildx build --tag <namespace>/<image>:<version> \
--attest type=sbom .
SBOM 자격 증명 검증하기 (Verify SBOM attestations)
docker buildx imagetools inspect 명령이 자격 증명과 함께 SBOM이 제대로 붙었는지 확인할 수 있어요. 인용된 SBOM을 추출해 재귀적으로 검증하는 도구들도 있어요.