arrow_back

Como proteger aplicativos do Compute Engine com o BeyondCorp Enterprise

Acesse mais de 700 laboratórios e cursos

Como proteger aplicativos do Compute Engine com o BeyondCorp Enterprise

Laboratório 1 hora 15 minutos universal_currency_alt 5 créditos show_chart Intermediário
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Visão geral

Neste laboratório, você vai proteger cargas de trabalho do Compute Engine com o Identity-Aware Proxy (IAP) do BeyondCorp Enterprise para restringir o tráfego com base na identidade.

O IAP é um recurso do BeyondCorp Enterprise, a solução de confiança zero do Google Cloud que permite que a força de trabalho de uma organização acesse aplicativos da Web com segurança de qualquer lugar, sem a necessidade de VPN e sem medo de malwares, phishing e perda de dados.

Neste laboratório, vamos oferecer um ambiente de desenvolvimento integrado (IDE) baseado na Web, ao qual você vai restringir o acesso com a ativação da configuração de confiança zero.

Objetivos

Neste laboratório, você aprenderá a fazer o seguinte:

  • Configurar o consentimento do OAuth.
  • Configurar credenciais de acesso do OAuth.
  • Configurar o acesso do IAP para o aplicativo implantado.
  • Usar o IAP para restringir o acesso ao aplicativo.

Configuração e requisitos

Antes de clicar no botão "Começar o laboratório"

Importante: 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 do Qwiklabs permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você receberá novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

O que é necessário

Veja os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome)
  • Tempo disponível para concluir as atividades
Observação: não use seu projeto ou conta pessoal do Google Cloud neste laboratório. Observação: se você estiver usando um Pixelbook, faça o laboratório em uma janela anônima.

Como começar o laboratório e fazer login no console

  1. Clique no botão Começar o laboratório. Se for preciso pagar pelo laboratório, você verá um pop-up para selecionar a forma de pagamento. Um painel aparece à esquerda contendo as credenciais temporárias que você precisa usar no laboratório.

    Painel de credenciais

  2. Copie o nome de usuário e clique em Abrir console do Google. O laboratório ativa os recursos e depois abre a página Escolha uma conta em outra guia.

    Observação: abra as guias em janelas separadas, lado a lado.
  3. Na página "Escolha uma conta", clique em Usar outra conta. A página de login abre.

    Caixa de diálogo "Escolha uma conta" com a opção "Usar outra conta" destacada

  4. Cole o nome de usuário que foi copiado do painel "Detalhes da conexão". Em seguida, copie e cole a senha.

Observação: é necessário usar as credenciais do painel "Detalhes da conexão". Não use suas credenciais do Google Cloud Ensina. Não use sua conta pessoal do Google Cloud, caso tenha uma neste laboratório (isso evita cobranças).
  1. 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 Cloud abre nesta guia.

Observação: para acessar a lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Menu do console do Cloud

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.

O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.

    Ícone do Cloud Shell em destaque

  2. Clique em Continuar.

O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:

ID do projeto em destaque no terminal do Cloud Shell

A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  • Para listar o nome da conta ativa, use este comando:
gcloud auth list

Saída:

Credentialed accounts: - @.com (active)

Exemplo de saída:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Para listar o ID do projeto, use este comando:
gcloud config list project

Saída:

[core] project =

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: a documentação completa da gcloud está disponível no guia com informações gerais sobre a gcloud CLI .

Tarefa 1: criar um modelo do Compute Engine

Nesta tarefa, você vai criar um modelo de instância. Esse é um recurso que você usa para criar instâncias de máquina virtual (VM) e grupos gerenciados de instâncias (MIGs, na sigla em inglês).

  1. No Menu de navegação do console do Google Cloud (Menu de navegação), clique em Compute Engine > Modelos de instância.

  2. Selecione Criar modelo de instância.

  3. Na página Criar um modelo de instância, especifique as informações a seguir e mantenha as outras configurações padrão:

Propriedade Valor
Local Global
Série E2
Tipo de máquina e2-micro (2 vCPUs)
Escopos de acesso Definir acesso para cada API
Escopos de acesso > Compute Engine Somente leitura
Firewall Permitir tráfego HTTP
  1. Clique em Opções avançadas.

  2. Clique em Gerenciamento.

  3. Em Automação > Script de inicialização, copie e cole o seguinte script:

# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License.# You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. sudo apt-get -y update sudo apt-get -y install git sudo apt-get -y install virtualenv git clone https://github.com/GoogleCloudPlatform/python-docs-samples cd python-docs-samples/iap virtualenv venv -p python3 source venv/bin/activate pip install -r requirements.txt cat example_gce_backend.py | sed -e "s/YOUR_BACKEND_SERVICE_ID/$(gcloud compute backend-services describe my-backend-service --global --format="value(id)")/g" | sed -e "s/YOUR_PROJECT_ID/$(gcloud config get-value account | tr -cd "[0-9]")/g" > real_backend.py gunicorn real_backend:app -b 0.0.0.0:80
  1. Clique em Criar.

A criação do modelo de instância leva alguns instantes.

Tarefa 2: criar um grupo gerenciado de instâncias

Nesta tarefa, você vai criar um grupo gerenciado de instâncias (MIG, na sigla em inglês), que é uma coleção de instâncias de máquina virtual (VM) que você gerencia como uma única entidade.

  1. No Menu de navegação do console do Google Cloud (Menu de navegação), clique em Compute Engine > Grupos de instâncias.

  2. Clique em Criar grupo de instâncias.

  3. Clique em Novo grupo gerenciado de instâncias (sem estado) no menu à esquerda.

  4. Na página Novo grupo gerenciado de instâncias (sem estado), especifique as informações a seguir e mantenha as outras configurações padrão:

Propriedade Valor
Nome my-managed-instance-group
Modelo de instância Selecione o modelo de instância que você criou na Tarefa 1.
Local Várias zonas
Região us-central1 (Iowa)
Escalonamento automático > Modo de escalonamento automático Desativado: não fazer escalonamento automático
Número de instâncias Para alterar o número de instâncias, primeiro é preciso desativar o escalonamento automático; consulte abaixo. Depois de fazer isso, defina o valor numérico máximo como 3.
Observação: não se esqueça de definir o número de instâncias depois de alterar o modo de escalonamento automático.
  1. Clique em Criar.

A criação do MIG vai levar uns minutos.

Tarefa 3: criar um recurso de certificado SSL autogerenciado do Google Cloud

Nesta tarefa, você vai criar uma chave privada, um certificado e um recurso de certificado SSL autogerenciado. Para poder criar um recurso de certificado SSL do Google Cloud, é preciso ter uma chave privada e um certificado.

Um certificado SSL do Google Cloud inclui uma chave privada e o certificado em si, ambos no formato PEM.

Os certificados SSL autogerenciados são conseguidos, provisionados e renovados por você. Use esse recurso para proteger a comunicação entre os clientes e o balanceador de carga, que você vai criar na próxima tarefa.

Criar uma chave privada e um certificado

  1. Na barra de título do console do Google Cloud, clique em Ativar o Cloud Shell (Cloud Shell). Caso seja solicitado, clique em Continuar.

  2. Para criar uma nova chave privada com criptografia RSA-2048 no formato PEM OpenSSL, execute este comando:

openssl genrsa -out PRIVATE_KEY_FILE 2048

Criar uma CSR

Gere uma solicitação de assinatura de certificado (CSR, na sigla em inglês) no formato PEM usando OpenSSL.

  1. Clique em Abrir editor. Se for solicitado, clique em Abrir em uma nova janela.

  2. No editor do Cloud Shell, clique no menu e selecione Arquivo > Novo arquivo.

  3. Defina ssl_config como nome do arquivo e pressione Enter.

  4. Verifique se o local de criação do arquivo aparece como /home > student-XX-XXXXXXXXX/ssl_config e clique em OK.

  5. Copie e cole a seguinte configuração na janela do editor do Cloud Shell:

[req] default_bits = 2048 req_extensions = extension_requirements distinguished_name = dn_requirements prompt = no [extension_requirements] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [dn_requirements] countryName = US stateOrProvinceName = CA localityName = Mountain View 0.organizationName = Cloud organizationalUnitName = Example commonName = Test
  1. Clique no menu e selecione Arquivo > Salvar.

  2. Retorne à guia anterior. Talvez seja necessário clicar em Abrir terminal para retomar a sessão do Cloud Shell.

  3. Para criar um arquivo de solicitação de assinatura de certificado (CSR, na sigla em inglês), execute este comando OpenSSL:

openssl req -new -key PRIVATE_KEY_FILE \ -out CSR_FILE \ -config ssl_config

Assinar a CSR

Quando uma autoridade certificadora (CA) assina a CSR, ela usa a própria chave privada para criar um certificado.

  • Para criar um certificado autoassinado para teste, execute este comando OpenSSL:
openssl x509 -req \ -signkey PRIVATE_KEY_FILE \ -in CSR_FILE \ -out CERTIFICATE_FILE.pem \ -extfile ssl_config \ -extensions extension_requirements \ -days 365

Criar um recurso de certificado SSL autogerenciado

Para poder criar um recurso de certificado SSL do Google Cloud, é preciso ter uma chave privada e um certificado.

  1. Para criar um certificado SSL global, use o comando gcloud compute ssl-certificates create com a flag --global:
gcloud compute ssl-certificates create my-cert \ --certificate=CERTIFICATE_FILE.pem \ --private-key=PRIVATE_KEY_FILE \ --global
  1. No comando Autorizar o Cloud Shell, clique em Autorizar.

Tarefa 4: criar um balanceador de carga

Nesta tarefa, você vai criar um balanceador de carga. O balanceamento de carga HTTP(S) é implementado no Google Front End (GFE). Os GFEs são distribuídos globalmente e funcionam em conjunto usando a rede global e o plano de controle do Google.

Para configurar um balanceador de carga, suas VMs precisam estar em um grupo de instâncias, que foi criado nas tarefas anteriores.

  1. No console do Google Cloud, acesse o Menu de navegação (Menu de navegação), clique em Ver todos os produtos e selecione Serviços de rede > Balanceamento de carga.

  2. Selecione Criar balanceador de carga.

  3. Em Balanceador de carga de aplicativo (HTTP/S), clique em Próxima.

  4. Em Voltado ao público ou somente 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 em Configurar.

  8. Em Nome do balanceador de carga, digite my-load-balancer.

  9. Clique em Configuração de back-end > Serviços e buckets de back-end > Criar um serviço de back-end.

  10. No painel Criar serviço de back-end, em Nome, digite my-backend-service.
    Use exatamente o nome my-backend-service. Se você usar um nome diferente, o script de inicialização nas suas VMs não vai conseguir encontrar o ID correto do serviço de back-end para autenticar as solicitações.

  11. Em Novo back-end, especifique as informações a seguir e mantenha as outras configurações padrão:

Propriedade Valor
Grupo de instâncias my-managed-instance-group
Números de portas 80
  1. Desmarque Ativar Cloud CDN.

  2. Em Verificação de integridade, clique em Criar uma verificação de integridade.

  3. Em Nome, digite my-health-check.

  4. Em Protocolo, selecione HTTP.

  5. Clique em Salvar.

  6. Clique em Criar.

O painel "Criar um balanceador de carga de aplicativo externo global" vai aparecer novamente.

  1. Clique em Configuração de front-end. Especifique os seguintes valores e não mude as configurações restantes:
Propriedade Valor
Protocolo HTTPS (inclui HTTP/2 e HTTP/3)
Endereço IP Clique em Temporário, e selecione Criar endereço IP
Nome Digite static-ip e clique em Reservar.
Certificado my-cert
  1. Clique em Concluído.

O painel "Criar um balanceador de carga de aplicativo externo global" vai aparecer novamente.

  1. Em Criar um balanceador de carga de aplicativo externo global, clique em Criar.

A página Balanceamento de carga será exibida, e o novo balanceador de carga será criado na respectiva lista.

  1. Quando o console do Cloud criar o novo balanceador de carga, clique no nome dele e anote o endereço IP externo em Detalhes > Front-end. Ele será necessário na tarefa 7.

Tarefa 5: reiniciar suas VMs

Nesta tarefa, você vai reiniciar as VMs em seu MIG para que elas possam autenticar corretamente as solicitações do IAP.

  1. No Menu de navegação do console do Google Cloud (Menu de navegação), clique em Compute Engine > Grupos de instâncias.

  2. Clique em my-managed-instance-group.

  3. Clique em Reiniciar/substituir VMs.

  4. Em Operação, clique em Reiniciar.

  5. Em Instâncias, digite 3

  6. Em Tempo mínimo de espera, digite 0

  7. Clique em Reiniciar VMs.

Tarefa 6: configurar o IAP

Configurar seu firewall

Nesta tarefa, você vai configurar seu firewall para bloquear o acesso às VMs subjacentes e permitir apenas o acesso pelo IAP.

  1. No Menu de navegação do console do Google Cloud (Menu de navegação), clique em Rede VPC > Firewall.

  2. Marque a caixa de seleção default-allow-internal.

  3. Clique em Excluir e depois selecione Excluir para confirmar.

  4. Clique em Criar regra de firewall. Especifique os seguintes valores e não mude as configurações restantes:

Propriedade Valor
Nome allow-iap-traffic
Destinos Todas as instâncias na rede
Intervalos IPv4 de origem 130.211.0.0/22, 35.191.0.0/16 (pressione Enter depois de colar cada valor na caixa)
Protocolos e portas Portas e protocolos especificados
TCP 80
  1. Clique em Criar.

Configurar o IAP

Nesta etapa, você vai configurar o IAP para seu projeto.

  1. No Menu de navegação do console do Google Cloud (Menu de navegação), clique em Segurança > Identity-Aware Proxy.

  2. Clique em Ativar API.

  3. Clique em Acessar Identity Aware Proxy.

  4. Clique em Configurar tela de permissão.

Atenção: não insira informações confidenciais na tela de permissão OAuth. As informações que você salvar nessa tela poderão ser vistas por qualquer pessoa que acessar seu URL. O e-mail e os detalhes do produto são exibidos na tela de login e quando alguém tenta acessar um recurso sem ter permissão para isso.
  1. Em Tipo de usuário, selecione Externo e clique em Criar.

  2. Em Nome do app, digite IAP.

  3. Em E-mail para suporte do usuário, selecione a conta de estudante. Ela tem o valor student-00-*****@qwiklabs.net.

  4. Em Informações de contato do desenvolvedor, copie e cole o Nome de usuário da conta do estudante da janela do laboratório. Isso corresponde ao valor na etapa anterior.

  5. Clique em Salvar e continuar três vezes e selecione Voltar ao painel.

Para alterar as informações na tela de permissão OAuth no futuro, como o nome do produto ou o endereço de e-mail, repita as etapas anteriores para configurar a tela de permissão.

  1. No Menu de navegação do console do Google Cloud (Menu de navegação), clique em Segurança > Identity-Aware Proxy.

  2. Ao lado de my-backend-service, alterne a chave de ativação/desativação na coluna IAP.

  3. Na caixa de diálogo Ativar IAP, marque a caixa de seleção para confirmar que você leu os requisitos de configuração.

  4. Clique em Ativar.

Observação: se um erro for exibido, clique nele. Se você precisar adicionar uma regra de firewall, edite a regra criada anteriormente para incluir o número da porta mencionado no erro. Erro de status do IAP Confirme se o consentimento do OAuth foi configurado.

Adicionar principais à lista de acesso

Nesta etapa, você vai adicionar principais à lista de acesso do IAP para seu projeto.

  1. Em Identity-Aware Proxy, marque a caixa de seleção my-backend-service.

  2. Clique em Adicionar principal.

  3. Para conceder acesso a você, em Novos principais, copie e cole o Nome de usuário do qwiklabs do painel de credenciais do laboratório.

  4. Selecione o papel do Cloud IAP > Usuário de app da Web protegido pelo IAP.

  5. Clique em Salvar.

Confirme o principal para acessar o aplicativo configurando o IAM.

Tarefa 7: testar o IAP

Nesta tarefa, você vai executar um comando curl para testar o acesso ao balanceador de carga externo e, em seguida, vai verificar se ele está protegido pelo IAP.

  1. No console do Google Cloud, acesse o Menu de navegação (Menu de navegação), clique em Ver todos os produtos e selecione Serviços de rede > Balanceamento de carga.

  2. Clique em Front-ends.

  3. Na barra de título do console do Google Cloud, clique em Ativar o Cloud Shell (Cloud Shell). Caso seja solicitado, clique em Continuar.

  4. Execute o seguinte comando curl, substituindo Load Balancer External IP address pelo endereço IP externo do seu balanceador de carga:

curl -kvi https://<Load Balancer External IP address> Observação: a exibição de uma resposta verdadeira gerada pelo IAP significa que você conseguiu configurar o IAP para sua instância do Compute Engine. Mensagem configurada
  1. Role a página do console para cima e localize o redirecionamento Http/2 302 para accounts.google.com.

  2. Clique no link local.

O link abre a página de autenticação integrada de contas do Google.

Caixa de diálogo de autenticação integrada da conta do Google Observação: como você usou um certificado autoassinado, não será possível acessar o aplicativo em si. No entanto, isso confirma que o IAP está configurado e protegendo o tráfego. Confirme o acesso restrito com o IAP.

Parabéns!

Você conseguiu usar o IAP para proteger um aplicativo da Web em execução em uma instância do Compute Engine.

Neste laboratório, você aprendeu a executar as seguintes tarefas:

  • Criar um modelo de instância.
  • Criar um grupo de instâncias.
  • Criar um certificado autoassinado.
  • Criar um balanceador de carga.
  • Configurar uma tela de permissão OAuth.
  • Conceder acesso ao aplicativo com o IAP.

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2020 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.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

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

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

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.