1. Introduzione
Panoramica
In questo lab, mitighi le minacce comuni all'infrastruttura di un ambiente di sviluppo dell'IA. Implementi controlli di sicurezza progettati per proteggere i componenti principali di questo ambiente.
Contesto
Sei il responsabile della sicurezza del tuo team di sviluppo e il tuo obiettivo è creare un ambiente che bilanci la minima difficoltà di utilizzo con la protezione dalle minacce comuni.
La tabella seguente elenca le minacce che ti preoccupano di più e che vuoi mitigare. Ogni minaccia viene affrontata da un'attività specifica all'interno di questo lab:
Minaccia | Attenuazione | Attività coperta |
Ingresso non autorizzato nella rete tramite porte aperte sfruttate. | Crea un VPC privato e limita l'accesso a Vertex AI a un singolo utente con proxy tramite Google Cloud anziché un indirizzo IP pubblico. | Configura una base di rete sicura |
Escalation dei privilegi da un'istanza di calcolo compromessa utilizzando credenziali con privilegi eccessivi. | Crea e assegna un service account con privilegi minimi all'istanza Vertex AI. | Esegui il deployment di un'istanza di Vertex AI Workbench sicura |
Acquisizione dell'istanza della risorsa di calcolo, che porta alla manomissione del sistema. | Proteggi l'istanza disattivando l'accesso root e attivando Avvio protetto. | Esegui il deployment di un'istanza di Vertex AI Workbench sicura |
Esposizione pubblica accidentale di dati di addestramento e modelli a causa di una configurazione errata dello spazio di archiviazione. | Applica la prevenzione dell'accesso pubblico al bucket e utilizza controlli degli accessi uniformi a livello di bucket. | Esegui il deployment di un bucket Cloud Storage sicuro |
Eliminazione o manomissione dannosa o accidentale di set di dati e artefatti del modello. | Abilita il controllo delle versioni degli oggetti per il recupero e abilita i log di accesso ai dati per un audit trail immutabile di tutta l'attività. | Esegui il deployment di un bucket Cloud Storage sicuro |
Riferimento rapido
Durante questo lab, lavorerai con queste risorse denominate:
Componente | Nome |
Nome VPC |
|
Nome subnet |
|
Cloud Router |
|
Cloud NAT |
|
Account di servizio |
|
Vertex AI Instance |
|
Bucket di archiviazione |
|
Obiettivi didattici
In questo lab imparerai a:
- Esegui il provisioning di un VPC sicuro con networking privato per mitigare il traffico indesiderato.
- Rafforzare un'istanza di Vertex AI Workbench contro bootkit e escalation dei privilegi.
- Proteggi un bucket Cloud Storage per ridurre il trasferimento di dati non monitorato e l'esposizione pubblica accidentale.
2. Configurazione del progetto
Account Google
Se non hai ancora un Account Google personale, devi crearne uno.
Utilizza un account personale anziché un account di lavoro o della scuola.
Accedi alla console Google Cloud
Accedi a Google Cloud Console utilizzando un Account Google personale.
Abilita fatturazione
Riscatta 5 $di crediti Google Cloud (facoltativo)
Per partecipare a questo workshop, devi disporre di un account di fatturazione con del credito. Se prevedi di utilizzare la tua fatturazione, puoi saltare questo passaggio.
- Fai clic su questo link e accedi con un Account Google personale. Visualizzerai un messaggio simile a questo:

- Fai clic sul pulsante FAI CLIC QUI PER ACCEDERE AI TUOI CREDITI. Verrà visualizzata una pagina per configurare il tuo profilo di fatturazione

- Fai clic su Conferma.
Ora sei connesso a un account di fatturazione di prova di Google Cloud Platform.

Configurare un account di fatturazione personale
Se hai configurato la fatturazione utilizzando i crediti Google Cloud, puoi saltare questo passaggio.
Per configurare un account di fatturazione personale, vai qui per abilitare la fatturazione in Cloud Console.
Alcune note:
- Il completamento di questo lab dovrebbe costare meno di 1 $in risorse cloud.
- Per evitare ulteriori addebiti, puoi seguire i passaggi alla fine di questo lab per eliminare le risorse.
- I nuovi utenti hanno diritto alla prova senza costi di 300$.
Crea un progetto (facoltativo)
Se non hai un progetto attuale che vuoi utilizzare per questa etichetta, creane uno nuovo qui.
3. Abilita le API
Configura Cloud Shell
Una volta creato il progetto, segui questi passaggi per configurare Cloud Shell.
Avvia Cloud Shell
Vai su shell.cloud.google.com e, se viene visualizzato un popup che ti chiede di autorizzare, fai clic su Autorizza.
Imposta ID progetto
Esegui questo comando nel terminale Cloud Shell per impostare l'ID progetto corretto. Sostituisci <your-project-id> con l'ID progetto effettivo copiato dal passaggio di creazione del progetto riportato sopra.
gcloud config set project <your-project-id>
Ora dovresti vedere che nel terminale Cloud Shell è selezionato il progetto corretto.
Attiva Vertex AI Workbench e Cloud Storage
Per utilizzare i servizi in questo lab, devi abilitare le API per Compute Engine, Vertex AI Workbench, IAM e Cloud Storage nel tuo progetto Google Cloud.
- Nel terminale, abilita le API:
gcloud services enable compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com iam.googleapis.com storage.googleapis.com
In alternativa, puoi abilitare queste API accedendo alle rispettive pagine nella console e facendo clic su Abilita.
4. Configura una base di rete sicura
In questa attività, crei un ambiente di rete isolato per tutti i tuoi servizi. Utilizzando una rete privata e controllando i flussi di dati, crei una difesa a più livelli per ridurre significativamente la superficie di attacco della tua infrastruttura rispetto alle risorse raggiungibili pubblicamente. Questa base di rete sicura è fondamentale per proteggere le tue applicazioni AI da accessi non autorizzati.
Crea il VPC e la subnet
In questo passaggio, configuri un virtual private cloud (VPC) e una subnet. In questo modo viene creato un ambiente di rete isolato, che rappresenta la prima linea di difesa contro l'accesso non autorizzato alla rete.
- Nella console Google Cloud, vai a Rete VPC > Reti VPC. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Reti VPC" e selezionarla.
- Fai clic su Crea rete VPC.
- In Nome, inserisci
genai-secure-vpc. - In Modalità di creazione subnet, seleziona Personalizzata.
- In Nuova subnet, specifica le seguenti proprietà per creare la subnet:
Proprietà
Valore (digita o seleziona)
Nome
genai-subnet-us-central1Regione
us-central1Intervallo di indirizzi IP
10.0.1.0/24Accesso privato Google
On
- Fai clic su Crea.
Crea il gateway Cloud NAT
Il gateway Cloud NAT consente alle tue istanze private di avviare connessioni in uscita (ad esempio per gli aggiornamenti software) senza avere un indirizzo IP pubblico, il che significa che internet pubblico non può avviare connessioni a queste istanze.
- Per prima cosa, crea un router Cloud. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Cloud Router" e selezionarlo.
- Fai clic su Crea router.
- Configura il router Cloud con quanto segue:
Proprietà
Valore (digita o seleziona)
Nome
genai-router-us-central1Rete
genai-secure-vpc(la rete VPC che hai appena creato)Regione
us-central1 - Fai clic su Crea.
- Poi, vai a Servizi di rete > Cloud NAT. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Cloud NAT" e selezionarlo.
- Fai clic su Inizia.
- Configura il gateway Cloud NAT con quanto segue:
Proprietà
Valore (digita o seleziona)
Nome gateway
genai-nat-us-central1Rete VPC
genai-secure-vpc(la rete VPC che hai creato)Regione
us-central1Router Cloud
genai-router-us-central1(il router che hai appena configurato) - Fai clic su Crea.
5. Esegui il deployment di un'istanza di Vertex AI Workbench sicura
Ora che hai una base di rete sicura, puoi eseguire il deployment di un'istanza Vertex AI Workbench protetta all'interno del VPC sicuro. Questa istanza di Workbench funge da ambiente di sviluppo, fornendo uno spazio sicuro e isolato per il tuo lavoro di sviluppo dell'AI. La configurazione di rete precedente garantisce che questa istanza non sia esposta direttamente a internet pubblico, basandosi sulla difesa a più livelli.
Crea un service account con privilegi minimi
La creazione di un service account dedicato con il minor numero di autorizzazioni necessarie supporta il principio del privilegio minimo. Se la tua istanza viene compromessa, questa pratica limita il "raggio d'azione" garantendo che l'istanza possa accedere solo alle risorse ed eseguire le azioni esplicitamente richieste per la sua funzione.
- Nella console Google Cloud, vai a IAM e amministrazione > Service account. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Account di servizio" e selezionarlo.
- Fai clic su Crea account di servizio.
- In Nome service account, inserisci
vertex-workbench-sa. - Fai clic su Crea e continua.
- Concedi i seguenti ruoli:
Vertex AI UserStorage Object Creator
- Fai clic su Fine.
Crea l'istanza di workbench
In questo passaggio, esegui il deployment dell'istanza di Vertex AI Workbench. Questa istanza è configurata per essere eseguita all'interno del VPC privato creato in precedenza, isolandola ulteriormente da internet pubblico. Applichi anche misure di hardening della sicurezza aggiuntive direttamente all'istanza.
- Nel menu di navigazione (menu a tre barre) della console Google Cloud, vai a Vertex AI > Workbench. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Workbench" e seleziona il risultato con "Vertex AI" come sottotitolo.
- Fai clic su Crea nuovo e configura:
Proprietà
Valore (digita o seleziona)
Nome
secure-genai-instanceRegione
us-central1 - Fai clic su Opzioni avanzate.
- Fai clic su Tipo di macchina e seleziona le caselle di controllo per quanto segue:
- Avvio protetto
- Virtual Trusted Platform Module (vTPM)
- Monitoraggio dell'integrità.
- Fai clic su Networking e configura quanto segue:
Proprietà
Valore (digita o seleziona)
Rete
genai-secure-vpcSubnet
genai-subnet-us-central1(10.0.1.0/24)Assegna indirizzo IP esterno
Deseleziona, poiché accedi a questa istanza solo tramite un proxy in Google Cloud.
- Fai clic su IAM e sicurezza e configura quanto segue:
Proprietà
Valore (digita o seleziona)
Email dell'utente
Singolo utente e seleziona l'indirizzo email che utilizzi attualmente per accedere a Google Cloud.
Usa l'account di servizi Compute Engine predefinito
Deseleziona la casella di controllo.
Email del service account
Inserisci l'email creata per il service account con privilegi minimi (sostituisci
[PROJECT_ID]con il tuo ID effettivo):vertex-workbench-sa@[PROJECT_ID].iam.gserviceaccount.comAccesso root all'istanza
Deseleziona la casella di controllo.
- Fai clic su Crea.
Accedi all'istanza di Vertex AI
Ora che la tua istanza di Vertex AI Workbench è provvisoria, puoi accedervi in modo sicuro. Ti connetti tramite il proxy di Google Cloud, assicurandoti che l'istanza rimanga privata e non esposta a internet pubblico, limitando così il rischio di traffico indesiderato e potenzialmente dannoso.
- Vai a Vertex AI > Workbench. Potresti già trovarti in questa pagina se il provisioning della tua istanza è appena terminato. In caso contrario, puoi utilizzare il menu di navigazione (menu a tre linee) o la barra di ricerca della console Google Cloud.
- Trova l'istanza denominata
secure-genai-instancenell'elenco. - A destra dell'istanza, fai clic sul link Apri JupyterLab.
Si apre una nuova scheda nel browser, che ti consente di accedere alla tua istanza. Puoi accedervi tramite Google Cloud, ma l'istanza non è esposta a internet pubblico, il che limita il rischio di traffico indesiderato e potenzialmente dannoso.
6. Esegui il deployment di un bucket Cloud Storage sicuro
Ora crea un bucket Cloud Storage sicuro per i tuoi set di dati. È qui che vengono archiviati i dati di addestramento, i modelli e gli artefatti dell'AI. Applicando configurazioni di sicurezza efficaci a questo bucket, impedisci l'esposizione pubblica accidentale di dati sensibili e proteggi da eliminazioni e manomissioni dannose o accidentali. In questo modo, viene garantita l'integrità e la riservatezza dei tuoi preziosi asset AI.
Crea e configura il bucket
In questo passaggio, crei il bucket Cloud Storage e applichi le impostazioni di sicurezza iniziali. Queste impostazioni applicano la prevenzione dell'accesso pubblico e attivano i controlli degli accessi uniformi a livello di bucket, che sono fondamentali per mantenere il controllo su chi può accedere ai tuoi dati.
- Nella console Google Cloud, vai a Cloud Storage > Bucket. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Bucket" e selezionarlo.
- Fai clic su Crea.
- In Guida introduttiva, imposta Nome su
secure-genai-artifacts-[PROJECT_ID], sostituendo[PROJECT_ID]con l'ID progetto Google Cloud effettivo. - Continua con Scegli dove archiviare i tuoi dati e configura quanto segue:
Proprietà
Valore (digita o seleziona)
Tipo di posizione
Regione
Regione
us-central1 - Continua con Scegli come archiviare i tuoi dati e mantieni le impostazioni predefinite.
- Continua con Scegli come controllare l'accesso agli oggetti e mantieni le impostazioni predefinite:
Proprietà
Valore (digita o seleziona)
Motivo
Impedisci accesso pubblico
Mantieni selezionata l'opzione Applica la prevenzione dell'accesso pubblico.
La prevenzione dell'accesso pubblico sostituisce qualsiasi modifica a IAM che potrebbe rendere inavvertitamente un oggetto esposto a internet.
Controllo degli accessi
Mantieni selezionata l'opzione Uniforme.
Sebbene gli ACL sembrino l'opzione migliore per un controllo granulare, quindi per il privilegio minimo, introducono complessità e imprevedibilità se combinati con altre funzionalità IAM. Valuta i compromessi e i vantaggi dell'accesso uniforme a livello di bucket per impedire l'esposizione involontaria dei dati.
- Continua con Scegli come proteggere i dati degli oggetti e mantieni le impostazioni predefinite:
Proprietà
Valore (digita o seleziona)
Motivo
Criterio di eliminazione temporanea (per il recupero dei dati)
Mantieni selezionata l'opzione Policy di eliminazione temporanea (per il recupero dei dati).
In caso di eliminazioni accidentali o dannose nel bucket, l'eliminazione temporanea ti consente di ripristinare i contenuti entro il periodo di conservazione.
Controllo delle versioni degli oggetti
Seleziona Controllo delle versioni degli oggetti.
Il controllo delle versioni degli oggetti consente il recupero da sovrascritture accidentali o dannose, ad esempio se un malintenzionato sostituisce un file innocuo con uno contenente codice exploit.
Numero massimo di versioni per oggetto
3
Sebbene questo valore sia arbitrario e possa aumentare il costo, deve essere maggiore di 1 per poter eseguire il rollback a una versione precedente. Se un malintenzionato potrebbe tentare più sovrascritture, potrebbe essere necessaria una strategia di backup e controllo delle versioni più solida.
Fai scadere le versioni non correnti dopo
7
7 giorni è il periodo di tempo consigliato per mantenere attive le versioni precedenti, ma questo numero potrebbe essere maggiore per l'archiviazione a lungo termine.
- Fai clic su Crea.
- Se viene visualizzato un popup con il messaggio "L'accesso pubblico verrà vietato", mantieni selezionata la casella predefinita ("Applica la prevenzione dell'accesso pubblico in questo bucket") e fai clic su Conferma.
Abilitare la protezione dei dati e la registrazione
Per garantire l'immutabilità e l'auditabilità dei tuoi dati, devi abilitare il controllo delle versioni degli oggetti e configurare i log di accesso ai dati per il bucket. Il controllo delle versioni degli oggetti consente il recupero da eliminazioni o sovrascritture accidentali, mentre i log di accesso ai dati forniscono un audit trail completo di tutte le attività sul bucket, essenziale per il monitoraggio della sicurezza e la conformità.
- Dalla console Google Cloud, vai a IAM e amministrazione > Log di controllo. Utilizza la barra di ricerca nella parte superiore della console Google Cloud per cercare "Audit Logs" e selezionarlo.
- Utilizza la ricerca dei filtri per trovare e selezionare Google Cloud Storage.
- Nel riquadro visualizzato, seleziona le caselle Lettura dati e Scrittura dati.
- Fai clic su Salva.
7. Dal laboratorio alla realtà
Hai appena completato una serie di passaggi in un ambiente lab temporaneo, ma i principi e le configurazioni che hai applicato sono il progetto per proteggere i progetti di AI reali su Google Cloud. Ecco come puoi applicare ciò che hai imparato al tuo lavoro, passando da un semplice lab a una configurazione pronta per la produzione.
Considera le risorse che hai appena creato (il VPC privato, l'istanza Workbench protetta e il bucket sicuro) come un modello iniziale sicuro per qualsiasi nuovo progetto di AI. Il tuo obiettivo è rendere questa base sicura il percorso predefinito e semplice per te e il tuo team.
La rete sicura: il tuo spazio di lavoro privato
Come utilizzare questa opzione nella configurazione
Ogni volta che avvii un nuovo progetto di AI (ad es. "customer-churn-prediction", "image-classification-model"), replicheresti questa configurazione di rete. Creeresti un VPC dedicato (churn-pred-vpc) o utilizzeresti una rete condivisa pre-approvata. Questo diventa l'ambiente "sandbox" isolato del tuo progetto. Il tuo ambiente di sviluppo, come Vertex AI Workbench che hai configurato, si trova all'interno di questo spazio protetto. Ti connetteresti tramite il proxy sicuro (Apri JupyterLab), senza mai esporlo alla rete internet pubblica.
Connessione alla produzione
In un ambiente di produzione, questo concetto viene ulteriormente ampliato prendendo in considerazione:
- Infrastructure as code (IaC): anziché utilizzare Cloud Console, definisci questa rete utilizzando strumenti come Terraform o Cloud Deployment Manager. In questo modo puoi implementare una base di rete sicura per un nuovo progetto in pochi minuti, assicurandoti che sia ripetibile e verificabile.
- VPC condiviso: nelle organizzazioni più grandi, un team di networking centrale spesso gestisce un VPC condiviso. In qualità di sviluppatore, ti verrà concessa l'autorizzazione per avviare le tue istanze e i tuoi servizi in subnet specifiche all'interno di questa rete sicura gestita centralmente. Il principio è lo stesso: operi comunque in uno spazio privato, ma che fa parte di un'infrastruttura condivisa più grande.
- Controlli di servizio VPC: per la massima sicurezza, devi racchiudere l'intero ambiente in un perimetro dei Controlli di servizio VPC. Si tratta di una funzionalità potente che impedisce l'esfiltrazione dei dati garantendo che servizi come Cloud Storage siano accessibili solo alle risorse autorizzate all'interno del perimetro della rete privata.
Il calcolo rafforzato: il tuo hub sicuro di sviluppo e addestramento
Come utilizzare questa opzione nella configurazione
secure-genai-instance è la tua macchina per lo sviluppo dell'AI quotidiana. Utilizzerai l'interfaccia JupyterLab per:
- Scrivi e testa il codice del modello nei notebook.
- Installa le librerie Python (
pip install ...). - Sperimenta con set di dati di dimensioni ridotte o medie. La sicurezza che hai configurato (nessun IP pubblico, service account con privilegi minimi, nessun accesso root, avvio protetto) viene eseguita in modo trasparente in background. Puoi concentrarti sul tuo lavoro di AI, sapendo che l'istanza è protetta dagli attacchi comuni.
Connessione alla produzione
In genere non esegui l'addestramento su larga scala su una singola istanza di Workbench in produzione. Puoi invece rendere operativo il tuo lavoro nei seguenti modi:
- Dal notebook alla pipeline: prendi il codice dal notebook e lo formalizzi in uno script. Questo script verrà quindi eseguito come job di addestramento personalizzato di Vertex AI o come passaggio di una pipeline di Vertex AI.
- Containerizzazione: impacchetteresti il codice di addestramento e le relative dipendenze in un container Docker e lo memorizzeresti in Artifact Registry. In questo modo, il codice viene eseguito ogni volta in un ambiente coerente e prevedibile.
- Il service account è fondamentale: il service account
vertex-workbench-sache hai creato è fondamentale. In produzione, i job di Vertex AI Training automatizzati vengono eseguiti utilizzando lo stesso service account con privilegi minimi (o uno simile), garantendo che il job automatizzato disponga solo delle autorizzazioni di cui ha assolutamente bisogno.
Archiviazione sicura: il repository centrale degli artefatti
Come utilizzare questa opzione nella configurazione
Il bucket secure-genai-artifacts è l'unica fonte attendibile per i dati del tuo progetto. Non solo per il set di dati iniziale. Lo utilizzeresti per archiviare:
- Dati di addestramento non elaborati e pre-elaborati.
- Checkpoint del modello durante le lunghe esecuzioni di addestramento.
- Gli artefatti del modello finale addestrato (file
.pkl,.pbo.h5). - Risultati e log della valutazione. Le impostazioni di sicurezza che hai applicato (prevenzione dell'accesso pubblico, accesso uniforme a livello di bucket, controllo delle versioni e audit logging) ti consentono di utilizzare questo bucket come archivio centrale, protetto da perdite ed eliminazioni accidentali.
Connessione alla produzione
Per gestire e governare i tuoi principi in un ambiente di produzione, devi anche considerare:
- Policy del ciclo di vita: per gestire i costi, configurerai le policy del ciclo di vita in modo da spostare automaticamente le versioni precedenti dei modelli o dei set di dati in classi di archiviazione più economiche (come Nearline o Coldline) o eliminarle dopo un determinato periodo.
- Autorizzazioni tra progetti: in una pipeline di produzione, un team di data engineering potrebbe popolare questo bucket da un progetto Google Cloud diverso. L'accesso uniforme a livello di bucket che hai attivato semplifica e protegge la gestione di queste autorizzazioni IAM tra progetti, senza ACL complessi (e quindi facili da configurare in modo errato).
Il quadro generale: rendere la sicurezza l'impostazione predefinita
Adottando questo modello, la tua postura di sicurezza non sarà più un aspetto secondario, ma la base. Non sei più solo uno sviluppatore, ma un campione della sicurezza per il tuo team. Quando un nuovo membro del team entra a far parte dell'organizzazione, non gli viene assegnata una macchina insicura e rivolta al pubblico. Fornisci loro l'accesso a un ambiente sicuro e preconfigurato in cui il modo di lavorare sicuro è anche il più semplice. Questo approccio riduce direttamente il rischio aziendale prevenendo le cause comuni di violazioni dei dati e compromissioni del sistema, consentendo al tuo team di innovare e creare potenti applicazioni di AI con sicurezza.
8. Complimenti!
Complimenti! Hai creato e controllato un'infrastruttura sicura e multilivello per il tuo ambiente di sviluppo dell'AI. Hai creato un perimetro di rete sicuro con una postura del firewall "default deny", hai eseguito il deployment di un'istanza di calcolo protetta, hai protetto un bucket di dati e hai utilizzato i log per verificare che i controlli funzionino esattamente come previsto.
Riepilogo
In questo lab hai completato le seguenti attività:
- È stato eseguito il provisioning di un VPC sicuro con networking privato per mitigare il traffico non richiesto.
- È stata eseguita il deployment di un'istanza di Vertex AI Workbench protetta da bootkit e dall'escalation dei privilegi.
- È stato protetto un bucket Cloud Storage per ridurre il trasferimento di dati non monitorato e l'esposizione pubblica accidentale.
- Implementato service account con privilegi minimi per limitare la potenziale "portata dell'attacco".
- È stato abilitato il controllo delle versioni degli oggetti e i log di accesso ai dati per la protezione dei dati e una traccia di controllo immutabile.