Este documento descreve como criar e armazenar uma lista de materiais de software (SBOM) com as dependências nas imagens de contêiner.
Ao armazenar imagens de contêiner no Artifact Registry e verificar se há vulnerabilidades com o Artifact Analysis, é possível gerar uma lista de materiais de software (SBOM) usando a Google Cloud CLI.
Para informações sobre como usar a verificação de vulnerabilidades, consulte Verificação automática e Preços.
O Artifact Analysis armazena SBOMs no Cloud Storage. Para mais informações sobre os custos do Cloud Storage, consulte Preços.
Antes de começar
-
Faça login na sua Conta do Google.
Se você ainda não tiver uma, inscreva-se agora.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Container Analysis, Container Scanning APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Container Analysis, Container Scanning APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 - Crie um repositório do Docker no Artifact Registry e envie uma imagem de contêiner para o repositório. Se você não conhece o Artifact Registry, consulte o guia de início rápido do Docker.
Funções exigidas
Para receber as permissões necessárias
para gerenciar buckets do Cloud Storage e fazer upload de arquivos SBOM,
peça ao administrador para conceder a você o
papel do IAM de Administrador do Storage (roles/storage.admin) 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 usando papéis personalizados ou outros papéis predefinidos.
Gerar um arquivo SBOM
Para gerar um arquivo SBOM, use o seguinte comando:
gcloud artifacts sbom export --uri=LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_NAME
Onde
- LOCATION é o local do repositório do Artifact Registry.
- PROJECT_ID é o ID do projeto que contém o repositório do Artifact Registry.
- REPOSITORY é o nome do repositório do Artifact Registry que contém a imagem.
- IMAGE_NAME é o nome da imagem; As imagens podem estar no formato de tag ou formato de resumo. As imagens fornecidas no formato de tag ins serão resolvidas no formato de resumo.
Artifact Analysis armazena sua lista de materiais de software no Cloud Storage. Se você ainda não tiver um bucket do Cloud Storage na mesma região da sua imagem, o Cloud Storage vai criar um para você com o nome artifactanalysis-<var>REGION</var>-<var>PROJECT_NUMBER</var> e enviar a lista de materiais de software para esse bucket. Outras SBOMS nessa região são enviadas para o mesmo
bucket.
É 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 gcloud CLI.
Gerar uma lista de materiais de software sem verificação de vulnerabilidades
Se você quiser gerar uma lista de materiais de software, mas não quiser uma verificação contínua de vulnerabilidades no seu projeto, ainda poderá exportar uma lista se ativar a API Container Scanning antes de enviar a imagem para o Artifact Registry. Depois que a imagem for enviada para o Artifact Registry e você exportar uma lista de materiais de software, será necessário desativar a API Container Scanning para evitar cobranças por outras verificação de vulnerabilidades.
A seguir
- Fazer upload da sua própria lista de materiais de software (SBOM)
- Ver lista de materiais de software e dependências