Crie um aplicativo e veja insights de segurança
Este guia de início rápido explica como criar um aplicativo e acessar insights de segurança para a versão no painel Insights de segurança do console do Google Cloud.
Você vai:
- Crie e conteinerize um aplicativo Java usando o Cloud Build e envie a imagem do contêiner para o repositório do Artifact Registry Docker.
Confira os seguintes insights de segurança do build:
- Nível de Níveis da cadeia de suprimentos para artefatos de software (SLSA, na sigla em inglês), que identifica o nível de maturidade do processo de build do software de acordo com a especificação do SLSA .
- Vulnerabilidades em artefatos de build.
- Lista de materiais de software (SBOM) para os artefatos de build.
- Procedência do build, que é uma coleção de metadados verificáveis sobre um build. Ele inclui detalhes como resumos das imagens criadas, os locais da origem de entrada, a cadeia de ferramentas de build, as etapas de build e a duração do build.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:
gcloud services enable cloudbuild.googleapis.com
artifactregistry.googleapis.com containerscanning.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:
gcloud services enable cloudbuild.googleapis.com
artifactregistry.googleapis.com containerscanning.googleapis.com
Prepare o ambiente
Defina o ID do projeto como uma variável de ambiente:
export PROJECT_ID=$(gcloud config get project)
Clone o repositório que contém o exemplo de código Java para criar e conteinerizar:
git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git cd software-delivery-shield-demo-java/backend
Criar o repositório do Artifact Registry para a imagem
Crie um novo repositório do Docker chamado
containers
no localus-central1
com a descrição "repositório do Docker":gcloud artifacts repositories create containers \ --repository-format=docker \ --location=us-central1 --description="Docker repository"
Verifique se o repositório foi criado:
gcloud artifacts repositories list
Você vai encontrar
containers
na lista de repositórios exibidos.
Criar o aplicativo
Crie e conteinerize o aplicativo Java usando o Cloud Build. O comando a seguir cria e contém o aplicativo Java e armazena o contêiner criado no repositório do Docker do Artifact Registry:
gcloud builds submit --config=cloudbuild.yaml --region=us-central1
Depois que o build for concluído, uma mensagem de status de sucesso semelhante a esta será exibida:
<pre class="none lang-sh">
DONE
-----------------------------------------------------------------------------
ID: 3e08565f-7f57-4449-bc68-51c46cf33d03
CREATE_TIME: 2022-09-19T15:41:07+00:00
DURATION: 54S
SOURCE: gs://sds-docs-project_cloudbuild/source/1663602066.777581-6ebe4b2d6fd741ffa18936d7f78055e9.tgz
IMAGES: us-central1-docker.pkg.dev/sds-docs-project/containers/java-guestbook-backend:quickstart
STATUS: SUCCESS
</pre>
Gerar uma SBOM para a imagem criada
Um SBOM é um inventário completo de um aplicativo, que identifica os pacotes em que o software depende. O conteúdo pode incluir softwares de terceiros de fornecedores, artefatos internos e bibliotecas de código aberto.
Gere o SBOM para a imagem criada na seção anterior:
gcloud artifacts sbom export
--uri=us-central1-docker.pkg.dev/${PROJECT_ID}/containers/java-guestbook-backend:quickstart
Ver insights de segurança
A interface do Cloud Build no console do Google Cloud contém o painel Security insights, que mostra informações de segurança relacionadas ao build, como o nível de SLSA, vulnerabilidades nas dependências e a origem do build.
Para acessar o painel Insights de segurança:
Abra a página Histórico do build no console do Google Cloud:
Selecione o projeto e clique em Abrir.
No menu suspenso Região, selecione us-central1.
Na tabela com os builds, localize a linha com o build que você acabou de executar.
Na coluna Insights de segurança, clique em Visualizar.
O painel Insights de segurança do build aparece:
Esse painel mostra as seguintes informações:
Nível da SLSA:este build alcançou o nível 3 da SLSA. Clique no link Saiba mais para saber o que esse nível de segurança significa.
Vulnerabilidades:todas as vulnerabilidades encontradas nos seus artefatos. Clique no nome da imagem (java-guestbook-backend) para conferir os artefatos que foram verificados quanto a vulnerabilidades.
Dependências da imagem do contêiner criada no Artifact Registry.
Detalhes do build:detalhes do build, como o builder e o link para visualizar registros.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses recursos.
Desativar a API Container Scanning:
gcloud services disable containerscanning.googleapis.com --force
Exclua o repositório do Artifact Registry:
gcloud artifacts repositories delete containers \ --location=us-central1 --async
Você já excluiu o repositório criado como parte deste guia de início rápido.
A seguir
- Saiba mais sobre o painel de insights de segurança no Cloud Build.
- Saiba como acessar insights de segurança ao implantar no Cloud Run.
- Saiba como visualizar insights de segurança ao implantar no GKE.
- Saiba mais sobre a segurança da cadeia de suprimentos de software