Proteggere Compute Engine utilizzando un perimetro dei Controlli di servizio VPC


Questo tutorial mostra come proteggere Compute Engine utilizzando un perimetro di servizio e risolvere i problemi relativi a una violazione di ingresso per consentire l'accesso autorizzato a Compute Engine.

I Controlli di servizio VPC ti consentono di definire un perimetro di servizio attorno alle risorse dei servizi gestiti da Google per controllare le comunicazioni con quei servizi. Puoi stabilire un perimetro Zero Trust attorno alle tue risorse sensibili, limitando l'accesso ad indirizzi IP, utenti e dispositivi autorizzati. Questa funzionalità consente di definire criteri di sicurezza che impediscono l'accesso ai servizi gestiti da Google al di fuori di un perimetro attendibile, bloccano l'accesso ai dati da posizioni non attendibili e mitigano i rischi di esfiltrazione dei dati.

Questo tutorial è rivolto agli Google Cloud amministratori dell'organizzazione che vogliono approfondire i concetti di base dei Controlli di servizio VPC.

Obiettivi

  • Scopri le nozioni di base dei Controlli di servizio VPC.
  • Crea un perimetro di servizio.
  • Proteggi un progetto utilizzando i Controlli di servizio VPC.
  • Risolvi una violazione di ingresso di Controlli di servizio VPC.

Costi

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi Google Cloud utenti potrebbero avere diritto a una prova gratuita.

Al termine delle attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la sezione Pulizia.

Prima di iniziare

Crea un perimetro di servizio

Crea un perimetro di servizio che protegga l'API Compute Engine nel progetto My-Project-2:

  1. Nella console Google Cloud, vai alla pagina Controlli di servizio VPC.

    Vai a Controlli di servizio VPC

    Assicurati di trovarti nell'ambito dell'organizzazione.

  2. Fai clic su Gestisci criteri.

  3. Crea un nuovo criterio di accesso con ambito limitato alla cartella Exercise.

  4. Crea un nuovo perimetro con i seguenti dettagli:

    • Titolo: MyFirstPerimeter

    • Tipo di perimetro: Regolare

    • Modalità di applicazione forzata: Applicato

    • Risorse da proteggere: progetto My-Project-2

    • Servizi con limitazioni: API Compute Engine

Verifica il perimetro

In questa sezione puoi inviare richieste di accesso alle risorse dei progetti per verificare se il perimetro protegge le risorse previste.

  1. Accedi al progetto My-Project-1 e verifica di poter accedere a Compute Engine visitando la pagina Istanze VM.

    Vai a Istanze VM

    Dovresti riuscire ad accedere perché My-Project-1 non è protetto dal perimetro che hai creato in precedenza.

  2. Accedi al progetto My-Project-2 e verifica di poter accedere a Compute Engine visitando la pagina Istanze VM.

    Dovresti vedere che i Controlli di servizio VPC rifiutano la tua richiesta di accesso a Compute Engine perché il perimetro MyFirstPerimeter protegge My-Project-2 e l'API Compute Engine.

Risolvere i problemi relativi a una violazione

I log di controllo di VPC Service Controls includono i dettagli delle richieste alle risorse protette e il motivo per cui VPC Service Controls ha rifiutato la richiesta. Queste informazioni sono necessarie per identificare e risolvere la violazione nel progetto My-Project-2.

Visualizza audit log

  1. Individua l'ID univoco della violazione dei Controlli di servizio VPC negli audit log del progetto My-Project-2:

    1. Nella console Google Cloud, vai alla pagina Esplora log:

      Vai a Esplora log

      Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

    2. Seleziona il progetto My-Project-2.

    3. Per visualizzare tutti gli audit log, inserisci la seguente query nel campo query-editor:

      resource.type="audited_resource"
      protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
      
    4. Fai clic su Esegui query.

    Questa query mostra tutti gli audit log di VPC Service Controls. 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 ulteriori informazioni, consulta Visualizzare i log.

  2. Nel riquadro Risultati della query, fai clic su Controlli di servizio VPC accanto al rifiuto di cui vuoi risolvere il problema e poi su Risolvi il rifiuto.

    Viene aperta la pagina dello strumento per la risoluzione dei problemi di Controlli di servizio VPC. Questa pagina mostra il motivo della violazione e altre informazioni, ad esempio se si tratta di una 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 corrisponde a nessuna regola di ingresso o a nessun livello di accesso associati al perimetro. Se l'indirizzo IP del chiamante non è presente o viene visualizzato come indirizzo IP interno nel log, questa violazione può essere dovuta a un Google Cloud servizio che 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 al progetto all'interno del perimetro di accedere all'indirizzo IP del tuo sistema.

  • Crea una regola di ingresso che consenta l'accesso a un client API dall'esterno del perimetro alle risorse all'interno del perimetro.

La sezione seguente illustra come risolvere il problema di rifiuto creando un livello di accesso.

Crea un livello di accesso

  1. Nella console Google Cloud, vai alla pagina Gestore contesto accesso nell'ambito della cartella Exercise.

    Vai a Gestore contesto accesso

  2. Crea un livello di accesso con i seguenti dettagli:

    • Per Crea condizioni in, seleziona Modalità di base.

    • Per Se la condizione è soddisfatta, restituisci, seleziona True.

    • Seleziona l'attributo Subnet IP, specifica l'indirizzo IP pubblico del sistema.

    • Seleziona l'attributo Località geografiche, specifica la tua posizione geografica.

    Questo livello di accesso consente l'accesso solo quando l'indirizzo IP e la posizione geografica sono corrispondenti.

  3. Vai alla pagina Controlli di servizio VPC nell'ambito dell'organizzazione.

    Vai a Controlli di servizio VPC

  4. Seleziona il criterio di accesso creato in precedenza in questo tutorial.

  5. Aggiungi il livello di accesso che hai creato nell'ambito della cartella Exercise al perimetro MyFirstPerimeter.

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.

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Crea un'istanza VM.

Dopo circa un minuto, Compute Engine crea un'istanza VM e questa azione verifica che tu abbia 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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Elimina singole risorse

Elimina le istanze VM

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Eliminare le risorse dei Controlli di servizio VPC

  1. Elimina il perimetro di servizio.

  2. Elimina il livello di accesso che hai creato nell'ambito della cartella Exercise.

Passaggi successivi