Tutorial básico do VPC Service Controls I

1. Introdução

O VPC Service Controls (VPC-SC) é um controle de segurança no nível da organização no Google Cloud que permite que clientes corporativos reduzam os riscos de exfiltração de dados. O VPC Service Controls oferece acesso estilo confiança zero a serviços multilocatários, permitindo que os clientes restrinjam o acesso a IPs autorizados, contexto do cliente e parâmetros de dispositivo enquanto se conectam a serviços multilocatários da Internet e de outros serviços para reduzir perdas intencionais e não intencionais. É possível usar o VPC Service Controls para criar perímetros que protegem os recursos e os dados dos serviços especificados explicitamente.

Estes são os objetivos deste tutorial:

  • Entender os conceitos básicos do VPC Service Controls
  • Criar um perímetro de serviço de VPC
  • Proteger um projeto com o VPC Service Controls
  • Resolver uma violação de entrada do VPC Service Controls

2. Configuração e requisitos

Para este tutorial, precisamos dos seguintes pré-requisitos:

  • Uma organização do GCP
  • Uma pasta em Organização.
  • Dois projetos do GCP na mesma organização colocados na pasta.
  • As permissões necessárias no nível da organização.
  • conta de faturamento para os dois projetos.

1a62ebea85d6d4fc.png

Configuração de recursos

  1. No console do Google Cloud, crie uma pasta em "Organização" e dois novos projetos (é possível reutilizar os atuais).

Se você ainda não tiver uma conta do Google Workspace/Cloud Identity, adquira uma, porque você vai precisar de uma organização para este tutorial.

  1. Verifique se você tem as permissões corretas para este tutorial no nível da organização.
  1. Verifique se os dois projetos estão disponíveis na pasta, porque precisamos criar uma política com escopo no nível da pasta. Saiba mais sobre como mover um projeto para uma pasta.

f7c75ab82028cb15.png

Custo

É necessário ativar o faturamento no console do Cloud para usar os recursos/APIs do Cloud. A execução deste codelab não vai ser muito cara, se tiver algum custo. Para encerrar os recursos e evitar cobranças além deste tutorial, exclua os recursos criados ou exclua o projeto. Novos usuários do Google Cloud estão qualificados para o programa de teste sem custo financeiro de US $300.

O único recurso que gera custo é a instância da VM. Confira um custo estimado na calculadora de preços.

3. Criar um perímetro

Neste laboratório, vamos realizar as seguintes etapas:

  1. No Console do Google, selecione sua organização e Acessar o VPC Service Controls. Verifique se você está no nível da organização.

43d5af2d5f084bb4.png

  1. Clique em "Gerenciar políticas" para criar uma nova política de acesso com escopo para o "Codelab". do Compute Engine.

9f75d949ca9992c4.png

  1. Crie um novo perímetro no modo forçado. Vamos chamá-lo de "SuperProtection". para este tutorial.
  • Ao criar o perímetro, selecione o projeto a ser aplicado como o ProjetoZ.
  • Selecione o tipo de perímetro como "Normal".
  • Na caixa de diálogo Especificar serviços a serem restritos, selecione o serviço a ser restrito como "Compute Engine".

A configuração do perímetro ficará assim:

914d603103cb21.png

4. Verificar se o perímetro foi aplicado

  1. Acesse o ProjectX e verifique se você pode acessar a API Compute Engine visitando a página inicial das instâncias de VM. É provável que você consiga fazer isso porque o projectX não está protegido pelo perímetro do VPC SC criado.
  2. Acesse o ProjectZ e verifique se você pode acessar o Compute Engine. A solicitação foi proibida pelo VPC Service Controls porque o SuperProtection do perímetro de serviço protege o ProjectZ e a API Compute Engine.

d5073543f783e9c7.png

5. Solução de problemas de negação

Primeiro, temos que identificar qual é exatamente o problema aqui para determinar como resolvê-lo.

  1. Os registros do VPC Service Controls incluem detalhes sobre solicitações de recursos protegidos e o motivo da recusa da solicitação. Vamos encontrar o ID exclusivo do VPC Service Controls nos registros de auditoria do ProjectZ usando a seguinte consulta na Análise de registros:
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

Isso vai mostrar todos os registros de auditoria do VPC Service Controls. Vamos procurar o último registro de erros.

  1. Clique no cabeçalho VPC Service Controls e selecione "Resolver problemas de negação". que vai abrir o Solucionador de problemas do VPC Service Controls.

Essa API vai mostrar o motivo da violação em uma interface fácil de usar e se foi uma violação de entrada ou saída, entre outras coisas úteis.

Para este exercício, vamos procurar o seguinte:

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

Temos duas opções para corrigir essa negação no ProjectZ.

  • Criar um nível de acesso para conceder acesso ao projeto dentro do perímetro concedendo acesso ao IP do meu sistema.
  • Criar uma regra de entrada para permitir o acesso de um cliente de API de fora do perímetro de serviço aos recursos dentro dele.

Neste tutorial, vamos resolver problemas com a criação de um nível de acesso.

  1. Acesse o Access Context Manager no escopo da pasta (Codelab) e crie um novo nível de acesso.
  2. Usar o "Modo básico" e permitiremos acesso quando a sub-rede IP e a localização geográfica forem atendidas.

678f0f9d7bac921d.png

  1. Acesse o VPC Service Controls no escopo da organização. Selecione sua política de acesso para este codelab e edite o perímetro criado anteriormente.
  2. Adicione o nível de acesso criado no escopo da pasta e salve.

c0af5691dfe9dd75.png

6. Resultados do teste.

Confirme se temos acesso ao Compute Engine e se podemos criar uma instância de VM. Agora que criamos o nível de acesso, vamos tentar acessar o Compute Engine no ProjectZ e criar uma instância de VM.

  1. Acesse o Compute Engine e clique em Criar instância.

c1206aaf18497ec1.png

  1. Deixe tudo como padrão e tente criar uma instância de VM de baixo custo.

Após cerca de um minuto, a instância de VM será criada e você poderá verificar se tem acesso total ao Compute Engine protegido dentro do perímetro.

5b2ded02f669b2ef.png

7. Limpeza

Não há cobrança separada pelo uso do VPC Service Controls quando o serviço não está em uso, mas a prática recomendada é limpar o ambiente usado no laboratório. Também é possível excluir sua instância de VM e/ou projetos do Cloud para evitar cobranças. A exclusão do projeto do Cloud interrompe o faturamento de todos os recursos usados nele.

  1. Para excluir sua instância de VM, marque a caixa de seleção à esquerda do nome da instância de VM e clique em Excluir.

da0abf0894fe03cd.png

  1. Para excluir o perímetro, siga estas etapas:
  • No console do Google Cloud, clique em Segurança e depois em VPC Service Controls no escopo da organização.
  • Na página do VPC Service Controls, na linha da tabela correspondente ao perímetro que você quer excluir, clique em "Excluir ícone".
  1. Para excluir o nível de acesso, siga estas etapas:
  • No console do Google Cloud, abra a página Access Context Manager no escopo da pasta.
  • Na grade, na linha do nível de acesso que você quer excluir, clique em "Excluir ícone" e em Excluir.
  1. Para encerrar os projetos, siga estas etapas:
  • No console do Google Cloud, acesse a página IAM e Configurações de administrador do projeto que você quer excluir.
  • Na página "IAM e Configurações de administrador, clique em Encerrar.
  • Digite o ID do projeto e clique em Encerrar mesmo assim.

8. Parabéns!

Neste codelab, você criou, aplicou e resolveu um perímetro de VPC Service Controls.

Saiba mais

Licença

Este conteúdo está sob a licença Atribuição 2.0 Genérica da Creative Commons.