Proteja o Compute Engine com um perímetro dos VPC Service Controls

Este tutorial mostra como proteger o Compute Engine através de um perímetro de serviço e resolver problemas de uma violação de entrada para permitir o acesso autorizado ao Compute Engine.

Os VPC Service Controls permitem-lhe definir um perímetro de serviço em torno dos recursos dos serviços geridos pela Google para controlar a comunicação com e entre esses serviços. Pode estabelecer um perímetro de confiança zero em torno dos seus recursos confidenciais, restringindo o acesso a endereços IP, utilizadores e dispositivos autorizados. Esta capacidade permite-lhe definir políticas de segurança que impedem o acesso a serviços geridos pela Google fora de um perímetro fidedigno, bloqueiam o acesso a dados a partir de localizações não fidedignas e mitigam os riscos de exfiltração de dados.

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

Objetivos

  • Compreenda as noções básicas dos VPC Service Controls.
  • Crie um perímetro de serviço.
  • Proteja um projeto com os VPC Service Controls.
  • Resolva problemas de uma violação de entrada do VPC Service Controls.

Custos

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação gratuita.

Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.

Antes de começar

Crie 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. Na Google Cloud consola, aceda à página VPC Service Controls.

    Aceda aos VPC Service Controls

    Certifique-se de que está no âmbito da organização.

  2. Clique em Gerir políticas.

  3. Crie uma nova política de acesso com âmbito na pasta Exercise.

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

    • Título: MyFirstPerimeter

    • Tipo de perímetro: Regular

    • Modo de aplicação: aplicado

    • Recursos a proteger: projeto My-Project-2

    • Serviços restritos: API Compute Engine

Valide o perímetro

Nesta secção, pode fazer pedidos de acesso aos recursos nos projetos para confirmar se o perímetro protege os recursos pretendidos.

  1. Aceda ao projeto My-Project-1 e verifique se consegue aceder ao Compute Engine visitando a página Instâncias de VM.

    Aceder às instâncias de VM

    Deve conseguir aceder porque My-Project-1 não está protegido pelo perímetro que criou anteriormente.

  2. Aceda ao projeto My-Project-2 e verifique se consegue aceder ao Compute Engine visitando a página Instâncias de VM.

    Deve ver que os VPC Service Controls negam o seu pedido de acesso ao Compute Engine porque o perímetro MyFirstPerimeter protege My-Project-2 e a API Compute Engine.

Resolva uma violação

Os registos de auditoria dos VPC Service Controls incluem detalhes sobre pedidos a recursos protegidos e o motivo pelo qual os VPC Service Controls negaram o pedido. Precisa destas informações para identificar e resolver problemas relacionados com a violação no projeto My-Project-2.

Ver registos de auditoria

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

    1. Na Google Cloud consola, aceda à página Explorador de registos:

      Aceda ao Explorador de registos

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

    2. Selecione o projeto My-Project-2.

    3. Para apresentar todos os registos de auditoria, introduza 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.

    Esta consulta apresenta todos os registos de auditoria dos VPC Service Controls. Para encontrar os detalhes da violação para aceder à API Compute Engine no projeto My-Project-2, verifique o último registo de erros.

    Para mais informações, consulte o artigo Ver registos.

  2. No painel Resultados da consulta, clique em VPC Service Controls junto à recusa que quer resolver e, de seguida, clique em Resolver recusa.

    É apresentada a página Resolução de problemas do VPC Service Controls. Esta página mostra o motivo da violação e outras informações, como se a violação é 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 ocorre quando o endereço IP, o tipo de dispositivo ou a identidade do utilizador não correspondem a nenhuma regra de entrada ou nível de acesso associado ao perímetro."NO_MATCHING_ACCESS_LEVEL" Se o endereço IP do autor da chamada estiver em falta ou aparecer como um endereço IP interno no registo, esta violação pode dever-se a um serviço que não é suportado pelos VPC Service Controls. Google Cloud

Para corrigir esta recusa no projeto My-Project-2, tem duas opções:

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

  • Crie uma regra de entrada que permita o acesso a um cliente da API a partir do exterior do perímetro a recursos no interior do perímetro.

A secção seguinte ilustra como resolver este problema de recusa criando um nível de acesso.

Crie um nível de acesso

  1. Na Google Cloud consola, aceda à página Access Context Manager no âmbito da pasta Exercise.

    Aceda ao Gestor de acesso sensível ao contexto

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

    • Em Criar condições em, selecione Modo básico.

    • Em Quando a condição for cumprida, devolva, selecione Verdadeiro.

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

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

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

  3. Aceda à página VPC Service Controls ao nível da organização.

    Aceda aos VPC Service Controls

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

  5. Adicione o nível de acesso que criou no âmbito da pasta Exercise ao perímetro MyFirstPerimeter.

Teste o acesso

Depois de adicionar o nível de acesso, verifique se consegue aceder ao Compute Engine no projeto My-Project-2 e criar uma instância de VM.

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às 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 e esta ação verifica se tem acesso total ao Compute Engine protegido dentro do perímetro.

Limpar

Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.

Elimine 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.

Elimine recursos individuais

Elimine 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.

Elimine recursos do VPC Service Controls

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

  2. Elimine o nível de acesso que criou no âmbito da pasta Exercise.

O que se segue?