Nesta página, descrevemos como fazer upload de um arquivo de lista de materiais de software (SBOM, na sigla em inglês) para o Cloud Storage e ajudar a rastrear e atestar os componentes das imagens de contêiner armazenadas no Artifact Registry.
Para informações sobre preços do Cloud Storage, consulte Preços.
Antes de começar
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Container Analysis APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Container Analysis APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Ter um repositório do Docker no Artifact Registry com a imagem do contêiner que sua lista de materiais de software descreve. Se você não estiver familiarizado com o Artifact Registry, consulte o Guia de início rápido do Docker.
- Tenha um arquivo de lista de materiais de software pronto para upload em um dos formatos compatíveis.
-
Se você estiver usando o bucket padrão do Cloud Storage, para gerenciar buckets de armazenamento:
Administrador de armazenamento(
roles/storage.admin
) -
Se você estiver especificando um bucket do Cloud Storage, para gerenciar buckets de armazenamento:
Administrador de objetos do Storage(
roles/storage.objectAdmin
) -
Se já existir uma nota para a referência da lista de materiais de software:
Anexador de notas do Container Analysis (
roles/containeranalysis.notes.attacher
) -
Para criar uma nota para ocorrências de referência de SBOM no projeto atual:
Editor de notas do Container Analysis(
(roles/containeranalysis.notes.editor
) -
Para criar uma ocorrência de referência de SBOM:
Editor de ocorrências do Container Analysis(
roles/containeranalysis.occurrences.editor
) - Software Package Data Exchange (SPDX) versão 2.2 ou 2.3
- CycloneDX versão 1.4 ou 1.5
- SOURCE: o caminho para o arquivo da lista de materiais de software a ser enviado.
- URI: o URI da imagem do Docker que o arquivo da lista de materiais de software descreve. As imagens podem estar no formato de tag ou resumo. As imagens fornecidas no formato de tag serão resolvidas no formato de resumo.
--destination
: especifica um bucket do Cloud Storage para usar em vez do padrão.--kms-key-version
: fornece uma versão de chave para assinar o payload da ocorrência de referência da SBOM. Você pode usar essa chave para verificar a origem da lista de materiais de software.
Funções exigidas
Para receber as permissões necessárias para criar e gerenciar buckets do Cloud Storage e arquivos de lista de materiais de software (SBOM), peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Formatos compatíveis
O arquivo da lista de materiais de software precisa ser um arquivo JSON em um dos seguintes formatos:
Fazer upload da sua lista de materiais de software
Use o comando a seguir para fazer upload da sua lista de materiais de software:
gcloud artifacts sbom load /
--source SOURCE /
--uri URI
Em que:
Sinalizações opcionais
Por exemplo, o comando a seguir faz upload de um arquivo JSON my-sbom.bom.json
que
foi gerado da imagem com tag
us-east1-docker.pkg.dev/my-image-repo/my-image
e assina a ocorrência de referência da lista de materiais de software
com a versão da chave do KMS que termina em my-key/cryptoKeyVersions/1
.
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
O comando a seguir faz upload de um arquivo JSON my-sbom.spdx.json
associado ao resumo da imagem my-local-image@sha256:abcxyz
e armazena o arquivo no bucket do 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
O Artifact Analysis faz upload da sua lista de materiais de software para o Cloud Storage e cria uma ocorrência de referência da lista.
É possível conferir as listas de materiais de software usando o console Google Cloud ou a CLI gcloud. Se você quiser localizar o bucket do Cloud Storage que contém suas SBOMs, pesquise SBOMs usando a CLI gcloud.