Usar o VPC Service Controls
Nesta página, descrevemos como usar o VPC Service Controls para configurar um notebook do Colab Enterprise em um perímetro de serviço.
Visão geral
O VPC Service Controls é um recurso Google Cloud que permite configurar um perímetro para evitar a exfiltração de dados.
O VPC Service Controls oferece uma camada extra de defesa para Google Cloud serviços independentes da proteção fornecida pelo gerenciamento de identidade e acesso (IAM).
Quando você usa o Colab Enterprise em um perímetro de serviço, os ambientes de execução estão sujeitos a ele. Portanto, para executar o código do notebook que interage com outras APIs e serviços do Google, adicione esses serviços ao perímetro de serviço.
Para mais informações sobre o VPC Service Controls, consulte a Visão geral do VPC Service Controls.
Limitações conhecidas
O Colab Enterprise usa o Dataform para armazenar notebooks.
Para saber mais sobre o uso do VPC Service Controls com o Dataform, consulte Configurar o VPC Service Controls para o Dataform.
A interface do Colab Enterprise só pode ser acessada no console do Google Cloud. Para saber mais sobre as limitações do VPC Service Controls para o console do Google Cloud, consulte as limitações do console do Google Cloud.
Se o perímetro de serviço precisar de acesso aos serviços da Vertex AI, consulte VPC Service Controls com limitações do Colab Enterprise.
Funções exigidas
Para garantir que sua conta de usuário tenha as permissões necessárias para usar os controles de serviço da VPC com o Colab Enterprise, peça ao administrador para conceder à sua conta de usuário os seguintes papéis do IAM no projeto:
-
Editor do Access Context Manager (
roles/accesscontextmanager.policyEditor
) -
Usuário do Colab Enterprise (
roles/aiplatform.colabEnterpriseUser
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
O administrador também pode conceder à sua conta de usuário as permissões necessárias via funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre as permissões do VPC Service Controls, consulte Controle de acesso com o IAM.
Criar um perímetro de serviço
Crie um perímetro de serviço usando o VPC Service Controls. Esse perímetro protege os recursos gerenciados pelo Google dos serviços especificados por você. Ao criar o perímetro de serviço, faça o seguinte:
Quando você precisar adicionar projetos ao perímetro de serviço, inclua o que contém seus notebooks do Colab Enterprise ou crie notebooks nesse projeto.
Quando você precisar adicionar serviços ao perímetro, inclua o seguinte:
- API Vertex AI (
aiplatform.googleapis.com
) - API Dataform (
dataform.googleapis.com
)
- API Vertex AI (
Se você criou o perímetro de serviço sem adicionar os projetos e serviços necessários, consulte Gerenciar perímetros de serviço para saber como atualizá-lo.
Fornecer acesso à interface do Colab Enterprise
Como a interface do Colab Enterprise (colab-embedded.cloud.google.com
) só pode ser acessada pela Internet, ela é considerada fora do perímetro de serviço. Quando você aplica um perímetro de serviço,
a interface do console do Google Cloud dos serviços protegidos pode ficar
parcial ou totalmente inacessível. Por exemplo, se você proteger o Colab Enterprise com o perímetro, a interface do Colab Enterprise no console do Google Cloud vai ficar inacessível.
Para permitir o acesso do console do Google Cloud a recursos protegidos por um perímetro, você precisa criar um nível de acesso para um intervalo de IPs públicos que inclua as máquinas dos usuários que querem usar o console do Google Cloud com APIs protegidas. Por exemplo, adicione o intervalo de IPs públicos do gateway NAT de sua rede particular a um nível de acesso e, em seguida, atribua esse nível de acesso ao perímetro de serviço.
Se você quiser limitar o acesso do console do Google Cloud ao perímetro a apenas um conjunto específico de usuários, também é possível adicioná-los a um nível de acesso. Nesse caso, somente os usuários especificados poderão acessar o console do Google Cloud.
Configurar serviços acessíveis por VPC (opcional)
Ao ativar os serviços acessíveis por VPC para um perímetro, o acesso de endpoints de rede dentro do seu perímetro é limitado a um conjunto de serviços que você especifica.
Para saber mais sobre como limitar o acesso dentro do perímetro a apenas um conjunto específico de serviços, consulte serviços acessíveis por VPC.
Usar o Acesso privado do Google com a rede VPC (opcional)
O Acesso privado do Google oferece conectividade particular a hosts em uma rede VPC ou rede local que usa endereços IP particulares para acessar Google Cloud APIs e serviços. É possível estender um perímetro de serviço do VPC Service Controls para hosts nessas redes para controlar o acesso a recursos protegidos. Os hosts em uma rede VPC precisam ter apenas um endereço IP particular (sem endereço IP público) e estar em uma sub-rede com o Acesso privado do Google ativado. Para mais informações, consulte Conectividade particular em redes locais.
Para usar o Acesso privado do Google com sua rede VPC, é necessário configurar alguns registros DNS.
Configurar entradas DNS usando o Cloud DNS
Os ambientes de execução do Colab Enterprise usam vários domínios que não são gerenciados por uma rede VPC por padrão. Para garantir que sua rede VPC processe corretamente as solicitações enviadas a esses domínios, use o Cloud DNS para adicionar registros DNS. Para mais informações sobre rotas VPC, consulte Rotas.
Esta seção mostra como criar uma zona gerenciada de um domínio, adicionar uma entrada DNS que roteará a solicitação e executar a transação. Repita esses passos para cada um dos vários domínios em que você processará solicitações, começando com *.aiplatform.googleapis.com
.
No Cloud Shell ou em qualquer ambiente em que a CLI do Google Cloud esteja instalada, insira os comandos da CLI gcloud a seguir.
-
Para criar uma zona gerenciada privada para um dos domínios que a rede VPC precisa gerenciar:
gcloud dns managed-zones create ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --dns-name=DNS_NAME. \ --description="Description of your managed zone"
Substitua:
-
ZONE_NAME
: um nome para a zona a ser criada. Você precisa usar uma zona separada para cada domínio. Esse nome de zona é usado em todas as etapas a seguir. -
PROJECT_ID
: o ID do projeto que hospeda a rede VPC. -
NETWORK_NAME
: o nome da rede VPC que você criou anteriormente. -
DNS_NAME
: a parte do nome de domínio que vem após o*.
. Por exemplo,*.aiplatform.googleapis.com
tem o nome DNSaiplatform.googleapis.com
.
-
-
Inicie uma transação.
gcloud dns record-sets transaction start --zone=ZONE_NAME
-
Adicione o registro A DNS a seguir. Isso redireciona o tráfego para os endereços IP restritos do Google.
gcloud dns record-sets transaction add \ --name=DNS_NAME. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=ZONE_NAME \ --ttl=300
-
Inclua o registro CNAME DNS a seguir para apontar para o registro A que você acabou de adicionar. Isso redireciona todo o tráfego que corresponde ao domínio para os endereços IP listados na etapa anterior.
gcloud dns record-sets transaction add \ --name=\*.DNS_NAME. \ --type=CNAME DNS_NAME. \ --zone=ZONE_NAME \ --ttl=300
-
Execute a transação.
gcloud dns record-sets transaction execute --zone=ZONE_NAME
-
Repita essas etapas para cada um dos domínios a seguir. Para cada repetição, altere ZONE_NAME e DNS_NAME para os valores apropriados para esse domínio. Mantenha PROJECT_ID e NETWORK_NAME sempre iguais. Você já concluiu essas etapas para
*.aiplatform.googleapis.com
.*.aiplatform.googleapis.com
*.aiplatform-notebook.googleusercontent.com
*.aiplatform-notebook.cloud.google.com
Para saber mais sobre como configurar a conectividade particular, leia Configurar a conectividade particular com APIs e serviços do Google.
Permitir acesso baseado no contexto de fora de um perímetro de serviço usando regras de entrada
É possível permitir o acesso baseado no contexto a recursos restritos por um perímetro com base nos atributos do cliente. Especifique atributos do cliente, como tipo de identidade (conta de serviço ou usuário), identidade, dados do dispositivo e origem da rede (endereço IP ou rede VPC).
Por exemplo, é possível configurar regras de entrada para permitir o acesso à Internet a recursos dentro de um perímetro com base no intervalo de endereços IPv4 e IPv6. Para mais informações sobre como usar regras de entrada para configurar o acesso baseado no contexto, consulte Acesso baseado no contexto.
Configurar a troca segura de dados usando regras de entrada e saída
Só é possível incluir um projeto em um perímetro de serviço. Se você quiser permitir a comunicação através do limite do perímetro, configure regras de entrada e saída. Por exemplo, é possível especificar regras de entrada e saída para permitir que projetos de vários perímetros compartilhem registros em um perímetro separado. Para saber mais sobre casos de uso de troca de dados segura, leia Troca de dados segura.
A seguir
Saiba mais sobre o VPC Service Controls.
Saiba mais sobre os ambientes de execução do Colab Enterprise.