Controlli di servizio VPC con Vertex AI

Controlli di servizio VPC possono aiutarti a mitigare il rischio di esfiltrazione di dati da Vertex AI. Utilizza i Controlli di servizio VPC per creare un perimetro di servizio che protegga le risorse e i dati specificati. Ad esempio, quando utilizzi i Controlli di servizio VPC per proteggere Vertex AI, i seguenti elementi non possono uscire dal perimetro di servizio:

  • Dati di addestramento per un modello AutoML o personalizzato
  • Modelli creati da te
  • Modelli cercati utilizzando Neural Architecture Search
  • Richieste di previsioni online
  • Risultati di una richiesta di previsione batch
  • Modelli Gemini

Controllo dell'accesso alle API di Google

Le API Vertex AI, come descritto in Accedere a Vertex AI da ambienti on-premise e multicloud, coprono una serie di opzioni di accessibilità, tra cui internet pubblico, Private Service Connect per le API di Google e accesso privato Google.

Accesso pubblico

Per impostazione predefinita, queste API pubbliche sono raggiungibili da internet, ma per utilizzarle sono necessarie le autorizzazioni IAM. Sebbene funzionalità come Private Service Connect e accesso privato Google semplifichino la comunicazione privata su architetture di rete ibride, non eliminano l'accessibilità all'internet pubblico per le API Vertex AI.

Per stabilire un controllo granulare sull'accesso alle API e limitare esplicitamente l'esposizione a internet pubblico, l'implementazione di Controlli di servizio VPC diventa essenziale. Questo livello di sicurezza consente agli amministratori di definire e applicare i criteri di accesso, attivando in modo selettivo la connettività pubblica o privata alle API di Google per soddisfare i requisiti dell'organizzazione.

Accesso privato

Le organizzazioni che devono limitare le API pubbliche di Google all'accesso privato possono utilizzare i Controlli di servizio VPC in combinazione con le API di Google Private Service Connect (bundle di Controlli di servizio VPC) o Accesso privato Google. Se vengono implementate su reti ibride e in Google Cloud, entrambe le opzioni consentono l'accesso privato alle API di Google da on-premise. Tuttavia, Private Service Connect offre anche flessibilità nella definizione di un indirizzo IP personalizzato e del nome dell'endpoint DNS.

Come best practice, utilizza l'IP virtuale (VIP) limitato con le API di Google Private Service Connect o l'accesso privato Google per fornire un percorso di rete privata per le richieste ai servizi Google Cloud senza esporre le richieste a internet. L'IP virtuale limitato supporta tutte le API che i Controlli di servizio VPC possono proteggere e che richiedono considerazioni per le reti on-premise e VPC. Di seguito sono riportati alcuni esempi:

Controllo dell'accesso alle API tramite l'accesso ai servizi privati

Le seguenti API Vertex AI di cui è stato eseguito il deployment con accesso privato ai servizi richiedono una configurazione di rete aggiuntiva se implementate in un ambiente protetto con i Controlli di servizio VPC:

  • Ricerca vettoriale (query sull'indice)
  • Addestramento personalizzato (piano di dati)
  • Vertex AI Pipelines
  • Endpoint di previsione online privati

Ad esempio, Vertex AI Pipelines è un servizio gestito da Google (producer), implementato in un progetto monoutente e in una rete VPC con la possibilità di scalare i servizi supportati in base ai requisiti dei consumatori. La comunicazione tra le reti del produttore e del consumatore viene stabilita con il peering di rete VPC, ad eccezione del traffico in uscita su internet, che viene instradato tramite la rete del produttore.

Nella rete del produttore esiste una route predefinita che consente l'uscita su internet, oltre all'accesso senza restrizioni alle API di Google. Per aggiornare la rete del produttore in modo da supportare l'IP virtuale limitato, devi attivare i Controlli di servizio VPC per i peering, che eseguono le seguenti azioni su tutti i servizi supportati di cui è stato eseguito il deployment nella rete del produttore di reti di servizi:

  • Rimuove la route predefinita IPv4 (destinazione 0.0.0.0/0, gateway internet predefinito per l'hop successivo).
  • Crea zone private gestite da Cloud DNS e le autorizza per la rete VPC del producer di servizi. Le zone includono googleapis.com, pkg.dev, gcr.io e altri nomi di host o domini necessari per le API e i servizi Google compatibili con i Controlli di servizio VPC.
  • I dati registrati nelle zone risolvono tutti i nomi host in 199.36.153.4, 199.36.153.5, 199.36.153.6 e 199.36.153.7.

Un metodo alternativo per rimuovere la route predefinita dalla rete del produttore senza influire sui servizi gestiti da Google esistenti è utilizzare VPN ad alta disponibilità su Cloud Interconnect che prevede i seguenti passaggi:

  1. Esegui il deployment di una rete VPC dei servizi insieme alla VPN ad alta disponibilità nella rete VPC consumer.
  2. Esegui il deployment dei servizi gestiti da Google nella rete VPC dei servizi.
  3. Attiva Controlli di servizio VPC per i peering.
  4. Annunci la subnet di accesso ai servizi privati come annuncio di route personalizzato dal router Cloud se i servizi gestiti richiedono la raggiungibilità on-premise.
  5. Aggiorna il peering di rete VPC di Service Networking con l'opzione Esporta route personalizzate.

Creazione del perimetro di servizio

Per una panoramica della creazione di un perimetro di servizio, consulta Creare un perimetro di servizio nella documentazione dei Controlli di servizio VPC.

Aggiunta di servizi con limitazioni al perimetro

Quando crei un perimetro di servizio, ti consigliamo di includere tutti i servizi soggetti a limitazioni come best practice per la sicurezza. Questo approccio completo contribuisce a ridurre al minimo le potenziali vulnerabilità e gli accessi non autorizzati. Tuttavia, potrebbero verificarsi scenari in cui la tua organizzazione abbia requisiti specifici incentrati sulla salvaguardia di Vertex AI e delle sue API interconnesse. In questi casi, hai la flessibilità di selezionare e includere solo le API Vertex AI specifiche essenziali per le tue operazioni.

Le API Vertex AI che puoi incorporare nel perimetro del servizio includere quanto segue:

  • L'API Vertex AI supporta i seguenti servizi e funzionalità:
    • Previsione batch
    • Set di dati
    • Vertex AI Feature Store (pubblicazione online di Bigtable)
    • Vertex AI Feature Store (pubblicazione online ottimizzata)
    • IA generativa su Vertex AI (Gemini)
    • Vertex AI Model Registry
    • Previsione online
    • Ricerca vettoriale (creazione dell'indice)
    • Ricerca vettoriale (query sull'indice)
    • Addestramento personalizzato (piano di controllo)
    • Addestramento personalizzato (piano di dati)
    • Vertex AI Pipelines
    • Endpoint di previsione online privati
    • Colab Enterprise
  • L'API Notebooks supporta il seguente servizio:
    • Vertex AI Workbench

Supporto di Controlli di servizio VPC per le pipeline di ottimizzazione dell'IA generativa

Il supporto di Controlli di servizio VPC è fornito nella pipeline di ottimizzazione dei seguenti modelli:

  • text-bison for PaLM 2
  • BERT
  • T5
  • La famiglia di modelli textembedding-gecko.

Utilizzo di Controlli di servizio VPC con Vertex AI Pipelines

Il perimetro di servizio blocca l'accesso da Vertex AI ad API e servizi di terze parti su internet. Se utilizzi i componenti della pipeline di Google Cloud o crei i tuoi componenti della pipeline personalizzati per l'utilizzo con Vertex AI Pipelines, non puoi installare le dipendenze PyPI dal registro pubblico Python Package Index (PyPI). Devi invece eseguire una delle seguenti operazioni:

Utilizzo di container personalizzati

Come best practice per il software di produzione, gli autori dei componenti devono utilizzare componenti Python containerizzati e compilare le dipendenze nell'immagine del container, in modo che non sia necessaria alcuna installazione in tempo reale durante l'esecuzione di una pipeline. L'SDK Kubeflow Pipelines offre un modo per eseguire il containerizzazione del codice Python. Per ulteriori informazioni, consulta Componenti Python in container.

Installare i pacchetti da un repository Artifact Registry

In alternativa, puoi creare un repository Artifact Registry nel tuo progetto, archiviarvi i pacchetti Python e configurare l'ambiente Vertex AI in modo da eseguire l'installazione da lì, come descritto in questa sezione. Per saperne di più, consulta Gestire i pacchetti Python.

Configurare i ruoli e le autorizzazioni

  1. L'account di servizio per il tuo ambiente Vertex AI deve avere il ruolo iam.serviceAccountUser.

  2. Se installi pacchetti PyPI personalizzati da un repository nella rete del tuo progetto e questo repository non ha un indirizzo IP pubblico:

    1. Assegna le autorizzazioni per accedere a questo repository all'account di servizio dell'ambiente.

    2. Assicurati che la connettività a questo repository sia configurata nel progetto.

Crea il repository

  1. Crea un repository Artifact Registry in modalità VPC nel tuo progetto.
  2. Memorizza i pacchetti Python richiesti nel repository.

Configura l'ambiente Vertex AI da installare dal repository

Per installare pacchetti PyPI personalizzati da uno o più repository Artifact Registry, effettua una chiamata simile alla seguente a @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)

Limitazioni

Quando utilizzi Controlli di servizio VPC, si applicano le seguenti limitazioni:

  • Per l'etichettatura dei dati, devi aggiungere gli indirizzi IP degli etichettatori a un livello di accesso.
  • Per i componenti della pipeline Google Cloud, i componenti lanciano i container che controllano la loro immagine di base per verificare la presenza di tutti i requisiti. Il pacchetto KFP, nonché eventuali pacchetti elencati nell'argomento packages_to_install, sono i requisiti per un contenitore. Se i requisiti specificati non sono già presenti nell'immagine di base (fornita o personalizzata), il componente tenta di scaricarli dal Python Package Index (PyPI). Poiché il perimetro di servizio blocca l'accesso da Vertex AI a API e servizi di terze parti su internet, il download non va a buon fine con Connection to pypi.org timed out. Per scoprire come evitare questo errore, consulta Utilizzare i Controlli di servizio VPC con le pipeline Vertex AI.
  • Quando utilizzi i Controlli di servizio VPC con kernel personalizzati in Vertex AI Workbench, devi invece configurare il peering DNS per inviare richieste per *.notebooks.googleusercontent.com alla sottorete 199.36.153.8/30 (private.googleapis.com) anziché a 199.36.153.4/30 (restricted.googleapis.com).

Passaggi successivi