Crie uma aplicação e veja informações de segurança

Este início rápido explica como criar uma aplicação e ver informações de segurança para a compilação no painel Informações de segurança na Google Cloud consola.

Vai:

  • Crie e coloque num contentor uma aplicação Java com o Cloud Build e envie a imagem do contentor para o repositório Docker do Artifact Registry.
  • Veja as seguintes estatísticas de segurança para a compilação:

    • Níveis da cadeia de fornecimento para artefactos de software (SLSA) level, que identifica o nível de maturidade do seu processo de compilação de software de acordo com a especificação SLSA .
    • Vulnerabilidades nos artefactos de compilação.
    • Lista de materiais de software (SBOM) para os artefactos de compilação.
    • Crie a proveniência, que é uma coleção de metadados validáveis sobre uma compilação. Inclui detalhes como os resumos das imagens criadas, as localizações das fontes de entrada, a cadeia de ferramentas de compilação, os passos de compilação e a duração da compilação.

Antes de começar

  1. 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.
  2. Install the Google Cloud CLI.

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

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

    gcloud init
  5. 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.

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

  7. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  8. Install the Google Cloud CLI.

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

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

    gcloud init
  11. 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.

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

  13. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  14. Prepare o seu ambiente

    1. Defina o ID do projeto como uma variável de ambiente:

      export PROJECT_ID=$(gcloud config get project)
      
    2. Clone o repositório que contém o exemplo de código Java para criar e colocar num contentor:

      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 a sua imagem

    1. Crie um novo repositório Docker denominado containers na localização us-central1 com a descrição "Repositório Docker":

      gcloud artifacts repositories create containers \
          --repository-format=docker \
          --location=us-central1 --description="Docker repository"
      
    2. Verifique se o repositório foi criado:

      gcloud artifacts repositories list
      

      Deve ver containers na lista de repositórios apresentados.

    Crie a aplicação

    Crie e coloque a aplicação Java num contentor com o Cloud Build. O comando seguinte cria e coloca a aplicação Java num contentor e armazena o contentor criado no repositório Docker do Artifact Registry:

    gcloud builds submit --config=cloudbuild.yaml --region=us-central1
    

    Após a conclusão da compilação, é apresentada uma mensagem de estado de êxito 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>
    

    Gere uma SBOM para a imagem criada

    Uma SBOM é um inventário completo de uma aplicação que identifica os pacotes dos quais o seu software depende. Os conteúdos podem incluir software de terceiros de fornecedores, artefactos internos e bibliotecas de código aberto.

    Gere a SBOM para a imagem que criou na secção anterior:

    gcloud artifacts sbom export \
        --uri=us-central1-docker.pkg.dev/${PROJECT_ID}/containers/java-guestbook-backend:quickstart
    

    Veja estatísticas de segurança

    A IU do Cloud Build na Google Cloud consola contém o painel Estatísticas de segurança, que apresenta informações de segurança relacionadas com a compilação, como o nível SLSA, quaisquer vulnerabilidades nas dependências e a proveniência da compilação.

    Para ver o painel Estatísticas de segurança:

    1. Abra a página Histórico de compilações na Google Cloud consola:

      Abra a página Criar histórico

    2. Selecione o projeto e clique em Abrir.

    3. No menu pendente Região, selecione us-central1.

    4. Na tabela com as compilações, localize a linha com a compilação que acabou de executar.

    5. Na coluna Estatísticas de segurança, clique em Ver.

    É apresentado o painel Estatísticas de segurança para a compilação:

    Este painel apresenta as seguintes informações:

    • Nível SLSA: esta compilação alcançou o nível 3 da SLSA. Clique no link Saiba mais para saber o que significa este nível de segurança.

    • Vulnerabilidades: quaisquer vulnerabilidades encontradas nos seus artefactos. Clique no nome da imagem (java-guestbook-backend) para ver os artefactos que foram analisados quanto a vulnerabilidades.

    • Dependências da imagem de contentor criada no Artifact Registry.

    • Detalhes da compilação: detalhes da compilação, como o criador e o link para ver os registos.

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página, elimine o Google Cloud projeto com os recursos.

    1. Desative a API Container Scanning:

      gcloud services disable containerscanning.googleapis.com --force
      
    2. Elimine o repositório do Artifact Registry:

      gcloud artifacts repositories delete containers \
          --location=us-central1 --async
      

      Eliminou o repositório que criou como parte deste início rápido.

    O que se segue?