Proteger o Compute Engine usando um perímetro do VPC Service Controls

Neste tutorial, mostramos como proteger o Compute Engine usando um perímetro de serviço e como resolver um problema de violação de entrada para permitir o acesso autorizado ao Compute Engine.

Com o VPC Service Controls, é possível definir um perímetro de serviço em torno dos recursos dos serviços gerenciados pelo Google para controlar a comunicação entre eles. É possível estabelecer um perímetro de zero trust em torno dos seus recursos sensíveis, restringindo o acesso a endereços IP, usuários e dispositivos autorizados. Isso permite definir políticas de segurança que impedem o acesso a serviços gerenciados pelo Google fora de um perímetro confiável, bloquear o acesso a dados em locais não confiáveis e reduzir os riscos de exfiltração de dados.

Este tutorial é destinado a administradores do Google Cloud da organização que querem aprender os conceitos básicos do VPC Service Controls.

Objetivos

  • Entender os princípios básicos do VPC Service Controls.
  • Criar um perímetro de serviço.
  • Proteger um projeto usando o VPC Service Controls.
  • Solucionar um problema de violação de entrada do VPC Service Controls.

Custos

Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custo baseada na sua projeção de uso, utilize a calculadora de preços.

Novos usuários do Google Cloud podem estar qualificados para um teste sem custo financeiro.

Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Para mais informações, consulte Limpeza.

Antes de começar

Criar um perímetro de serviço

Crie um perímetro de serviço que proteja a API Compute Engine no projeto My-Project-2:

  1. No console do Google Cloud , acesse a página VPC Service Controls.

    Acesse o VPC Service Controls

    Verifique se você está no escopo da organização.

  2. Clique em Gerenciar políticas.

  3. Crie uma nova política de acesso para a pasta Exercise.

  4. Crie um novo perímetro com os seguintes detalhes:

    • Título: MyFirstPerimeter

    • Tipo de perímetro: Regular

    • Modo de aplicação: Restrito

    • Recursos a serem protegidos: projeto My-Project-2

    • Serviços restritos: API Compute Engine

Verificar o perímetro

Nesta seção, você pode fazer solicitações de acesso aos recursos nos projetos para confirmar se o perímetro protege os recursos pretendidos.

  1. Abra o projeto My-Project-1 e verifique se você pode acessar o Compute Engine na página Instâncias de VM.

    Acesse "Instâncias de VM"

    Você vai conseguir acessar, porque My-Project-1 não está protegido pelo perímetro criado anteriormente.

  2. Abra o projeto My-Project-2 e verifique se você pode acessar o Compute Engine na página Instâncias de VM.

    O VPC Service Controls vai negar sua solicitação de acesso ao Compute Engine porque o perímetro MyFirstPerimeter protege My-Project-2 e a API Compute Engine.

Resolver um problema de violação

Os registros de auditoria do VPC Service Controls incluem detalhes sobre solicitações de recursos protegidos e o motivo pelo qual o VPC Service Controls negou a solicitação. Você precisa dessas informações para identificar e resolver o problema da violação no projeto My-Project-2.

Acessar registros de auditoria

  1. Encontre o ID exclusivo da violação do VPC Service Controls nos registros de auditoria do projeto My-Project-2:

    1. No console do Google Cloud , acesse a página Análise de registros:

      Acessar a Análise de registros

      Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

    2. Selecione o projeto My-Project-2.

    3. Para mostrar todos os registros de auditoria, insira a seguinte consulta no campo do editor de consultas:

      resource.type="audited_resource"
      protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
      
    4. Clique em Executar consulta.

    Essa consulta mostra todos os registros de auditoria do VPC Service Controls. Para encontrar os detalhes da violação ao acessar a API Compute Engine no projeto My-Project-2, confira o último registro de erros.

    Para mais informações, consulte Visualizar registros.

  2. No painel Resultados da consulta, clique em VPC Service Controls ao lado da negação que você quer resolver e clique em Resolver problemas de negação.

    A página do analisador de violações do VPC Service Controls é aberta. Essa página mostra o motivo da violação e outras informações, como se ela é de entrada ou saída.

    Neste tutorial, procure as seguintes informações:

    "principalEmail": "USER@DOMAIN"
    "callerIp": "PUBLIC_IP_ADDRESS"
    "serviceName": "compute.googleapis.com"
    "servicePerimeterName":
    "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter
    "ingressViolations": [
            {
    "targetResource": "projects/PROJECT_NUMBER",
    "servicePerimeter": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter"
            }
          ],
    "violationReason": "NO_MATCHING_ACCESS_LEVEL",
    "resourceNames": "PROJECT_ID"
    

    O motivo da violação é "NO_MATCHING_ACCESS_LEVEL". A violação de "NO_MATCHING_ACCESS_LEVEL" ocorre quando o endereço IP, o tipo de dispositivo ou a identidade do usuário não corresponde a nenhuma regra de entrada ou nível de acesso associado ao perímetro. Se o endereço IP do autor da chamada estiver ausente ou aparecer como um endereço IP interno no registro, essa violação pode ser causada por um serviço do Google Cloud que não é compatível com o VPC Service Controls.

Para corrigir essa rejeição no projeto My-Project-2, você tem duas opções:

  • Crie um nível de acesso que permita acessar o endereço IP do sistema para o projeto dentro do perímetro.

  • Crie uma regra de entrada que permita o acesso a um cliente de API de fora do perímetro a recursos dentro dele.

A seção a seguir mostra como resolver essa negação criando um nível de acesso.

Criar um nível de acesso

  1. No console do Google Cloud , acesse a página Access Context Manager no escopo da pasta Exercise.

    Acesse o Access Context Manager

  2. Crie um nível de acesso com os seguintes detalhes:

    • Ao lado de Criar condições em, selecione Modo avançado.

    • Em Se a condição for atendida, retorne, selecione True.

    • Selecione o atributo Sub-redes de IP e informe o endereço IP público do seu sistema.

    • Selecione o atributo Localizações geográficas e especifique sua localização geográfica.

    Esse nível de acesso só permite o acesso quando o endereço IP e a localização geográfica correspondem.

  3. Acesse a página VPC Service Controls no escopo da organização.

    Acesse o VPC Service Controls

  4. Selecione a política de acesso que você criou anteriormente neste tutorial.

  5. Adicione o nível de acesso que você criou no escopo da pasta Exercise ao perímetro MyFirstPerimeter.

Testar o acesso

Depois de adicionar o nível de acesso, verifique se o Compute Engine está disponível no projeto My-Project-2 e é possível criar uma instância de VM.

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acesse "Instâncias de VM"

  2. Crie uma instância de VM.

Após cerca de um minuto, o Compute Engine cria uma instância de VM. Essa ação verifica se você tem acesso total ao Compute Engine protegido dentro do perímetro.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Excluir o projeto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Excluir recursos individuais

Excluir instâncias de VM

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Excluir recursos do VPC Service Controls

  1. Exclua o perímetro de serviço.

  2. Exclua o nível de acesso que você criou no escopo da pasta Exercise.

A seguir