Neste tutorial, mostramos como proteger o Compute Engine usando um perímetro de serviço e resolver uma violação de entrada para permitir o acesso autorizado ao Compute Engine.
Com o VPC Service Controls, você pode definir um perímetro de serviço em torno dos recursos dos serviços gerenciados pelo Google para controlar a comunicação entre esses serviços. É possível estabelecer um perímetro de confiança zero em torno dos recursos sensíveis, restringindo o acesso a endereços IP, usuários e dispositivos autorizados. Esse recurso permite definir políticas de segurança que impedem o acesso a serviços gerenciados pelo Google fora de um perímetro confiável, bloqueiam o acesso a dados em locais não confiáveis e reduzem os riscos de exfiltração de dados.
Este tutorial é destinado a Google Cloud administradores de organizações que querem aprender os conceitos básicos do VPC Service Controls.
Objetivos
- Entenda os conceitos básicos do VPC Service Controls.
- criar um perímetro de serviço;
- Proteja um projeto usando o VPC Service Controls.
- Resolver uma violação de entrada do VPC Service Controls.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
Antes de começar
Você precisa ter um Google Cloud recurso de organização. Se você ainda não tem uma conta do Google Workspace ou do Cloud Identity, adquira uma para criar um recurso de organização automaticamente.
Crie uma pasta,
Exercise
, no nível da organização.Crie dois projetos,
My-Project-1
eMy-Project-2
, na pastaExercise
na mesma organização.Verifique se você tem as permissões e os papéis a seguir no nível da organização:
Permissões e papéis necessários para configurar o VPC Service Controls.
Permissões e papéis necessários para gerenciar o Compute Engine.
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
:
No console do Google Cloud, acesse a página VPC Service Controls.
Acessar o VPC Service Controls
Verifique se você está no escopo da organização.
Clique em Gerenciar políticas.
Crie uma nova política de acesso com escopo na pasta
Exercise
.Crie um novo perímetro com os seguintes detalhes:
Título:
MyFirstPerimeter
Tipo de perímetro: Regular
Modo de aplicação: Obrigatório
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.
Acesse o projeto
My-Project-1
e verifique se você pode acessar o Compute Engine acessando a página Instâncias de VM.Você poderá acessar porque
My-Project-1
não está protegido pelo perímetro que você criou anteriormente.Acesse o projeto
My-Project-2
e verifique se você pode acessar o Compute Engine acessando a página Instâncias de VM.O VPC Service Controls nega sua solicitação de acesso ao Compute Engine porque o perímetro
MyFirstPerimeter
protegeMy-Project-2
e a API Compute Engine.
Resolver problemas 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 a violação no projeto My-Project-2
.
Ver registros de auditoria
Encontre o ID exclusivo da violação do VPC Service Controls nos registros de auditoria do projeto
My-Project-2
:-
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.
Selecione o projeto
My-Project-2
.Para mostrar todos os registros de auditoria, insira a consulta a seguir no campo do editor de consultas:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Clique em Executar consulta.
Essa consulta mostra todos os registros de auditoria do VPC Service Controls. Para encontrar os detalhes da violação para acessar a API Compute Engine no projeto
My-Project-2
, confira o último registro de erros.Para mais informações, consulte Visualizar registros.
-
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 Solucionador de problemas do VPC Service Controls é aberta. Essa página mostra o motivo da violação e outras informações, como se a violação é de entrada ou de 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 Google Cloud que não é compatível com o VPC Service Controls.
Para corrigir essa negação no projeto My-Project-2
, você tem duas opções:
Crie um nível de acesso que permita o acesso ao 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 aos recursos dentro dele.
A seção a seguir ilustra como resolver esse problema criando um nível de acesso.
Criar um nível de acesso
No console do Google Cloud, acesse a página Access Context Manager no escopo da pasta
Exercise
.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 atendida, retorne, selecione Verdadeiro.
Selecione o atributo Sub-redes de IP e especifique o endereço IP público do sistema.
Selecione o atributo Localizações geográficas e especifique sua localização geográfica.
Esse nível de acesso permite o acesso somente quando o endereço IP e o local geográfico são correspondentes.
Acesse a página VPC Service Controls no escopo da organização.
Selecione a política de acesso que você criou anteriormente neste tutorial.
Adicione o nível de acesso criado no escopo da pasta
Exercise
ao perímetroMyFirstPerimeter
.
Testar o acesso
Depois de adicionar o nível de acesso, verifique se é possível acessar o Compute Engine
no projeto My-Project-2
e criar uma instância de VM.
No console do Google Cloud, acesse a página Instâncias de VMs.
Após cerca de um minuto, o Compute Engine cria uma instância de VM, e 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 no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Excluir recursos individuais
Excluir instâncias de VM
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Excluir recursos do VPC Service Controls
Exclua o nível de acesso criado no escopo da pasta
Exercise
.