검색

2.2. SBOM을 다운로드하거나 볼 수 있도록 OpenShift Pipelines 설정

download PDF

PipelineRun 세부 정보 페이지에서는 SBOM(Software bill of materials)을 다운로드하거나 볼 수 있는 옵션을 제공하여 공급망 내 투명성과 제어를 강화할 수 있습니다. SBOM은 구성 요소에서 사용하는 모든 소프트웨어 라이브러리를 나열합니다. 이러한 라이브러리는 특정 기능을 활성화하거나 개발을 용이하게 할 수 있습니다.

SBOM을 사용하여 소프트웨어의 구성을 더 잘 이해하고 취약점을 식별하고 발생할 수 있는 보안 문제의 잠재적 영향을 평가할 수 있습니다.

그림 2.4. SBOM을 다운로드하거나 볼 수 있는 옵션

sbom

사전 요구 사항

프로세스

  1. 개발자 또는 관리자 관점에서 SBOM의 시각적 표현이 필요한 관련 프로젝트로 전환합니다.
  2. 다음 형식으로 작업을 추가하여 SBOM 정보를 보거나 다운로드합니다.

    SBOM 작업 예

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: sbom-task 1
      annotations:
        task.output.location: results  2
        task.results.format: application/text
        task.results.key: LINK_TO_SBOM  3
        task.results.type: external-link  4
    spec:
      results:
        - description: Contains the SBOM link  5
          name: LINK_TO_SBOM
      steps:
        - name: print-sbom-results
          image: quay.io/image  6
          script: | 7
            #!/bin/sh
            syft version
            syft quay.io/<username>/quarkus-demo:v2 --output cyclonedx-json=sbom-image.json
            echo 'BEGIN SBOM'
            cat sbom-image.json
            echo 'END SBOM'
            echo 'quay.io/user/workloads/<namespace>/node-express/node-express:build-8e536-1692702836' | tee $(results.LINK_TO_SBOM.path) 8

    1
    작업 이름입니다.
    2
    작업 출력을 저장하는 위치입니다.
    3
    SBOM 작업 결과 이름입니다. SBOM 결과 작업의 이름을 변경하지 마십시오.
    4
    (선택 사항) 새 탭에서 SBOM을 열도록 설정합니다.
    5
    결과에 대한 설명입니다.
    6
    SBOM을 생성하는 이미지입니다.
    7
    SBOM 이미지를 생성하는 스크립트입니다.
    8
    경로 이름과 SBOM 이미지입니다.
  3. 새로 생성된 SBOM 작업을 참조하도록 Pipeline을 업데이트합니다.

    ...
    spec:
      tasks:
        - name: sbom-task
          taskRef:
            name: sbom-task 1
      results:
        - name: IMAGE_URL  2
          description: url
          value: <oci_image_registry_url> 3
    1
    2단계에서 만든 것과 동일한 이름입니다.
    2
    결과 이름입니다.
    3
    .sbom 이미지를 포함하는 OCI 이미지 리포지토리 URL입니다.
  4. 영향을 받는 OpenShift 파이프라인을 다시 실행합니다.

2.2.1. 웹 UI에서 SBOM 보기

사전 요구 사항

  • SBOM을 다운로드하거나 볼 수 있도록 OpenShift Pipelines를 설정해야 합니다.

프로세스

  1. 활동 PipelineRuns 탭으로 이동합니다.
  2. 보려는 SBOM이 있는 프로젝트의 경우 최신 파이프라인 실행을 선택합니다.
  3. PipelineRun 세부 정보 페이지에서 SBOM 보기를 선택합니다.

    1. 웹 브라우저를 사용하여 SBOM에서 소프트웨어 공급망의 취약점을 나타내는 용어를 즉시 검색할 수 있습니다. 예를 들어 log4j 를 검색해 보십시오.
    2. 다운로드를 선택하여 SBOM을 다운로드하거나 Expand 를 선택하여 전체 화면을 볼 수 있습니다.

2.2.2. CLI에서 SBOM 다운로드

사전 요구 사항

  • Cosign CLI 툴을 설치했습니다.
  • SBOM을 다운로드하거나 볼 수 있도록 OpenShift Pipelines를 설정해야 합니다.

프로세스

  1. 터미널을 열고 개발자 또는 관리자 화면에 로그인한 다음 관련 프로젝트로 전환합니다.
  2. OpenShift 웹 콘솔에서 다운로드 sbom 명령을 복사하여 터미널에서 실행합니다.

    cosign 명령 예

    $ cosign download sbom quay.io/<workspace>/user-workload@sha256

    1. (선택 사항) 검색 가능한 형식으로 전체 SBOM을 보려면 다음 명령을 실행하여 출력을 리디렉션합니다.

      cosign 명령 예

      $ cosign download sbom quay.io/<workspace>/user-workload@sha256 > sbom.txt

2.2.3. SBOM 읽기

SBOM에서 다음 샘플 발췌 내용에서 볼 수 있듯이 프로젝트에서 사용하는 각 라이브러리의 4가지 특성을 확인할 수 있습니다.

  • 작성자 또는 게시자
  • 이름
  • 해당 버전
  • 라이센스

이 정보는 개별 라이브러리가 안전하게 소싱, 업데이트 및 준수하는지 확인하는 데 도움이 됩니다.

SBOM 예

{
    "bomFormat": "CycloneDX",
    "specVersion": "1.4",
    "serialNumber": "urn:uuid:89146fc4-342f-496b-9cc9-07a6a1554220",
    "version": 1,
    "metadata": {
        ...
    },
    "components": [
        {
            "bom-ref": "pkg:pypi/flask@2.1.0?package-id=d6ad7ed5aac04a8",
            "type": "library",
            "author": "Armin Ronacher <armin.ronacher@active-4.com>",
            "name": "Flask",
            "version": "2.1.0",
            "licenses": [
                {
                    "license": {
                        "id": "BSD-3-Clause"
                    }
                }
            ],
            "cpe": "cpe:2.3:a:armin-ronacher:python-Flask:2.1.0:*:*:*:*:*:*:*",
            "purl": "pkg:pypi/Flask@2.1.0",
            "properties": [
                {
                    "name": "syft:package:foundBy",
                    "value": "python-package-cataloger"
                    ...

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.