1. Introduzione
I Controlli di servizio VPC (VPC-SC) sono un controllo di sicurezza a livello di organizzazione in Google Cloud che consente ai clienti aziendali di mitigare i rischi di esfiltrazione di dati. I Controlli di servizio VPC consentono l'accesso in modalità Zero Trust ai servizi multi-tenant consentendo ai client di limitare l'accesso agli IP autorizzati, al contesto client e ai parametri dei dispositivi durante la connessione ai servizi multi-tenant da internet e da altri servizi, al fine di ridurre le perdite intenzionali e non intenzionali. Puoi utilizzare i Controlli di servizio VPC per creare perimetri che proteggono le risorse e i dati dei servizi che specifichi in modo esplicito.
Gli obiettivi di questo tutorial sono:
- Comprendere le nozioni di base dei Controlli di servizio VPC
- Crea un perimetro di servizio VPC
- Proteggere un progetto con i Controlli di servizio VPC
- Risolvere i problemi di una violazione in entrata dei Controlli di servizio VPC
2. Configurazione e requisiti
Per questo tutorial, sono necessari i seguenti prerequisiti:
- Un'organizzazione Google Cloud.
- Una cartella nell'organizzazione.
- Due progetti GCP all'interno della stessa organizzazione inseriti nella cartella.
- Autorizzazioni richieste a livello di organizzazione.
- Account di fatturazione per entrambi i progetti.

Configurazione delle risorse
- Nella console Google Cloud, crea una cartella nell'organizzazione e due nuovi progetti (puoi riutilizzare quelli esistenti).
Se non hai già un account Google Workspace/Cloud Identity, devi ottenerne uno, in quanto per questo tutorial è necessaria un'organizzazione.
- Verifica di disporre delle autorizzazioni corrette per questo tutorial a livello di organizzazione.
- Ruoli IAM per le cartelle
- Autorizzazioni e ruoli per i progetti
- Autorizzazioni e ruoli necessari per configurare i Controlli di servizio VPC
- Autorizzazioni e ruoli necessari per gestire Compute Engine
- Assicurati che entrambi i progetti siano disponibili nella cartella, poiché dobbiamo creare una policy con ambito a livello di cartella. Scopri di più su come spostare un progetto in una cartella.

Costo
Per utilizzare le risorse/API Cloud, devi abilitare la fatturazione in Cloud Console. Completare questo codelab non costa molto, se non nulla. Per arrestare le risorse ed evitare addebiti oltre a quelli previsti in questo tutorial, puoi eliminare le risorse che hai creato o il progetto. I nuovi utenti di Google Cloud possono usufruire del programma di prova senza costi di 300 $.
L'unica risorsa che genererà un costo è l'istanza VM. Un costo stimato è disponibile nel Calcolatore prezzi.
3. Crea un perimetro
In questo lab eseguiremo i seguenti passaggi:
- Nella console Google, seleziona la tua organizzazione e accedi ai controlli di servizio VPC. Assicurati di trovarti a livello di organizzazione.

- Fai clic su "Gestisci policy" per creare una nuova policy di accesso con ambito limitato alla cartella "Codelab".

- Crea un nuovo perimetro in modalità di applicazione forzata. Per questo tutorial, chiamiamolo "SuperProtection".
- Quando crei il perimetro, seleziona il progetto da applicare come ProjectZ.
- Seleziona "Normale" come tipo di perimetro.
- Nella finestra di dialogo Specifica i servizi da limitare, seleziona il servizio da limitare come "Compute Engine".
La configurazione del perimetro dovrebbe essere simile alla seguente:

4. Verifica che il perimetro sia stato applicato
- Accedi a ProjectX e verifica se riesci ad accedere all'API Compute Engine visitando la home page delle istanze VM. Dovresti essere in grado di farlo perché projectX non è protetto dal perimetro VPC SC creato.
- Accedi a ProjectZ e verifica se riesci ad accedere a Compute Engine. Puoi notare che la richiesta è stata vietata dai Controlli di servizio VPC perché il perimetro di servizio SuperProtection protegge ProjectZ e l'API Compute Engine.

5. Risoluzione dei problemi relativi al rifiuto
Per prima cosa, dobbiamo identificare il problema esatto per determinare come risolverlo.
- I log dei Controlli di servizio VPC includono dettagli sulle richieste alle risorse protette e il motivo per cui i Controlli di servizio VPC hanno rifiutato la richiesta. Troviamo l'ID univoco dei Controlli di servizio VPC negli audit log di ProjectZ utilizzando la seguente query in Esplora log:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Verranno visualizzati tutti gli audit log dei Controlli di servizio VPC. Cercheremo l'ultimo log degli errori.
- Fai clic nell'intestazione Controlli di servizio VPC e seleziona "Risolvi i problemi di rifiuto", che aprirà lo strumento per la risoluzione dei problemi relativi a Controlli di servizio VPC.
Questa API ci mostrerà in un'interfaccia utente intuitiva il motivo della violazione e se si trattava di una violazione in entrata o in uscita, oltre ad altre informazioni utili.
Per questo esercizio cercheremo quanto segue:
"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
{
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
}
],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"
Abbiamo due opzioni per correggere questo rifiuto nel progetto Z.
- Creazione di un livello di accesso per consentire l'accesso al progetto all'interno del perimetro concedendo l'accesso al mio IP di sistema.
- Creazione di una regola in entrata per consentire l'accesso da parte di un client API dall'esterno del perimetro di servizio a risorse all'interno di un perimetro di servizio.
In questo tutorial risolveremo il problema creando un livello di accesso.
- Vai a Gestore contesto accesso nell'ambito della cartella (Codelab) e crea un nuovo livello di accesso.
- Utilizza la "Modalità di base" e consentiremo l'accesso quando la subnet IP e la posizione geografica corrispondono.

- Vai a Controlli di servizio VPC nell'ambito dell'organizzazione. Seleziona la policy di accesso per questo codelab e modifica il perimetro che abbiamo creato in precedenza.
- Aggiungi il livello di accesso creato nell'ambito della cartella e salva.

6. Risultati del test.
Conferma di avere accesso a Compute Engine e di poter creare un'istanza VM. Ora che abbiamo creato il livello di accesso, proviamo ad accedere a Compute Engine in ProjectZ e a creare un'istanza VM.
- Vai a Compute Engine e fai clic su Crea istanza.

- Lascia invariati i valori predefiniti e prova a creare un'istanza VM a basso costo.
Dopo circa un minuto, dovresti vedere l'istanza VM creata e puoi verificare di avere accesso completo a Compute Engine protetto all'interno del perimetro.

7. Esegui la pulizia
Sebbene non siano previsti addebiti separati per l'utilizzo dei controlli di servizio VPC quando il servizio non è in uso, è una best practice pulire la configurazione utilizzata in questo laboratorio. Puoi anche eliminare l'istanza VM e/o i progetti Cloud per evitare addebiti. L'eliminazione del progetto Cloud interrompe la fatturazione per tutte le risorse utilizzate al suo interno.
- Per eliminare l'istanza VM, seleziona la casella di controllo a sinistra del nome dell'istanza VM, quindi fai clic su Elimina.

- Per eliminare il perimetro, completa i seguenti passaggi:
- Nella console Google Cloud, fai clic su Sicurezza, quindi su Controlli di servizio VPC nell'ambito dell'organizzazione.
- Nella pagina Controlli di servizio VPC, nella riga della tabella corrispondente al perimetro che vuoi eliminare, fai clic su "Icona Elimina".
- Per eliminare il livello di accesso, completa i seguenti passaggi:
- Nella console Google Cloud, apri la pagina Gestore contesto accesso nell'ambito della cartella.
- Nella griglia, nella riga corrispondente al livello di accesso che vuoi eliminare, fai clic su "Icona Elimina" e poi su Elimina.
- Per arrestare i progetti, completa i seguenti passaggi:
- Nella console Google Cloud, vai alla pagina Impostazioni IAM e amministrazione del progetto che vuoi eliminare.
- Nella pagina delle impostazioni IAM e amministrazione, fai clic su Arresto.
- Inserisci l'ID progetto e fai clic su Chiudi comunque.
8. Complimenti!
In questo codelab hai creato un perimetro dei Controlli di servizio VPC, lo hai applicato e ne hai risolto i problemi.
Scopri di più
- Consulta la documentazione dei Controlli di servizio VPC.
- Consulta la documentazione di Gestore contesto accesso.
- Consulta la documentazione dello strumento per la risoluzione dei problemi relativi a VPC-SC.
Licenza
Questo lavoro è concesso in licenza ai sensi di una licenza Creative Commons Attribution 2.0 Generic.