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.
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
Tem de ter um Google Cloud recurso de organização. Se ainda não tiver uma conta do Google Workspace ou do Cloud ID, tem de adquirir uma. Esta ação cria automaticamente um recurso de organização para si.
Crie uma pasta,
Exercise
>, ao nível da organização.Crie dois projetos,
My-Project-1
eMy-Project-2
, na pastaExercise
na mesma organização.Certifique-se de que tem as seguintes autorizações e funções ao nível da organização:
Autorizações e funções necessárias para configurar os VPC Service Controls.
Autorizações e funções necessárias para gerir o Compute Engine.
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
:
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.
Clique em Gerir políticas.
Crie uma nova política de acesso com âmbito na pasta
Exercise
.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.
Aceda ao projeto
My-Project-1
e verifique se consegue aceder ao Compute Engine visitando a página Instâncias de VM.Deve conseguir aceder porque
My-Project-1
não está protegido pelo perímetro que criou anteriormente.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
protegeMy-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
Encontre o ID exclusivo da violação dos VPC Service Controls nos registos de auditoria do projeto:
My-Project-2
-
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.
Selecione o projeto
My-Project-2
.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"
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.
-
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
Na Google Cloud consola, aceda à página Access Context Manager no âmbito 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 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.
Aceda à página VPC Service Controls ao nível da organização.
Selecione a política de acesso que criou anteriormente neste tutorial.
Adicione o nível de acesso que criou no âmbito da pasta
Exercise
ao perímetroMyFirstPerimeter
.
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.
Na Google Cloud consola, aceda à página Instâncias 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
- 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.
Elimine recursos individuais
Elimine 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.
Elimine recursos do VPC Service Controls
Elimine o nível de acesso que criou no âmbito da pasta
Exercise
.