Carregue SBOMs

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

  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. Verify 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. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  7. Para inicializar a CLI gcloud, execute o seguinte comando:

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

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  13. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  14. 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.
  15. Ter um ficheiro SBOM pronto para carregar num dos formatos suportados.
  16. 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:

    • 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)

    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:

    • 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.

    Sinalizações opcionais

    • --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.

    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.

    O que se segue?