SBOM 업로드

이 페이지에서는 Artifact Registry에 저장하는 컨테이너 이미지의 구성요소를 추적하고 증명하는 데 도움이 되도록 소프트웨어 재료명세서 (SBOM) 파일을 Cloud Storage에 업로드하는 방법을 설명합니다.

Cloud Storage 가격에 대한 자세한 내용은 가격 책정을 참고하세요.

시작하기 전에

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. SBOM에서 설명하는 컨테이너 이미지가 포함된 Docker 저장소가 Artifact Registry에 있어야 합니다. Artifact Registry에 익숙하지 않다면 Docker 빠른 시작을 참고하세요.
  13. 지원되는 형식 중 하나로 업로드할 SBOM 파일을 준비합니다.

필요한 역할

Cloud Storage 버킷과 SBOM 파일을 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 기본 Cloud Storage 버킷을 사용하는 경우 스토리지 버킷을 관리하려면 다음을 실행합니다. 스토리지 관리자(roles/storage.admin)
  • Cloud Storage 버킷을 지정하는 경우 스토리지 버킷을 관리하려면 다음을 실행합니다. 스토리지 객체 관리자(roles/storage.objectAdmin)
  • SBOM 참조에 관한 메모가 이미 있는 경우: 컨테이너 분석 메모 연결자 (roles/containeranalysis.notes.attacher)
  • 현재 프로젝트에서 SBOM 참조 어커런스에 관한 새 메모를 만들려면 다음 단계를 따르세요. 컨테이너 분석 메모 편집기((roles/containeranalysis.notes.editor)
  • SBOM 참조 어커런스를 만들려면 다음 단계를 따르세요. 컨테이너 분석 어커런스 편집기(roles/containeranalysis.occurrences.editor)

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

지원되는 형식

SBOM 파일은 다음 형식 중 하나의 JSON 파일이어야 합니다.

SBOM 업로드

다음 명령어를 사용하여 SBOM을 업로드합니다.

gcloud artifacts sbom load /
    --source SOURCE /
    --uri URI

각 항목의 의미는 다음과 같습니다.

  • SOURCE: 업로드할 SBOM 파일의 경로입니다.
  • URI: SBOM 파일에서 설명하는 Docker 이미지의 URI입니다. 이미지는 태그 형식 또는 다이제스트 형식일 수 있습니다. 태그 형식으로 제공된 이미지는 다이제스트 형식으로 확인됩니다.

선택적 플래그

  • --destination: 기본 버킷 대신 사용할 Cloud Storage 버킷을 지정합니다.
  • --kms-key-version: SBOM 참조 발생 페이로드를 서명하는 키 버전을 제공합니다. 이 키를 사용하여 SBOM의 출처를 확인할 수 있습니다.

예를 들어 다음 명령어는 태그된 이미지 us-east1-docker.pkg.dev/my-image-repo/my-image에서 생성된 JSON 파일 my-sbom.bom.json를 업로드하고 my-key/cryptoKeyVersions/1로 끝나는 KMS 키 버전으로 SBOM 참조 발생을 서명합니다.

gcloud artifacts sbom load /
--source=my-sbom.bom.json
--uri=us-east1-docker.pkg.dev/my-image-repo/my-image
--kms-key-version=projects/my-project/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1

다음 명령어는 이미지 다이제스트 my-local-image@sha256:abcxyz와 연결된 JSON 파일 my-sbom.spdx.json를 업로드하고 Cloud Storage 버킷 gs://my-sbom-bucket에 파일을 저장합니다.

gcloud artifacts sbom load /
    --source=my-sbom.spdx.json /
    --uri=my-local-image@sha256:abcxyz /
    --destination=gs://my-sbom-bucket

Artifact Analysis는 SBOM을 Cloud Storage에 업로드하고 SBOM 참조 발생을 만듭니다.

Google Cloud 콘솔 또는 gcloud CLI를 사용하여 SBOM을 볼 수 있습니다. SBOM이 포함된 Cloud Storage 버킷을 찾으려면 gcloud CLI를 사용하여 SBOM을 검색해야 합니다.

다음 단계