Os VPC Service Controls podem ajudar a mitigar o risco de exfiltração de dados do Vertex AI. Use os VPC Service Controls para criar um perímetro de serviço que proteja os recursos e os dados que especificar. Por exemplo, quando usa os VPC Service Controls para proteger o Vertex AI, os seguintes artefactos não podem sair do seu perímetro de serviço:
- Dados de preparação para um modelo do AutoML ou um modelo personalizado
- Modelos que criou
- Modelos que pesquisou através da pesquisa de arquitetura neural
- Pedidos de inferências online
- Resultados de um pedido de inferência em lote
- Modelos do Gemini
Controlar o acesso às APIs Google
As APIs Vertex AI, conforme descrito no artigo Aceder ao Vertex AI a partir de implementações no local e em várias nuvens, abrangem uma variedade de opções de acessibilidade, incluindo a Internet pública, o Private Service Connect para APIs Google e o acesso privado à Google.
Acesso público
Por predefinição, estas APIs públicas são acessíveis a partir da Internet. No entanto, são necessárias autorizações de IAM para a utilização. Embora funcionalidades como o Private Service Connect para APIs Google e o acesso privado à Google facilitem a comunicação privada através de arquiteturas de rede híbridas, não eliminam a acessibilidade à Internet pública para as APIs Vertex AI.
Para estabelecer um controlo detalhado sobre o acesso à API e restringir explicitamente a exposição à Internet pública, a implementação dos VPC Service Controls torna-se essencial. Quando estabelece um perímetro dos VPC Service Controls (VPC-SC) e inclui a API Vertex AI nos respetivos serviços protegidos, todo o acesso público à Internet à sua instância da Vertex AI é bloqueado automaticamente. Como resultado, o acesso dos utilizadores que tentam aceder aos serviços da Vertex AI através de programação ou da consola Google Google Cloud é negado, a menos que estejam incluídos numa lista de autorizações.
Para restaurar o acesso para origens autorizadas fora do perímetro (por exemplo, utilizadores nos seus escritórios corporativos), consulte as instruções de implementação para permitir o acesso de pontos finais públicos a recursos protegidos a partir do exterior de um perímetro dos VPC Service Controls.
Acesso privado
As organizações que precisam de restringir as APIs Google públicas ao acesso privado podem usar os VPC Service Controls em combinação com o Private Service Connect para APIs Google (pacote VPC Service Controls) ou o acesso privado à Google. Quando implementadas através de redes híbridas e no Google Cloud, ambas as opções ativam o acesso privado às APIs Google a partir de instalações locais. No entanto, o Private Service Connect para APIs Google também oferece flexibilidade na definição de um endereço IP personalizado e um nome de ponto final de DNS.
Como prática recomendada, use o IP virtual (VIP) restrito com o Private Service Connect para Google APIs ou o acesso privado à Google para fornecer uma rota de rede privada para pedidos a Google Cloud serviços sem expôr os pedidos à Internet. O VIP restrito suporta todas as APIs que o VPC Service Controls pode proteger e que requerem considerações para redes no local e VPC. Seguem-se alguns exemplos:
- Permita o acesso multinuvem a recursos protegidos a partir de um ponto final privado fora de um perímetro do VPC Service Controls
- Saiba como usar um ponto final das APIs Google do PSC do cliente (Exemplo de rede da VPC)
- Exemplo de rede no local
Controlar o acesso à API através do acesso a serviços privados
As seguintes APIs Vertex AI implementadas com acesso a serviços privados requerem uma configuração de rede adicional quando implementadas num ambiente protegido com VPC Service Controls:
- Vector Search (consulta de índice)
- Preparação personalizada (plano de dados)
- Vertex AI Pipelines
- Pontos finais de previsão online privados
Por exemplo, o Vertex AI Pipelines é um serviço gerido pela Google (produtor), implementado num projeto de inquilino único e numa rede VPC com a capacidade de dimensionar os serviços suportados com base nos requisitos do consumidor. A comunicação entre as redes do produtor e do consumidor é estabelecida com o VPC Network Peering, exceto para a saída da Internet, que é encaminhada através da rede do produtor.
Na rede do produtor, existe uma rota predefinida que permite a saída da Internet, além do acesso sem restrições às APIs Google. A atualização da rede do produtor para suportar o VIP restrito requer a ativação dos VPC Service Controls para interligações, o que executa as seguintes ações em todos os serviços suportados implementados na rede do produtor de rede de serviços:
- Remove o encaminhamento predefinido IPv4 (destino
0.0.0.0/0
, próximo salto do gateway de Internet predefinido). - Cria zonas privadas geridas pelo Cloud DNS e autoriza essas zonas para a rede VPC do produtor de serviços. As zonas incluem
googleapis.com
,pkg.dev
,gcr.io
e outros domínios ou nomes de anfitriões necessários para as APIs e os serviços Google compatíveis com os VPC Service Controls. - Os dados de registo nas zonas resolvem todos os nomes de anfitriões para
199.36.153.4
,199.36.153.5
,199.36.153.6
e199.36.153.7
.
Um método alternativo para remover a rota predefinida da rede do produtor sem afetar os serviços geridos pela Google existentes é usar a VPN de alta disponibilidade através do Cloud Interconnect, que consiste nos seguintes passos:
- Implemente uma rede VPC de serviços, além da VPN de alta disponibilidade, na rede VPC do consumidor.
- Implemente serviços geridos pela Google na rede VPC de serviços.
- Ative os VPC Service Controls para as interligações.
- Anuncie a sub-rede de acesso a serviços privados como um anúncio de rota personalizado do Cloud Router se os serviços geridos exigirem acessibilidade no local.
- Atualize o peering de rede VPC de rede de serviços com a opção export custom routes (exportar rotas personalizadas).
Suporte dos VPC Service Controls para pipelines de ajuste da IA generativa
O suporte do VPC Service Controls é fornecido no pipeline de ajuste dos seguintes modelos:
text-bison for PaLM 2
BERT
T5
- A família de modelos
textembedding-gecko
.
Usar os VPC Service Controls com o Vertex AI Pipelines
O perímetro de serviço bloqueia o acesso do Vertex AI a APIs e serviços de terceiros na Internet. Se estiver a usar Google Cloud componentes de pipeline ou a criar os seus próprios componentes de pipeline personalizados para utilização com os Vertex AI Pipelines, não pode instalar dependências do PyPI a partir do registo público do Python Package Index (PyPI). Em alternativa, tem de fazer uma das seguintes ações:
Use contentores personalizados
Como prática recomendada de software de produção, os autores de componentes devem usar componentes Python contentorizados e criar as dependências na respetiva imagem do contentor, para que não seja necessária nenhuma instalação em direto durante a execução de um pipeline. Uma forma de o fazer é a seguinte:
- Crie a sua própria imagem de contentor com o SDK Kubeflow Pipelines e outros pacotes pré-instalados. Por exemplo, pode usar
us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-17:latest
como a camada base da sua imagem e adicionar uma camada adicional para instalar os pacotes no momento da criação do contentor. Atualize o código de definição do componente para definir o caminho
base_image
e a flaginstall_kfp_package
comoFalse
. Esta flag indica ao compilador do KFP que não deve injetar um comando pip install kfp na linha de comandos do contentor, porque o pacote do SDK do Kubeflow Pipelines já está instalado na imagem. Por exemplo:@component( base_image='gcr.io/deeplearning-platform-release/tf-cpu.2-17', install_kfp_package=False, ) def my_component(...): ...
Instale pacotes a partir de um repositório do Artifact Registry
Em alternativa, pode criar um repositório do Artifact Registry no seu projeto, armazenar pacotes Python no mesmo e configurar o seu ambiente do Vertex AI para instalar a partir dele, conforme descrito nesta secção. Para mais informações, consulte o artigo Faça a gestão de pacotes Python.
Configure funções e autorizações
- A conta de serviço do seu ambiente do Vertex AI tem de ter a função
iam.serviceAccountUser
. - Se instalar pacotes PyPI personalizados a partir de um repositório na rede do seu projeto e este repositório não tiver um endereço IP público:
- Atribua autorizações para aceder a este repositório à conta de serviço do ambiente.
- Certifique-se de que a conetividade a este repositório está configurada no seu projeto.
Crie o repositório
- Crie um repositório do Artifact Registry no modo VPC no seu projeto.
- Armazene os pacotes Python necessários no repositório.
Configure o ambiente do Vertex AI para instalar a partir do repositório
Para instalar pacotes PyPI personalizados a partir de um ou mais repositórios do Artifact Registry, faça uma chamada semelhante à seguinte para @dsl.component
:
@dsl.component(packages_to_install=["tensorflow"],
pip_index_urls=['http://myprivaterepo.com/simple', 'http://pypi.org/simple'],)
def hello_world(text: str) -> str:
import my_package
import tensorflow
return my_package.hello_world(text)
Usar os VPC Service Controls com a interface PSC
As seguintes APIs Vertex AI implementadas com serviços privados de interface de ligação requerem uma configuração de rede adicional quando implementadas num ambiente protegido com o VPC Service Controls:
- Preparação personalizada (plano de dados)
- Vertex AI Pipelines
- Pontos finais de inferência online privados
- Vertex AI Agent Engine
A capacidade do serviço dos produtores da Vertex AI de aceder à Internet pública depende da configuração de segurança do seu projeto, especificamente se está ou não a usar os VPC Service Controls:
Sem os VPC Service Controls: o alojamento de inquilinos gerido pela Google do Vertex AI mantém o acesso à Internet predefinido. Este tráfego de saída sai diretamente do ambiente seguro gerido pela Google onde o seu serviço de produtor é executado.
Com os VPC Service Controls: quando o seu projeto está incluído num perímetro dos VPC Service Controls (VPC-SC), o ambiente gerido pela Google que aloja a Vertex AI tem o acesso à Internet predefinido bloqueado. Esta restrição é uma medida de segurança concebida para evitar a exfiltração de dados. Para permitir que a Vertex AI aceda à Internet pública neste cenário, tem de configurar explicitamente um caminho de saída seguro que encaminhe o tráfego através da sua rede VPC.
O método recomendado envolve:
- Implementar um servidor proxy no perímetro da VPC numa sub-rede RFC 1918.
- Criar um gateway Cloud NAT para permitir que a VM do proxy alcance a Internet.
- Definir o servidor proxy (endereço IP ou FQDN) no seu ambiente de tempo de execução.
Não existe um proxy de rede prescrito ou preferencial para esta tarefa. Pode usar qualquer solução adequada. Os exemplos incluem: Squid proxy, HAProxy, Envoy e TinyProxy.
Criação de perímetro de serviço
Para uma vista geral da criação de um perímetro de serviço, consulte o artigo Crie um perímetro de serviço na documentação do VPC Service Controls.
Adicionar serviços restritos ao seu perímetro
Ao estabelecer um perímetro de serviço, recomendamos que inclua todos os serviços restritos como uma prática recomendada de segurança. Esta abordagem abrangente ajuda a minimizar potenciais vulnerabilidades e o acesso não autorizado. No entanto, podem existir cenários em que a sua organização tem requisitos específicos focados na salvaguarda do Vertex AI e das respetivas APIs interligadas. Nestes casos, tem a flexibilidade de selecionar e incluir apenas as APIs Vertex AI específicas que são essenciais para as suas operações.
As APIs Vertex AI que pode incorporar no seu perímetro de serviço incluem o seguinte:
- A API Vertex AI
suporta os seguintes serviços e funcionalidades:
- Inferência em lote
- Conjuntos de dados
- Vertex AI Feature Store (serviço online do Bigtable)
- Vertex AI Feature Store (serviço online otimizado)
- IA generativa na Vertex AI (Gemini)
- Registo de modelos Vertex AI
- Inferência online
- Vector Search (criação de índice)
- Vector Search (consulta de índice)
- Formação personalizada (plano de controlo)
- Preparação personalizada (plano de dados)
- Vertex AI Pipelines
- Pontos finais de inferência online privados
- Colab Enterprise
- Vertex AI Agent Engine
- A API Notebooks
suporta o seguinte serviço:
- Vertex AI Workbench
Limitações
As seguintes limitações aplicam-se quando usa os VPC Service Controls:
- Para a etiquetagem de dados, tem de adicionar os endereços IP dos etiquetadores a um nível de acesso.
- Para os Google Cloud componentes do pipeline, os componentes iniciam contentores que
verificam a respetiva imagem de base para todos os requisitos.
O pacote KFP, bem como todos os pacotes indicados no argumento
packages_to_install
, são os requisitos para um contentor. Se algum dos requisitos especificados ainda não estiver presente na imagem base (fornecida ou personalizada), o componente tenta transferi-los do Python Package Index (PyPI). Uma vez que o perímetro de serviço bloqueia o acesso do Vertex AI a APIs e serviços de terceiros na Internet, a transferência falha comConnection to pypi.org timed out
. Para saber como evitar este erro, consulte o artigo Usar os VPC Service Controls com o Vertex AI Pipelines. - Quando usar os VPC Service Controls com kernels personalizados no Vertex AI Workbench, tem de configurar o peering de DNS para enviar pedidos para
*.notebooks.googleusercontent.com
para a sub-rede 199.36.153.8/30 (private.googleapis.com
) em vez de 199.36.153.4/30 (restricted.googleapis.com
). - Quando usar os VPC Service Controls com a Vertex AI Inference, os pontos finais têm de ser criados depois de o projeto ser adicionado ao perímetro de serviço. Se for criado um ponto final num projeto que não faça parte de um perímetro de serviço e, posteriormente, esse projeto for adicionado a um perímetro de serviço, a tentativa de implementar um modelo nesse ponto final falha. Se o ponto final for um ponto final público partilhado, o envio de um pedido para o ponto final também falha. Da mesma forma, a tentativa de implementar um modelo num ponto final falha se o ponto final tiver sido criado num projeto que fazia parte de um perímetro de serviço e, posteriormente, o projeto for removido.
O que se segue?
- Veja o vídeo VPC Service Controls: How to segment your cloud projects in shared VPC (VPC Service Controls: como segmentar os seus projetos na nuvem na VPC partilhada).
- Veja o vídeo Como usar o modo de teste em execução no VPC Service Controls.
- Veja o vídeo VPC Service Controls: Private IP support to create granular access controls (VPC Service Controls: suporte de IP privado para criar controlos de acesso detalhados).
- Saiba mais acerca dos VPC Service Controls.
- Saiba mais sobre as funções necessárias do VPC Service Controls.
- Saiba como resolver problemas do VPC Service Controls.