Crie um aplicativo e veja insights de segurança
Neste guia de início rápido, explicamos como criar um aplicativo e ver insights de segurança para o build no painel Insights de segurança do Software Delivery Shield no console do Google Cloud.
Você vai:
- Criar e conteinerizar um aplicativo Java usando o Cloud Build e enviar a imagem do contêiner para o repositório Docker do Artifact Registry.
Veja os seguintes insights de segurança para o build:
- Nível 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, na sigla em inglês) para os artefatos de build.
- Proveniência da versão, que é uma coleção de metadados verificáveis sobre uma versão. Ele inclui detalhes como os resumos das imagens criadas, os locais das origens de entrada, o conjunto de ferramentas, as etapas e a duração da versão.
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
Crie o repositório do Artifact Registry para sua imagem
Crie um novo repositório do Docker denominado
containers
no localus-central1
e 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ê verá
containers
na lista de repositórios exibidos.
Criar o aplicativo
Criar e conteinerizar o aplicativo Java usando o Cloud Build. O comando a seguir cria e conteineriza o aplicativo Java e armazena o contêiner criado no repositório Docker do Artifact Registry:
gcloud builds submit --config=cloudbuild.yaml --region=us-central1
Depois que a criação for concluída, você verá uma mensagem de status de sucesso semelhante à seguinte:
<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 um SBOM para a imagem criada
Um SBOM é um inventário completo de um aplicativo que identifica os pacotes de que seu software depende. O conteúdo pode incluir software de terceiros de fornecedores, artefatos internos e bibliotecas de código aberto.
Gere o SBOM para a imagem que você criou 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 Insights de segurança do Software Delivery Shield que exibe informações de segurança relacionadas ao build, como o nível SLSA, as vulnerabilidades nas dependências e a procedência da compilação.
Para ver o painel Insights de segurança do Software Delivery Shield, faça o seguinte:
Abra a página Histórico de builds no Console do Google Cloud:
Selecione o projeto e clique em Abrir.
No menu suspenso Região, selecione us-central1.
Na tabela com as builds, localize a linha com o build que você acabou de executar.
Na coluna Insights de segurança, clique em Ver.
Você verá o painel Insights de segurança do build:
Esse painel mostra as seguintes informações:
Nível SLSA:esse 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:qualquer vulnerabilidade encontrada nos artefatos. Clique no nome da imagem (java-guestbook-backend) para ver os artefatos verificados em busca de vulnerabilidades.
Dependências para a imagem de contêiner criada no Artifact Registry.
Detalhes do build:detalhes da versão, 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ê 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 do Software Delivery Shield no Cloud Build
- Saiba como acessar insights de segurança ao implantar no Cloud Run.
- Saiba como conferir insights de segurança ao implantar no GKE.
- Saiba mais sobre o Software Delivery Shield (em inglês).