Esta página descreve como carregar um ficheiro de lista de materiais de software (SBOM) para o Cloud Storage para ajudar a monitorizar e atestar os componentes das imagens de contentores que armazena no Artifact Registry.
Para ver informações sobre os preços do Cloud Storage, consulte a secção 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Container Analysis APIs.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Container Analysis APIs.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
- Ter um repositório Docker no Artifact Registry com a imagem do contentor que a sua SBOM descreve. Se não conhece o Artifact Registry, consulte o início rápido do Docker.
- Ter um ficheiro SBOM pronto para carregar num dos formatos suportados.
-
Se estiver a usar o contentor do Cloud Storage predefinido, para gerir contentores de armazenamento:
Administrador de armazenamento(
roles/storage.admin
) -
Se estiver a especificar um contentor do Cloud Storage, para gerir contentores de armazenamento:
Administrador de objetos de armazenamento(
roles/storage.objectAdmin
) -
Se já existir uma nota para a referência da SBOM:
Container Analysis Notes Attacher (
roles/containeranalysis.notes.attacher
) -
Para criar uma nova nota para ocorrências de referência da SBOM no projeto atual:
Editor de notas de análise de contentores(
(roles/containeranalysis.notes.editor
) -
Para criar uma ocorrência de referência da SBOM:
Editor de ocorrências da análise de contentores(
roles/containeranalysis.occurrences.editor
) - Versão 2.2 ou 2.3 da Software Package Data Exchange (SPDX)
- CycloneDX versão 1.4 ou 1.5
- SOURCE: o caminho para o ficheiro SBOM a carregar.
- URI: o URI da imagem de Docker que o ficheiro SBOM descreve. As imagens podem estar no formato de etiqueta ou no formato de resumo. As imagens fornecidas no formato de etiqueta vão ser resolvidas no formato de resumo.
--destination
: especifica um contentor do Cloud Storage a usar em vez do predefinido.--kms-key-version
: fornece uma versão da chave para assinar o payload de ocorrência de referência da SBOM. Pode usar esta chave para validar a origem da SBOM.
Funções necessárias
Para receber as autorizações de que precisa para criar e gerir contentores do Cloud Storage e ficheiros SBOM, peça ao seu administrador para lhe conceder as seguintes funções da IAM no projeto:
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Formatos suportados
O seu ficheiro SBOM tem de ser um ficheiro JSON num dos seguintes formatos:
Carregue a sua SBOM
Use o seguinte comando para carregar a sua SBOM:
gcloud artifacts sbom load /
--source SOURCE /
--uri URI
Onde:
Sinalizações opcionais
Por exemplo, o comando seguinte carrega um ficheiro JSON my-sbom.bom.json
que foi gerado a partir da imagem etiquetada us-east1-docker.pkg.dev/my-image-repo/my-image
e assina a ocorrência de referência da SBOM 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 seguinte carrega um ficheiro JSON my-sbom.spdx.json
associado ao resumo da imagem my-local-image@sha256:abcxyz
e armazena o ficheiro no contentor 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
A Artifact Analysis carrega a sua SBOM para o Cloud Storage e cria uma ocorrência de referência da SBOM.
Pode ver as SBOMs através da Google Cloud consola ou da CLI gcloud. Se quiser localizar o contentor do Cloud Storage que contém as suas SBOMs, tem de pesquisar SBOMs através da CLI gcloud.