arrow_back

Como proteger o armazenamento em cache de borda com o Cloud Armor

Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

Como proteger o armazenamento em cache de borda com o Cloud Armor

Laboratório 1 hora universal_currency_alt 1 crédito show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

GSP878

Visão geral

As políticas de segurança de borda do Google Cloud Armor permitem que você restrinja o acesso aos objetos em cache no Cloud CDN (rede de fornecimento de conteúdo) e no Cloud Storage. As políticas de segurança de borda são implantadas e aplicadas no perímetro mais externo da rede do Google, acima de onde o cache do Cloud CDN reside. Isso é feito para garantir que os usuários não acessem objetos de buckets de armazenamento em geografias restritas ou garantir que a distribuição de mídia seja filtrada nas geografias em que você tenha licença para fazer isso.

Neste laboratório, você vai criar um bucket do Google Cloud Storage, fazer upload de uma imagem nele, vinculá-lo a um balanceador de carga e depois ativar as políticas de segurança de borda do Cloud CDN e Cloud Armor nele.

O que você vai aprender

Neste laboratório, você vai aprender a:

  • Definir um bucket do Cloud Storage com conteúdo armazenável em cache
  • Criar uma política de segurança de borda para proteger o conteúdo
  • Validar se a política de segurança de borda está funcionando conforme o esperado

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:

    • O botão Abrir console do Google Cloud
    • O tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações, se forem necessárias
  2. Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.

    O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.

    {{{user_0.username | "Nome de usuário"}}}

    Você também encontra o Nome de usuário no painel Detalhes do laboratório.

  4. Clique em Seguinte.

  5. Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.

    {{{user_0.password | "Senha"}}}

    Você também encontra a Senha no painel Detalhes do laboratório.

  6. Clique em Seguinte.

    Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  7. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.

Observação: clique em Menu de navegação no canto superior esquerdo para acessar uma lista de produtos e serviços do Google Cloud. Ícone do menu de navegação

Antes de começar

  • No Cloud Shell, defina o ID do projeto e crie uma variável de ambiente para ele:
export PROJECT_ID=$(gcloud config get-value project) echo $PROJECT_ID gcloud config set project $PROJECT_ID

Tarefa 1: criar um bucket do Cloud Storage e fazer upload de um objeto

O bucket do Cloud Storage será a origem do Cloud CDN.

  1. No console, acesse menu de navegação (Menu de navegação) > Cloud Storage > Buckets.

  2. Para criar um novo bucket do Cloud Storage, clique em CRIAR.

  3. Defina o nome do bucket como -bucket .

  4. Clique em Continuar.

  5. Em Tipo de local, selecione Região e escolha .

  6. Clique em Continuar.

  7. A classe de armazenamento padrão do seu bucket é Standard. Clique em Continuar.

  8. Desmarque a caixa de seleção Aplicar a prevenção do acesso público neste bucket em Impedir acesso público.

  9. Escolha Refinado em Controle de acesso.

  10. Clique em Continuar.

  11. Clique em Criar.

Pronto. Você criou um bucket do Cloud Storage!

Fazer upload de um objeto para o bucket

Agora faça upload de um objeto no bucket, que você usará mais tarde. Por padrão, os buckets do Cloud Storage são particulares. Neste laboratório, você vai disponibilizar o objeto na Internet.

  1. Execute o seguinte comando no Cloud Shell para fazer o download de uma imagem no Cloud Shell. Uma imagem da página inicial do Google vai ser usada neste laboratório.
wget --output-document google.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
  1. Use o comando gsutil cp para fazer upload da imagem do Cloud Shell no bucket criado:
gsutil cp google.png gs://{{{project_0.startup_script.project_id|Bucket Name}}}
  1. Remova a imagem baixada do Cloud Shell:
rm google.png
  1. Localize o objeto carregado no bucket acessando Cloud Storage > Buckets > .

  2. Agora clique nos três pontos no lado direito do objeto carregado e depois em Editar acesso.

  3. Clique em Adicionar entrada e defina a entidade como Pública na lista suspensa.

  4. Clique em Salvar.

Editar a página de acesso, que lista as entidades e inclui os botões Salvar e Cancelar

Clique em Verificar meu progresso para conferir o objetivo. Criar um bucket do Cloud Storage e fazer upload de um objeto

Tarefa 2: criar um balanceador de carga

O Cloud CDN e o Cloud Armor são componentes que podem ser vinculados ao Cloud Load Balancing global do Google. Nesta seção, você vai criar um balanceador de carga HTTP.

  1. Vá para Rede > Serviços de rede > Balanceamento de carga.
  2. Clique em Criar balanceador de carga.
  3. Em Tipo de balanceador de carga, selecione Balanceador de carga de aplicativo (HTTP/HTTPS) e clique em Próxima.
  4. Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
  5. Em Implantação global ou de região única, selecione Melhor para cargas de trabalho globais e clique em Próxima.
  6. Em Geração do balanceador de carga, selecione Balanceador de carga de aplicativo externo global e clique em Próxima.
  7. Clique no botão CONFIGURAR.
  8. Nomeie o balanceador de carga como edge-cache-lb.

Criar configuração de front-end

Para criar a configuração de front-end:

  1. Clique em Configuração de front-end.

  2. Para a configuração de front-end, use HTTP (embora HTTPS também funcione se você tiver um certificado) e um endereço IP temporário e certifique-se de ter selecionado a rede do nível Premium. Esse é o valor padrão.

  3. Clique em Concluído.

Página da configuração de front-end, que inclui a descrição do balanceador de carga

Criar configuração de back-end

Para criar a configuração de back-end:

  1. Clique em Configuração de back-end.

  2. Em Serviços e buckets de back-end, clique em Criar um bucket de back-end.

  3. Defina o nome do bucket de back-end como lb-backend-bucket.

  4. No próximo campo, selecione o bucket do Cloud Storage criado anteriormente clicando no botão Procurar.

  5. Mantenha os outros valores padrão.

  6. Clique em Criar.

Criar regras de host e caminho

Para criar regras de host e caminho:

  1. Clique em Regras de roteamento na esquerda.

  2. Selecione Regra de host e caminho simples em Modo para enviar uma solicitação para o bucket. Essa é a opção padrão.

Analise e crie o balanceador de carga HTTP

Para analisar e criar o balanceador de carga HTTP:

  1. Clique em Analisar e finalizar.
  2. Confira os Serviços de back-end e Front-end.
  3. Clique em Criar.

Encontrar o IP do balanceador de carga

Para encontrar o IP do balanceador de carga do console:

  • Clique no nome do balanceador de carga na lista de balanceadores de carga do projeto. Anote o endereço IPv4 do balanceador de carga para a próxima tarefa. Faça referência a ele como [LOAD_BALANCER_IP].

A página de detalhes, que inclui o endereço IP:Porta destacado

Consultar o balanceador de carga

Após alguns minutos, consulte o balanceador de carga quanto ao objeto carregado. Você precisará do endereço IP do balanceador de carga e do nome da imagem.

  1. Execute o seguinte comando no CloudShell e substitua LOAD_BALANCER_IP pelo endereço IPv4 do balanceador de carga:
curl -svo /dev/null http://LOAD_BALANCER_IP/google.png Observação: pode levar até cinco minutos para você acessar o balanceador de carga HTTP.

Saída:

student-cloudshell% curl -svo /dev/null http://34.98.81.123/google.png * Trying 34.98.81.123... * TCP_NODELAY set * Connected to 34.98.81.123 (34.98.81.123) port 80 (#0) > GET /google.png HTTP/1.1 > Host: YOUR_IP > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 200 OK < X-GUploader-UploadID: ADPycdtoILI76KVsvBvdVGvSfzaxys1m3zYqCepBrmJxAI48ni24cWCRIdNu-53PX3DS6iycxp6xwFbMpwtcHHZQUQmEBxAgng < Expires: Mon, 13 Dec 2021 22:58:26 GMT < Date: Mon, 13 Dec 2021 21:58:26 GMT < Cache-Control: public, max-age=3600 < Last-Modified: Mon, 13 Dec 2021 21:45:57 GMT < ETag: "8f9327db2597fa57d2f42b4a6c5a9855" < x-goog-generation: 1639431957957903 < x-goog-metageneration: 2 < x-goog-stored-content-encoding: identity < x-goog-stored-content-length: 5969 < Content-Type: image/png < x-goog-hash: crc32c=TeiHTA== < x-goog-hash: md5=j5Mn2yWX+lfS9CtKbFqYVQ== < x-goog-storage-class: STANDARD < Accept-Ranges: bytes < Content-Length: 5969 < Server: UploadServer
  1. Faça algumas consultas com este comando:
for i in `seq 1 50`; do curl http://LOAD_BALANCER_IP/google.png; done

Confirmar conteúdo disponibilizado pelo Cloud CDN

  • Valide se o conteúdo está sendo disponibilizado do CDN via CDN ou monitoramento de balanceamento de carga. Para isso, acesse Serviços de rede > Cloud CDN.

Página de visão geral do Cloud CDN, com um resultado preenchido

Sua taxa de acerto deve ser próxima a 100%.

Clique em Verificar meu progresso para conferir o objetivo. Criar um balanceador de carga

Tarefa 3: excluir o objeto do bucket do Cloud Storage

Agora que o cache está preenchido, exclua o objeto do bucket. Isso vai confirmar que você está aplicando a política ao cache e não back-end.

  1. Acesse Cloud Storage > Buckets > -bucket > Objetos.

  2. Selecione o objeto e exclua-o clicando no botão Excluir na parte de cima.

  3. Clique em Excluir no prompt.

Clique em Verificar meu progresso para conferir o objetivo. Excluir o objeto do bucket do Cloud Storage

Tarefa 4: criar uma política de segurança de borda

As políticas do Cloud Armor são efetivadas fora do balanceador de carga HTTP. Quando uma política do Cloud Armor for implantada, você poderá associá-la a um ou mais recursos de bucket ou serviço de back-end do balanceador de carga HTTP, denominado Destino.

  1. Acesse Segurança de rede > Políticas do Cloud Armor e clique em Criar política.
  1. Defina os valores a seguir, mantenha os demais como padrão e clique em Próxima etapa:
Propriedade Valor (digite o valor ou selecione a opção conforme especificado)
Nome edge-security-policy
Tipo de política Política de segurança de borda
Ação de regra padrão Negar
  1. Na seção Aplicar a política nos destinos, clique em Adicionar destino e defina estes valores:
Propriedade Valor
Tipo 1 Bucket de back-end (balanceador de carga de aplicativo externo)
Destino do bucket de back-end 1 lb-backend-bucket
  1. Clique em Concluído.

  2. Clique em Criar política.

Validar a política de segurança de borda

Agora que você criou uma política de segurança de borda no bucket de back-end, valide se ela funciona como esperado.

Verificar a política de segurança

Depois de alguns minutos, verifique se a política do Cloud Armor está funcionando.

Na linha de comando, execute este comando, que resulta em um código 403:

curl -svo /dev/null http://LOAD_BALANCER_IP/google.png

Um erro 403 ocorre quando você não tem permissão para acessar uma página da Web ou algo em um servidor da Web.

Saída:

curl -svo /dev/null http://34.98.81.123/google.png * Trying 34.98.81.123... * TCP_NODELAY set * Connected to 34.98.81.123 (34.98.81.123) port 80 (#0) > GET /google.png HTTP/1.1 > Host: YOUR_IP > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 403 Forbidden < X-GUploader-UploadID: ADPycdtS6FtJOGIsiWYDrAAE8VFeQuNutcvbGoQe2t8EZxsuspVtmCjyiTv_P3CNktroHMOGFXkTCfG-Jj-rUO60ZGPpEbpqcw < Content-Type: application/xml; charset=UTF-8 < Content-Length: 111 < Date: Mon, 13 Dec 2021 23:09:35 GMT < Expires: Mon, 13 Dec 2021 23:09:35 GMT < Cache-Control: private, max-age=0 < Server: UploadServer

Analisar os logs

Agora analise os logs para verificar a política de segurança de borda aplicada.

  1. Acesse Observabilidade > Logging > Análise de registros.

  2. Digite o trecho abaixo na caixa de consulta e clique em Executar consulta:

resource.type:(http_load_balancer) AND jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" AND severity>=WARNING
  1. Observe a resposta 403 e a política de segurança aplicada.

A página Consulta, que inclui a mensagem destacada da resposta 403 e a política de segurança

Clique em Verificar meu progresso para conferir o objetivo. Criar política de segurança de borda para o Cloud Armor

Remover a política de segurança

Para comprovar que o objeto está sendo disponibilizado do cache do CDN, remova a política de segurança do Cloud Armor e consulte o objeto. O objeto de origem foi removido do Cloud Storage, mostrando que o objeto está sendo disponibilizado do armazenamento em cache de borda.

  1. Acesse Segurança de rede > Políticas do Cloud Armor > edge-security-policy > Destinos.
  2. Selecione o destino lb-backend-bucket e clique em Remover para remover o bucket de destino. Confirme a opção Remover.
  1. Aguarde alguns minutos e envie outro curl para o recurso no bucket do Cloud Storage:
curl -svo /dev/null http://LOAD_BALANCER_IP/google.png

Desta vez, você recebe uma resposta 200. A página da Web está funcionando como deveria.

Saída:

student-cloudshell% curl -svo /dev/null http://34.98.81.123/google.png Trying 34.98.81.123... TCP_NODELAY set Connected to 34.98.81.123 (34.98.81.123) port 80 (#0) GET /google.png HTTP/1.1 Host: YOUR_IP User-Agent: curl/7.64.1 Accept: */* HTTP/1.1 200 OK X-GUploader-UploadID: ADPycdtI7f49P3MSuZSZ8vl6RwfwmnIDJ59EeSKp7UPvLPawdaiRHXiNWLtseQTxUxceWOvSLvpYmT3pWVkV4qeIP7M Date: Mon, 13 Dec 2021 23:06:46 GMT Last-Modified: Mon, 13 Dec 2021 21:45:57 GMT ETag: "8f9327db2597fa57d2f42b4a6c5a9855" x-goog-generation: 1639431957957903 x-goog-metageneration: 2 x-goog-stored-content-encoding: identity x-goog-stored-content-length: 5969 Content-Type: image/png x-goog-hash: crc32c=TeiHTA== x-goog-hash: md5=j5Mn2yWX+lfS9CtKbFqYVQ== x-goog-storage-class: STANDARD Accept-Ranges: bytes Content-Length: 5969 Server: UploadServer Age: 1621 Cache-Control: public,max-age=3600 { [775 bytes data] Connection #0 to host 34.98.81.123 left intact Closing connection 0

Teste algumas vezes para ver se o código de status 403 é exibido.

Parabéns!

Você criou um bucket do Cloud Storage, fez upload de uma imagem nele, vinculou esse bucket a um balanceador de carga e depois ativou políticas de segurança de borda e do Cloud CDN nele.

Manual atualizado em 16 de julho de 2024

Laboratório testado em 16 de julho de 2024

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível