Questo tutorial mostra come proteggere Compute Engine utilizzando un perimetro di servizio e come risolvere i problemi di una violazione in entrata per consentire l'accesso autorizzato a Compute Engine.
I Controlli di servizio VPC ti consentono di definire un perimetro di servizio intorno alle risorse dei servizi gestiti da Google per controllare le comunicazioni con quei servizi. Puoi stabilire un perimetro Zero Trust intorno alle tue risorse sensibili, limitando l'accesso a indirizzi IP, utenti e dispositivi autorizzati. Questa funzionalità ti consente di definire policy di sicurezza che impediscono l'accesso ai servizi gestiti da Google all'esterno di un perimetro attendibile, bloccano l'accesso ai dati da località non attendibili e mitigano i rischi di esfiltrazione di dati.
Questo tutorial è rivolto agli amministratori dell'organizzazione Google Cloud che vogliono apprendere i concetti di base dei Controlli di servizio VPC.
Obiettivi
- Comprendere le nozioni di base dei Controlli di servizio VPC.
- Creare un perimetro di servizio.
- Proteggere un progetto utilizzando i Controlli di servizio VPC.
- Risolvere i problemi di una violazione in entrata dei Controlli di servizio VPC.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Esegui la pulizia.
Prima di iniziare
Devi disporre di una risorsa organizzazione di Google Cloud . Se non hai già un account Google Workspace o Cloud Identity, devi ottenerne uno; questo crea automaticamente una risorsa organizzazione.
Crea una cartella,
Exercise, a livello di organizzazione.Crea due progetti,
My-Project-1eMy-Project-2, nella cartellaExerciseall'interno della stessa organizzazione.Assicurati di disporre delle autorizzazioni e dei ruoli seguenti a livello di organizzazione:
Autorizzazioni e ruoli necessari per configurare i Controlli di servizio VPC.
Autorizzazioni e ruoli necessari per gestire Compute Engine.
Crea un perimetro di servizio
Crea un perimetro di servizio che protegga l'API Compute Engine nel progetto My-Project-2:
Nella console Google Cloud , vai alla pagina Controlli di servizio VPC.
Vai a Controlli di servizio VPC
Assicurati di essere nell'ambito dell'organizzazione.
Fai clic su Gestisci policy.
Crea una nuova policy di accesso con ambito limitato alla cartella
Exercise.Crea un nuovo perimetro con i seguenti dettagli:
Titolo:
MyFirstPerimeterTipo di perimetro: Normale
Modalità di applicazione forzata: Applicazione forzata
Risorse da proteggere: progetto
My-Project-2Servizi limitati: API Compute Engine
Verifica il perimetro
In questa sezione puoi creare richieste di accesso alle risorse nei progetti per verificare se il perimetro protegge le risorse previste.
Accedi al progetto
My-Project-1e verifica di poter accedere a Compute Engine visitando la pagina Istanze VM.Dovresti essere in grado di accedere perché
My-Project-1non è protetto dal perimetro che hai creato in precedenza.Accedi al progetto
My-Project-2e verifica di poter accedere a Compute Engine visitando la pagina Istanze VM.Dovresti notare che i Controlli di servizio VPC rifiutano la tua richiesta di accesso a Compute Engine perché il perimetro
MyFirstPerimeterproteggeMy-Project-2e l'API Compute Engine.
Risolvi i problemi di una violazione
Gli audit 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. Queste informazioni sono necessarie per identificare e risolvere i problemi relativi alla violazione nel progetto My-Project-2.
Visualizza gli audit log
Trova l'ID univoco della violazione dei Controlli di servizio VPC negli audit log del progetto
My-Project-2:-
Nella console Google Cloud , vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona il progetto
My-Project-2.Per visualizzare tutti gli audit log, inserisci la seguente query nel campo dell'editor di query:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Fai clic su Esegui query.
Questa query mostra tutti gli audit log dei Controlli di servizio VPC. Per trovare i dettagli della violazione per l'accesso all'API Compute Engine nel progetto
My-Project-2, controlla l'ultimo log degli errori.Per saperne di più, consulta Visualizza i log.
-
Nel riquadro Risultati delle query, fai clic su Controlli di servizio VPC accanto al rifiuto di cui vuoi risolvere i problemi, quindi fai clic su Risolvi i problemi di rifiuto.
Viene visualizzata la pagina Strumento di analisi delle violazioni dei Controlli di servizio VPC. Questa pagina mostra il motivo della violazione e altre informazioni, ad esempio se la violazione è in entrata o in uscita.
In questo tutorial, cerca le seguenti informazioni:
"principalEmail": "USER@DOMAIN" "callerIp": "PUBLIC_IP_ADDRESS" "serviceName": "compute.googleapis.com" "servicePerimeterName": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter "ingressViolations": [ { "targetResource": "projects/PROJECT_NUMBER", "servicePerimeter": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter" } ], "violationReason": "NO_MATCHING_ACCESS_LEVEL", "resourceNames": "PROJECT_ID"Il motivo della violazione è
"NO_MATCHING_ACCESS_LEVEL". La violazione"NO_MATCHING_ACCESS_LEVEL"si verifica quando l'indirizzo IP, il tipo di dispositivo o l'identità dell'utente non corrispondono a regole in entrata o livelli di accesso associati al perimetro. Se l'indirizzo IP chiamante non è presente o viene visualizzato come indirizzo IP interno nel log, questa violazione può essere dovuta a un servizio Google Cloud non supportato dai Controlli di servizio VPC.
Per correggere questo rifiuto nel progetto My-Project-2, hai due opzioni:
Crea un livello di accesso che consenta all'indirizzo IP del sistema di accedere al progetto all'interno del perimetro.
Crea una regola in entrata che consenta a un client API all'esterno del perimetro di accedere alle risorse all'interno del perimetro.
La sezione seguente illustra come risolvere i problemi di questo rifiuto creando un livello di accesso.
Crea un livello di accesso
Nella console Google Cloud , vai alla pagina Gestore contesto accesso nell'ambito della cartella
Exercise.Crea un livello di accesso con i seguenti dettagli:
Per Crea condizioni in, seleziona Modalità di base.
Per Se la condizione è soddisfatta, restituisci, seleziona Vero.
Seleziona l'attributo Subnet IP e specifica l'indirizzo IP pubblico del tuo sistema.
Seleziona l'attributo Località geografiche e specifica la tua località geografica.
Questo livello di accesso consente l'accesso solo quando l'indirizzo IP e la località geografica corrispondono.
Vai alla pagina Controlli di servizio VPC nell'ambito dell'organizzazione.
Seleziona la policy di accesso che hai creato in precedenza in questo tutorial.
Aggiungi il livello di accesso che hai creato nell'ambito della cartella
Exerciseal perimetroMyFirstPerimeter.
Testa l'accesso
Dopo aver aggiunto il livello di accesso, verifica di poter accedere a Compute Engine nel progetto My-Project-2 e creare un'istanza VM.
Nella console Google Cloud , vai alla pagina Istanze VM.
Dopo circa un minuto, Compute Engine crea un'istanza VM e questa azione conferma che hai accesso completo a Compute Engine protetto all'interno del perimetro.
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Elimina singole risorse
Elimina istanze VM
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Elimina risorse dei Controlli di servizio VPC
Elimina il livello di accesso che hai creato nell'ambito della cartella
Exercise.