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.
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 Analisador de violações dos 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.