Modo de teste para os perímetros de serviço

Ao usar o VPC Service Controls, pode ser difícil determinar o impacto no ambiente quando um perímetro de serviço é criado ou modificado. O modo de teste permite entender melhor o impacto da ativação dos VPC Service Controls e das alterações dos perímetros em ambientes atuais.

No modo de teste, as solicitações que violam a política de perímetro não são negadas, apenas registradas. É possível usar o modo de teste para testar a configuração do perímetro e monitorar o uso de serviços sem impedir o acesso aos recursos. Os casos de uso comuns são:

  • Determinar o impacto das alterações nos perímetros de serviço existentes.

  • Visualizar o impacto dos novos perímetros de serviço.

  • Monitorar solicitações para serviços protegidos originados fora de um perímetro de serviço. Por exemplo, ver a origem das solicitações de um determinado serviço ou identificar o uso inesperado de um serviço na sua organização.

  • Nos ambientes de desenvolvimento, criar uma arquitetura de perímetro análoga ao ambiente de produção. Isso permite identificar e reduzir os problemas que serão causados pelos perímetros de serviço antes de enviar alterações ao ambiente de produção.

Os perímetros de serviço podem existir usando somente o modo de simulação. Também é possível ter perímetros de serviço que usam um modo híbrido de execução aplicada e de simulação.

Benefícios do modo de simulação

Ao usar o modo de simulação, é possível criar novos perímetros de serviço ou alterar vários perímetros existentes sem impacto em um ambiente existente. As solicitações que violam a nova configuração de perímetro não são bloqueadas. Também é possível entender o impacto do perímetro em um ambiente em que nem todos os serviços usados estão integrados ao VPC Service Controls.

É possível analisar os registros do VPC Service Controls para verificar recusas, alterar a configuração para corrigir possíveis problemas e aplicar a nova postura de segurança.

Se os problemas com a configuração do perímetro não puderem ser resolvidos, será possível optar por manter a configuração de simulação e monitorar os registros em busca de negações inesperadas que possam indicar uma tentativa de exfiltração. No entanto, as solicitações para o perímetro não são negadas.

Conceitos do modo de simulação

O modo de simulação funciona como uma segunda avaliação da configuração do perímetro. Por padrão, a configuração do modo aplicado para todos os perímetros de serviço é herdada na configuração do modo de simulação, em que a configuração pode ser modificada ou excluída sem afetar a operação do perímetro de serviço.

Como o modo de simulação herda a configuração do modo aplicado, em cada etapa, as duas configurações precisam ser válidas. Em particular, um projeto só pode estar em um perímetro na configuração aplicada e em um perímetro na configuração de simulação. Como resultado, as alterações que abrangem vários perímetros, como mover um projeto entre perímetros, precisam ser sequenciadas na ordem adequada.

O modo de simulação só registra uma solicitação se atender aos dois critérios a seguir:

  • A solicitação ainda não foi negada pela configuração aplicada do perímetro.

  • A solicitação viola a configuração de simulação do perímetro.

Por exemplo, se configurações idênticas de simulação e modo aplicado restringirem um bucket do Cloud Storage, o modo aplicado bloqueará e registrará todas as solicitações para o bucket do Cloud Storage. O modo de teste registra apenas as diferenças nas violações em comparação com o modo aplicado.

Também é possível criar perímetros que tenham apenas uma configuração de simulação. Isso permite simular o impacto de um novo perímetro aplicado no seu ambiente.

Semântica da política

A seção a seguir descreve a relação entre as políticas do modo de execução aplicado e do modo de simulação, e em qual aplicação da ordem a política é resolvida.

Restrição de assinatura exclusiva

Um projeto do Google Cloud pode ser incluído apenas em uma configuração aplicada e em uma configuração de simulação. No entanto, as configurações aplicadas e de simulação não precisam estar no mesmo perímetro. Isso permite testar o impacto da transferência de um projeto de um perímetro para outro sem comprometer a segurança aplicada ao projeto no momento.

Exemplo

No momento, o projeto corp-storage está protegido pela configuração aplicada da PA do perímetro. É possível testar o impacto da transferência de corp-storage para o perímetro de PB.

A configuração de simulação para a PA ainda não foi modificada. Como a configuração de simulação não é modificada, ela herda corp-storage da configuração aplicada.

Para testar o impacto, primeiro remova corp-storage da configuração de simulação para PA e adicione o projeto à configuração de simulação para PB. Primeiro, você precisa remover corp-storage da configuração de simulação para a PA porque os projetos só podem existir em uma configuração de simulação por vez.

Quando você estiver satisfeito com a opção de migração de corp-storage de PA para PB sem que haja efeitos adversos na postura de segurança, será possível aplicar as alterações.

Há duas maneiras de aplicar as alterações nos perímetros PA e PB:

  • É possível remover manualmente corp-storage da configuração aplicada para PA e adicionar o projeto à configuração aplicada para PB. Como corp-storage só pode estar em uma única configuração aplicada por vez, você precisa executar as etapas nessa ordem.

    -ou-

  • Use a ferramenta de linha de comando gcloud ou a API Access Context Manager para aplicar todas as configurações de simulação. Essa operação se aplica a todas as configurações modificadas de simulação para seus perímetros. Portanto, convém coordenar a operação com qualquer pessoa na organização que tenha modificado as configurações de simulação para seus perímetros. Como a configuração da simulação para PA já exclui corp-storage, nenhuma outra etapa é necessária.

A configuração aplicada de um perímetro é executada primeiro

Somente as solicitações permitidas pela configuração aplicada de um perímetro, mas negadas pela configuração de simulação, são registradas como violações da política de simulação. As solicitações negadas pela configuração aplicada, mas que seriam permitidas pela configuração de simulação, não serão registradas.

Os níveis de acesso não têm um modo de simulação equivalente

É possível criar uma configuração de simulação para um perímetro, mas os níveis de acesso não têm uma configuração de simulação. Na prática, isso significa que se você quiser testar como uma alteração em um nível de acesso afetaria sua configuração de simulação, você precisará:

  1. Criar um nível de acesso que reflita as alterações que você quer fazer em um nível de acesso atual.

  2. Aplicar o novo nível de acesso à configuração de simulação para o perímetro.

O modo de simulação não tem um impacto negativo na segurança

As alterações em uma configuração de simulação de um perímetro, como adicionar novos projetos ou níveis de acesso a um perímetro, ou alterar quais serviços são protegidos ou acessíveis a redes dentro do perímetro, não afetam a aplicação real de um perímetro.

Por exemplo, suponha que você tenha um projeto que pertença ao perímetro de serviço PA. Se o projeto for adicionado à configuração de simulação de outro perímetro, a segurança real aplicada ao projeto não será alterada. O projeto continua a ser protegido pela configuração aplicada do PA do perímetro, conforme esperado.

Ações de simulação e status de configuração

O recurso de simulação permite:

  • Criar um perímetro com apenas uma configuração de simulação

  • Atualizar a configuração de simulação de um perímetro existente

  • Mover um novo projeto para um perímetro existente

  • Mover um projeto de um perímetro para outro

  • Excluir a configuração de simulação de um perímetro

Tendo como base a ação realizada no modo de simulação, um perímetro pode estar em um dos seguintes status de configuração:

Herdado do aplicado: estado padrão para perímetros aplicados. Nesse estado, todas as alterações na configuração aplicada do perímetro também são aplicadas à configuração de simulação.

Modificação: a configuração de simulação de um perímetro foi visualizada ou alterada e salva. Nesse estado, as alterações na configuração aplicada de um perímetro não são aplicadas à configuração de simulação.

Novo: o perímetro tem apenas uma configuração de simulação. Mesmo que sejam feitas alterações na configuração de simulação, até que esse perímetro tenha uma configuração aplicada, o status permanecerá como Novo.

Excluído: a configuração de simulação para o perímetro foi excluída. Esse status permanece até você criar uma nova configuração de simulação para o perímetro ou desfazer a ação. Nesse estado, as alterações na configuração aplicada de um perímetro não são aplicadas à configuração de simulação.

Limitações do modo de simulação

O modo de simulação se aplica apenas a perímetros. Isso não ajuda a entender o impacto da restrição do acesso da API do Google Cloud ao VIP restrito ou particular. Recomendamos garantir que todos os serviços que você quer usar estejam disponíveis no VIP restrito antes de configurar o domínio restricted.googleapis.com.

Se você não tiver certeza se as APIs usadas em um ambiente existente são compatíveis com o VIP restrito, recomendamos o uso do VIP particular. Ainda é possível aplicar a segurança do perímetro aos serviços compatíveis. No entanto, se você usar o VIP particular, as entidades na sua rede terão acesso a serviços não seguros (serviços não compatíveis com o VPC Service Controls), como as versões para consumidor do Gmail e do Drive. Como o VIP particular permite serviços que não são compatíveis com o VPC Service Controls, é possível que o código comprometido, malware ou um usuário mal-intencionado na sua rede exfiltrem dados usando esses serviços não seguros.

A seguir