Conferir e filtrar SBOMs

Este documento descreve como acessar os registros de lista de materiais de software (SBOM, na sigla em inglês) e os metadados de dependência relacionados para ajudar a entender os componentes das imagens de contêiner armazenadas no Artifact Registry.

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. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Container Analysis, Artifact Registry 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 Container Analysis, Artifact Registry APIs.

    Enable the APIs

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

    gcloud init
  12. Armazenar SBOMs no Cloud Storage. Consulte as instruções sobre como gerar SBOMs.

Funções exigidas

Para receber as permissões necessárias para visualizar dados da SBOM e filtrar resultados, 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.

Conferir SBOMs no console do Google Cloud

Para conferir SBOMs e metadados de dependência relacionados a imagens de contêiner armazenadas no Artifact Registry:

  1. Abra a página Repositórios do Artifact Registry.

    Abra a página "Repositórios"

    A página exibe uma lista dos seus repositórios.

  2. Na lista de repositórios, clique no nome de um repositório.

    A página Detalhes do repositório é aberta e mostra uma lista das suas imagens.

  3. Na lista de imagens, clique no nome de uma imagem.

    A página mostra uma lista dos seus resumos de imagem.

  4. Na lista de resumos de imagem, clique em um nome de resumo.

    A página mostra uma linha de guias em que a guia Visão geral está aberta, mostrando detalhes como formato, local, repositório, tamanho virtual e tags.

  5. Na linha de guias, clique em Dependencies.

    A guia "Dependências" é aberta e mostra as seguintes informações:

    • Seção do SBOM
    • Seção "Licenses"
    • Uma lista de dependências filtrável

SBOM

A seção de resumo do SBOM mostra as seguintes informações:

  • Arquivo: um nome de arquivo SBOM clicável, que abre o local em que o SBOM está salvo no Cloud Storage.
  • Tipo: o tipo de padrão SBOM usado, como a troca de dados de pacotes de software (SPDX, na sigla em inglês) ou Cyclone.
  • Versão: a versão do padrão SBOM usada.
  • Gerado por: a origem dos dados do SBOM, gerados pela Artifact Analysis ou enviados manualmente.

Licença

A seção de resumo Licenses mostra um gráfico de barras chamado Most common licenses. Isso representa os tipos de licenças que aparecem com mais frequência nas informações de dependência. Quando você mantém o cursor sobre uma barra no gráfico, o console mostra a contagem exata de instâncias desse tipo de licença.

Dependências

A lista de dependências mostra o conteúdo do resumo da imagem, incluindo:

  • Nome do pacote
  • Versão do pacote
  • Tipo de pacote
  • Tipo de licença

É possível filtrar a lista de dependências por qualquer uma dessas categorias.

Conferir SBOMs no Cloud Build

Se você estiver usando o Cloud Build, poderá conferir os metadados da imagem no painel lateral Insights de segurança no console do Google Cloud.

O painel lateral Insights de segurança oferece uma visão geral de alto nível das informações de segurança do build para artefatos armazenados no Artifact Registry. Para saber mais sobre o painel lateral e como usar o Cloud Build para proteger sua cadeia de suprimentos de software, consulte Conferir insights de segurança do build.

Conferir SBOMs com a CLI gcloud

Use o comando gcloud artifacts sbom list para pesquisar SBOMs armazenados no Cloud Storage. Essa pesquisa se aplica a todos os SBOMs no Cloud Storage, incluindo aqueles gerados pelo Artifact Analysis e qualquer um que você escolher fazer upload de outra fonte usando um formato compatível.

É possível usar filtros com o comando gcloud para restringir os resultados e se concentrar nas SBOMs mais relevantes para uma preocupação de segurança ou solicitação de compliance específica.

Por exemplo, o comando abaixo demonstra como receber informações sobre o SBOM de uma imagem do Docker my-image armazenada no Artifact Registry:

gcloud artifacts sbom list \
    --resource="us-east1-docker.pkg.dev/my-project/my-repo/my-image:1.0"

Em que:

  • --resource especifica o URI do recurso de imagem para listar as referências de arquivo do SBOM.

A saída inclui o seguinte:

  • O local do Cloud Storage para a SBOM. Usando o local do Cloud Storage, é possível conferir o SBOM na CLI gcloud executando o comando gcloud storage cat.
  • Se a SBOM ainda está no bucket do Cloud Storage ou foi removida.
  • Um hash do SBOM que pode ser usado para verificar se ele não foi modificado.

Filtros

É possível filtrar SBOMs específicos usando qualquer uma das seguintes flags opcionais:

Sinalização Motivo Valor de entrada
--dependency Lista todas as referências de arquivo SBOM em que um recurso tem o pacote especificado instalado. Consulte tipos de pacotes compatíveis. O nome de um pacote instalado
--resource Lista as referências de arquivo do SBOM relacionadas a uma imagem específica. O URI do recurso
--resource-prefix Lista as referências de arquivo do SBOM relacionadas ao prefixo do caminho do recurso. Um caminho de recurso, que será usado como um prefixo para a pesquisa

Exemplos de filtragem

Filtrar resultados por URI do recurso:

gcloud artifacts sbom list \
--resource="us-east1-docker.pkg.dev/project/repo/my-image@sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356"

Filtrar por prefixo de recurso:

gcloud artifacts sbom list \
--resource-prefix="us-east1-docker.pkg.dev/project/repo"

Limitações

A seguir